Coder Social home page Coder Social logo

go-lastfm's Introduction

Welcome to go-lastfm ๐Ÿ‘‹ *** Work In Progress ***

GitHub code size in bytes GitHub go.mod Go version GitHub closed pull requests GitHub pull requests GitHub issues GitHub contributors License: BSD Twitter: tsiry_sndr

go-lastfm is a Go client library for accessing the Last.fm API

๐Ÿšš Install

go get github.com/tsirynsdr/go-lastfm

๐Ÿš€ Usage

Import the package into your project.

import "github.com/tsirynsdr/go-lastfm"

Construct a new Last.fm client, then use the various services on the client to access different parts of the Last.fm API. For example:

client := lastfm.NewClient("<YOUR API KEY>")
res, _ := client.Artist.GetInfo("Travis Scott")
info, _ := json.Marshal(res)
fmt.Println(string(info))

โœจ Coverage

Currently the following services are supported:

  • Tag an album using a list of user supplied tag
  • Get the metadata and tracklist for an album on Last.fm using the album name or a musicbrainz id
  • Get the tags applied by an individual user to an album on Last.fm
  • Get the top tags for an album on Last.fm, ordered by popularity
  • Remove a user's tag from an album
  • Search for an album by name. Returns album matches sorted by relevance
  • Tag an artist with one or more user supplied tags
  • Use the last.fm corrections data to check whether the supplied artist has a correction to a canonical artist
  • Get the metadata for an artist. Includes biography, truncated at 300 characters
  • Get all the artists similar to this artist
  • Get the tags applied by an individual user to an artist on Last.fm
  • Get the top albums for an artist on Last.fm, ordered by popularity
  • Get the top tags for an artist on Last.fm, ordered by popularity
  • Get the top tracks by an artist on Last.fm, ordered by popularity
  • Remove a user's tag from an artist
  • Search for an artist by name. Returns artist matches sorted by relevance
  • Get the top artists chart
  • Get the top tracks chart
  • Get the most popular artists on Last.fm by country
  • Get the most popular tracks on Last.fm last week by country
  • Get a paginated list of all the artists in a user's library, with play counts and tag counts
  • Get the metadata for a tag
  • Search for tags similar to this one. Returns tags ranked by similarity, based on listening data
  • Get the top albums tagged by this tag, ordered by tag count
  • Get the top artists tagged by this tag, ordered by tag count
  • Fetches the top global tags on Last.fm, sorted by popularity (number of times used)
  • Get the top tracks tagged by this tag, ordered by tag count
  • Get a list of available charts for this tag, expressed as date ranges which can be sent to the chart services
  • Tag an album using a list of user supplied tags
  • Use the last.fm corrections data to check whether the supplied track has a correction to a canonical track
  • Get the metadata for a track on Last.fm using the artist/track name or a musicbrainz id
  • Get the similar tracks for this track on Last.fm, based on listening data
  • Get the tags applied by an individual user to a track on Last.fm
  • Get the top tags for this track on Last.fm, ordered by tag count
  • Love a track for a user profile
  • Remove a user's tag from a track
  • Track.scrobble
  • Track.search
  • Track.unlove
  • Track.updateNowPlaying
  • Get a list of the user's friends on Last.fm
  • Get information about a user profile
  • Get the last 50 tracks loved by a user
  • Get the user's personal tags
  • Get a list of the recent tracks listened to by this user
  • Get the top albums listened to by a user
  • Get the top artists listened to by a user
  • Get the top tags used by this user
  • Get the top tracks listened to by a user
  • Get an album chart for a user profile, for a given date range
  • Get an artist chart for a user profile, for a given date range
  • Get a list of available charts for this user, expressed as date ranges which can be sent to the chart services
  • Get a track chart for a user profile, for a given date range

Author

๐Ÿ‘ค Tsiry Sandratraina

Show your support

Give a โญ๏ธ if this project helped you!

go-lastfm's People

Contributors

tsirysndr avatar

Stargazers

 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.