{"id":16572267,"url":"https://github.com/eddelbuettel/spotifytop50us","last_synced_at":"2025-03-21T12:31:06.329Z","repository":{"id":211809969,"uuid":"729860366","full_name":"eddelbuettel/spotifytop50us","owner":"eddelbuettel","description":"Visualize Most Popular Songs from the Top50 ","archived":false,"fork":false,"pushed_at":"2024-10-29T10:15:39.000Z","size":160009,"stargazers_count":11,"open_issues_count":0,"forks_count":5,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-10-29T12:17:45.193Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eddelbuettel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-12-10T15:26:37.000Z","updated_at":"2024-10-29T10:15:43.000Z","dependencies_parsed_at":"2024-01-14T11:50:15.763Z","dependency_job_id":"a080bc81-6d88-4332-af7f-2e98df1ebb79","html_url":"https://github.com/eddelbuettel/spotifytop50us","commit_stats":null,"previous_names":["eddelbuettel/spotifytop50us"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eddelbuettel%2Fspotifytop50us","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eddelbuettel%2Fspotifytop50us/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eddelbuettel%2Fspotifytop50us/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eddelbuettel%2Fspotifytop50us/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eddelbuettel","download_url":"https://codeload.github.com/eddelbuettel/spotifytop50us/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244799275,"owners_count":20512219,"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-11T21:26:55.897Z","updated_at":"2025-03-21T12:31:06.322Z","avatar_url":"https://github.com/eddelbuettel.png","language":"R","funding_links":[],"categories":[],"sub_categories":[],"readme":"## spotifytop50us -- Show Recent Top Hits in the US\n\n**Note:** As of November 27, 2024, the 'global top 50' API endpoint is no\nlonger provided by Spotify to this worked example is no longer operational\nwhich is rather sad. So the repository no longer updates each night.\n\n\nThis repository illustrates how to _automate_ a data science or statistics task via GitHub Actions.\n\n![](https://eddelbuettel.github.io/spotifytop50us/graphs/top50us.png)\n\nWe also provide a 'movie' collating the one hundred most recent images as an aninmated gif:\n\n![](https://eddelbuettel.github.io/spotifytop50us/graphs/movie_last_n_days.gif)\n\n### Motivation\n\nA [toot by Brian Keegan](https://mastodon.social/@bkeegan@hci.social/111529520117166799) described the basic idea, [his repo](https://github.com/brianckeegan/SpotifyUSTop50/) contains a basic implementation (in Python, but without chart generation when I checked). \nAs this provides a nice example for use in, for example, my [STAT 447](https://stat447.com) class I decided to build on it.\n\n### Thanks\n\nThanks to\n- [Brian Keegan](https://github.com/brianckeegan/SpotifyUSTop50/) for the [initial toot](https://mastodon.social/@bkeegan@hci.social/111529520117166799), \n- [Troy Hernandez](https://troyhernandez.com/) for [tinyspotifyr](https://github.com/TroyHernandez/tinyspotifyr) (also a [CRAN package](https://cran.r-project.org/package=tinyspotifyr)) \n- the authors of [spotifyr](http://www.rcharlie.com/spotifyr) from which it was derived), \n- [Bob Rudis](https://rud.is/) for [hrbrthemes](https://github.com/hrbrmstr/hrbrthemes) from which I derived my [tinythemes](https://github.com/eddelbuettel/tinythemes) used here\n- and also to Spotify for providing an [API](https://developer.spotify.com/documentation/web-api).\n\n### Setup\n\nGetting started with a RESTful API such the [Spotify Web\nAPI](https://developer.spotify.com/documentation/web-api) can be tricky.\nPlease consult one the existing CRAN packages\n(i.e. [tinyspotifyr](https://cran.r-project.org/package=tinyspotifyr) or\n[spotifyr](https://cran.r-project.org/package=spotifyr)) for details.  You\nneed to register an 'app' on their site in order to be authorized and get an\naccess token.  From R this works via a pair of environment variables along\nwith a (one-time) browser-based callback to align with your normal login to\nbless these credentials.\n\n### Author\n\nThis repository and its code have been put together by Dirk Eddelbuettel.\n\n### License\n\nThe code in this repository is licensed under the GNU GPL, Version 2 or later.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feddelbuettel%2Fspotifytop50us","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feddelbuettel%2Fspotifytop50us","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feddelbuettel%2Fspotifytop50us/lists"}