{"id":18746070,"url":"https://github.com/fscm/lastfm2itunes","last_synced_at":"2025-08-10T22:49:40.619Z","repository":{"id":202050280,"uuid":"52360945","full_name":"fscm/lastfm2itunes","owner":"fscm","description":"Update your iTunes \"played counts\" with your Last.fm scrobbles.","archived":false,"fork":false,"pushed_at":"2022-01-03T16:36:41.000Z","size":29,"stargazers_count":8,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-19T22:36:50.184Z","etag":null,"topics":["itunes","lastfm","python","ruby"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":false,"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/fscm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2016-02-23T13:30:04.000Z","updated_at":"2024-06-01T06:59:41.000Z","dependencies_parsed_at":null,"dependency_job_id":"758f7a71-04d0-4fdb-84f4-f76ed15c2483","html_url":"https://github.com/fscm/lastfm2itunes","commit_stats":null,"previous_names":["fscm/lastfm2itunes"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/fscm/lastfm2itunes","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fscm%2Flastfm2itunes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fscm%2Flastfm2itunes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fscm%2Flastfm2itunes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fscm%2Flastfm2itunes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fscm","download_url":"https://codeload.github.com/fscm/lastfm2itunes/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fscm%2Flastfm2itunes/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269803693,"owners_count":24477649,"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","status":"online","status_checked_at":"2025-08-10T02:00:08.965Z","response_time":71,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["itunes","lastfm","python","ruby"],"created_at":"2024-11-07T16:20:45.485Z","updated_at":"2025-08-10T22:49:40.558Z","avatar_url":"https://github.com/fscm.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# lastfm2itunes\n\nUpdate your iTunes \"played counts\" with your Last.fm scrobbles.\n\n## Synopsis\n\nThis script will try to update the \"played count\" and the \"played date\" value\nof your iTunes songs by getting the number of scrobbles for those songs from\na [http://last.fm/](last.fm) profile.\n\nDifferences in song titles and the usage of special characters on song names\nmay prevent the script from recognizing the songs properly.\n\nThe script is available on both Ruby and Python. Both versions will perform the\nsame tasks however, due to the way that both languages deal with character\nencoding, normalization and parameterization, the results may be different.\nPlease use the one that produces the best results for your iTunes library.\n\n## Getting Started\n\nThere are a couple of things needed for either of the scripts to work.\n\n### Prerequisites\n\nFollow the instructions for the version of the script that you wish to use.\nLast.fm instructions are required for both versions.\n\n#### Last.fm\n\nA last.fm user account is required (to obtain the scrobbles from). You can\ncreate an account at [http://last.fm/join](http://www.last.fm/join) if you do\nnot have one already.\n\nA last.fm API account is also required. You can obtain an API key at\n[http://last.fm/api](http://www.last.fm/api/account/create)\n\n\n#### Ruby\n\nFor the Ruby version of the script the following gems are required:\n\n* getoptlong\n* json\n* open-uri\n* progress_bar\n* rb-appscript\n* unidecoder\n\nYou can install gems with:\n\n```\nsudo gem install \u003cgem_name\u003e\n```\n\n#### Python\n\nFor the Python version of the script the following modules are required:\n\n* appscript\n* getopt\n* json\n* os.path\n* progress\n* requests\n* sys\n* time\n* unidecode\n\nYou can install modules with:\n\n```\nsudo pip install \u003cmodule_name\u003e\n```\n\n### Installation\n\nNothing special to be done. Just download the version of the script that you\nwish to use.\n\n### Usage\n\nBoth versions of the script use the same arguments.\n\n#### Ruby\n\n```\nUsage:\n  lastfm2itunes.rb -u \u003cusername\u003e -k \u003capikey\u003e [-f \u003cfilename\u003e] [-h] [-p]\nOptions:\n  -f, --datafile \u003cfilename\u003e  datafile name (optional)\n  -h, --help                 show help (optional)\n  -k, --apikey \u003capi_key\u003e     last.fm api key\n  -p, --lastplayed           update the last played date (optional)\n  -u, --username \u003cusername\u003e  last.fm username\n```\n\n#### Python\n\n```\nUsage:\n  lastfm2itunes.py -u \u003cusername\u003e -k \u003capikey\u003e [-f \u003cfilename\u003e] [-h] [-p]\nOptions:\n  -f, --datafile \u003cfilename\u003e  datafile name (optional)\n  -h, --help                 show help (optional)\n  -k, --apikey \u003capi_key\u003e     last.fm api key\n  -p, --lastplayed           update the last played date (optional)\n  -u, --username \u003cusername\u003e  last.fm username\n```\n\n## Contributing\n\n1. Fork it!\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. Submit a pull request\n\nPlease read the [CONTRIBUTING.md](CONTRIBUTING.md) file for more details on how\nto contribute to this project.\n\n## Versioning\n\nThis project uses [SemVer](http://semver.org/) for versioning. For the versions\navailable, see the [tags on this repository](https://github.com/fscm/lastfm2itunes/tags).\n\n## Authors\n\n* **Frederico Martins** - [fscm](https://github.com/fscm)\n\nSee also the list of [contributors](https://github.com/fscm/lastfm2itunes/contributors)\nwho participated in this project.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE)\nfile for details\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffscm%2Flastfm2itunes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffscm%2Flastfm2itunes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffscm%2Flastfm2itunes/lists"}