{"id":16634503,"url":"https://github.com/fireattack/lastfm-collage-generator","last_synced_at":"2025-12-25T02:09:13.804Z","repository":{"id":233909293,"uuid":"787148288","full_name":"fireattack/lastfm-collage-generator","owner":"fireattack","description":null,"archived":false,"fork":false,"pushed_at":"2024-04-16T03:16:48.000Z","size":13399,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-18T09:34:20.292Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fireattack.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2024-04-16T01:22:20.000Z","updated_at":"2024-04-16T01:23:08.000Z","dependencies_parsed_at":"2024-04-17T17:21:11.352Z","dependency_job_id":null,"html_url":"https://github.com/fireattack/lastfm-collage-generator","commit_stats":null,"previous_names":["fireattack/lastfm-collage-generator"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fireattack%2Flastfm-collage-generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fireattack%2Flastfm-collage-generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fireattack%2Flastfm-collage-generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fireattack%2Flastfm-collage-generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fireattack","download_url":"https://codeload.github.com/fireattack/lastfm-collage-generator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243126262,"owners_count":20240395,"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-12T05:38:46.809Z","updated_at":"2025-12-25T02:09:08.772Z","avatar_url":"https://github.com/fireattack.png","language":"Python","readme":"Last.fm Top Albums Collage Generator\n====================================\n\nInspired by [original JS version](https://github.com/awhite/lastfm-collage-generator), but rewrote in Python.\n\nUsage\n-----\n\n```\nusage: lastfm_collage_generator.py [-h] [--username USERNAME] [--period {7day,1month,3month,6month,12month,overall}] [--rows ROWS] [--cols COLS] [--show-name] [--no-show-name] [--size SIZE] [--font FONT]\n                                   [{fetch,collage,tweet,all}]\n\npositional arguments:\n  {fetch,collage,tweet,all}\n                        Specify the action to perform: fetch data, create collage, tweet, or all combined. If not given, it will be interactive.\n\noptions:\n  -h, --help            show this help message and exit\n  --username USERNAME, -u USERNAME\n                        Username of the LastFM user.\n  --period {7day,1month,3month,6month,12month,overall}\n                        Time period for which to fetch the LastFM data [default: 7day].\n  --rows ROWS           Number of rows in the collage [default: 3].\n  --cols COLS           Number of columns in the collage [default: 3].\n  --show-name           Display the name on the collage [default: True].\n  --no-show-name        Do not display the name on the collage.\n  --size SIZE           Size of each image in the collage [default: 500].\n  --font FONT           Font file to use for text [default: SourceHanSans-Regular.otf].\n```\n\nNote: it by default uses an open-source font called Source Han Sans for better CJK support, which is included in the repo for your convenience. If you want to use another font, you can change it using `--font path/to/fontfile`.\n\nInteractive mode\n----------------\n\nIf you run the script without any \"action\" command, it will be interactive.\n\nIt will firstly fetch the data from Last.fm, then shows you a list about which ones are missing the cover art. It will then automatically open these albums on the website so you can upload the cover art (this way, others would be benefited as well). Afterwards, you can re-fetch the data and try again.\n\nAlternatively, you can also manually edit 'data.json' to remove some entries, or automatically remove all the entries without cover art, or just proceed without any changes.\n\nIn the next step, it will generate the collage and show you the preview. You can then tweet it if you want.\n\n\nTweet action\n------------\n\nTo enable the tweet action, you need to create a Twitter Developer account and create an app. Then you need to copy your secrets into `auth_twitter.txt` file in the following format:\n\n```\nconsumer_key\nconsumer_secret\naccess_token\naccess_token_secret\n```","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffireattack%2Flastfm-collage-generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffireattack%2Flastfm-collage-generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffireattack%2Flastfm-collage-generator/lists"}