{"id":17261089,"url":"https://github.com/djpowers/musicgraph","last_synced_at":"2025-04-14T06:44:19.651Z","repository":{"id":27705047,"uuid":"31191920","full_name":"djpowers/musicgraph","owner":"djpowers","description":"A Ruby gem wrapper for the MusicGraph API","archived":false,"fork":false,"pushed_at":"2015-06-07T21:15:09.000Z","size":275,"stargazers_count":5,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-04-26T03:43:58.186Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://rubygems.org/gems/musicgraph","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/djpowers.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-02-23T03:01:21.000Z","updated_at":"2017-06-19T21:29:05.000Z","dependencies_parsed_at":"2022-08-20T23:10:52.951Z","dependency_job_id":null,"html_url":"https://github.com/djpowers/musicgraph","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djpowers%2Fmusicgraph","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djpowers%2Fmusicgraph/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djpowers%2Fmusicgraph/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djpowers%2Fmusicgraph/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/djpowers","download_url":"https://codeload.github.com/djpowers/musicgraph/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248837264,"owners_count":21169373,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-15T07:50:01.918Z","updated_at":"2025-04-14T06:44:19.602Z","avatar_url":"https://github.com/djpowers.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MusicGraph\n\nA Ruby gem to access the [MusicGraph API](https://developer.musicgraph.com/).\n\n## Installation\n\nAdd this line to your application's Gemfile:\n\n```ruby\ngem 'musicgraph'\n```\n\nAnd then execute:\n\n    $ bundle\n\nOr install it yourself as:\n\n    $ gem install musicgraph\n\n## Usage\n\n```ruby\n\nMusicGraph.api_key = \"[api key]\"\n\nartist = MusicGraph::Artist.search('kaiser chiefs').first\nartist.name # =\u003e \"Kaiser Chiefs\"\nartist.main_genre # =\u003e \"rock\"\nartist.decade # =\u003e \"2000s / 2010s\"\n\nartists = MusicGraph::Artist.search({similar_to: \"Pink Floyd\"})\nartists.first.name # =\u003e \"David Gilmour\"\nartists.last.name # =\u003e \"Eric Clapton\"\n\nartists = MusicGraph::Artist.search({decade: \"1990s\"})\nartists.first.name # =\u003e \"Lil Wayne\"\n\nartists = MusicGraph::Artist.search({genre: \"Soul/R\u0026B\"})\nartists.last.name # =\u003e \"Amy Winehouse\"\n\nartists = MusicGraph::Artist.search({gender: \"female\"})\nartists.last.name # =\u003e \"Shakira\"\n\nartists = MusicGraph::Artist.search({country: \"wales\"})\nartists.last.name # =\u003e \"Tom Jones\"\n\nartists = MusicGraph::Artist.search({limit: 5})\nartists.length # =\u003e 5\n\nartist = MusicGraph::Artist.suggest(\"king\").last\nartist.name # =\u003e \"King James\"\n\nartist = MusicGraph::Artist.find(\"e4de0d41-a6b5-11e0-b446-00251188dd67\")\nartist.name # =\u003e \"Beck\"\n\nartist.edges # =\u003e [\"albums\", \"similar\", \"tracks\"]\n\nartist.metadata # =\u003e returns all available metadata\n\nartist.similar.first # =\u003e \"Bob Forrest\"\n\nartist.albums # =\u003e returns array of albums belonging to artist\n\nartist.tracks # =\u003e returns array of tracks belonging to artist\n\nartist = MusicGraph::Artist.find(\"e4de0d41-a6b5-11e0-b446-00251188dd67\", [\"id\", \"name\"])\nartist.name # =\u003e \"Beck\"\nartist.gender # =\u003e nil\n\nalbums = MusicGraph::Album.search(\"either/or\")\nalbums.first.title # =\u003e \"Either/Or\"\n\nalbums = MusicGraph::Album.search({artist_name: \"led zeppelin\"})\nalbums.first.title # =\u003e \"C'mon Everybody\"\n\nalbums = MusicGraph::Album.search({similar_to: \"grace\"})\nalbums.first.title # =\u003e \"Tidal\"\n\nalbums = MusicGraph::Album.search({country: \"iceland\"})\nalbums.first.title # =\u003e \"My Head Is an Animal\"\n\nalbums = MusicGraph::Album.search({decade: \"1960s\"})\nalbums.first.title # =\u003e \"Soul Shakedown\"\n\nalbums = MusicGraph::Album.search({genre: \"rock\"})\nalbums.first.title # =\u003e \"You Are the Night\"\n\nalbums = MusicGraph::Album.search({limit: 5}).last\nalbums.length # =\u003e 5\n\nalbums = MusicGraph::Album.suggest(\"emotion\").\nalbums.first.title # =\u003e \"Emotions\"\n\nalbum = MusicGraph::Album.find(\"7cfb88ac-1d50-f210-42d6-57a718fa141c\")\nalbums.first.performer_name # =\u003e \"The Rolling Stones\"\n\nalbum.edges # =\u003e [\"artists\", \"tracks\"]\n\nalbum.metadata # =\u003e returns all available metadata\n\nalbum.artists.first.name # =\u003e \"The Rolling Stones\"\n```\n\n## Testing\n\nTo configure the gem for testing, add the following to `.env`: `MUSICGRAPH_API_KEY=xyz` (where \"xyz\" is your MusicGraph API key)\n\n## Contributing\n\n1. Fork it ( https://github.com/[djpowers]/musicgraph/fork )\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create a new Pull Request\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdjpowers%2Fmusicgraph","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdjpowers%2Fmusicgraph","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdjpowers%2Fmusicgraph/lists"}