{ "info": { "author": "dbeley", "author_email": "dbeley@protonmail.com", "bugtrack_url": null, "classifiers": [ "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3" ], "description": "# lastfm_cg : lastfm collage generator\n\n[![Build Status](https://travis-ci.org/dbeley/lastfm_cg.svg?branch=master)](https://travis-ci.org/dbeley/lastfm_cg)\n[![Codacy Badge](https://api.codacy.com/project/badge/Grade/0ee651b54bfd40d4aeece00298dd3fd0)](https://app.codacy.com/app/dbeley/lastfm_cg?utm_source=github.com&utm_medium=referral&utm_content=dbeley/lastfm_cg&utm_campaign=Badge_Grade_Dashboard)\n[![codecov](https://codecov.io/gh/dbeley/lastfm_cg/branch/master/graph/badge.svg)](https://codecov.io/gh/dbeley/lastfm_cg)\n\n\n\nGenerate covers collage from albums listened by a lastfm user.\n\nThis utility needs a valid config file with your lastfm API keys (get them at [last.fm/api](https://www.last.fm/api).) in ~/.config/lastfm_cg/config.ini (see config_sample.ini for an example).\n\nIt also caches the image files requested thanks to the requests-cache library. If you don't want the script to create an sqlite file in your ~/.local/share/lastfm_cg/ directory, you will have to launch the script with the -d/--disable_cache flag.\n\nA twitter bot and a mastodon post are also available in the bot_lastfm_cg folder.\n\nSome systemd service are also available int the systemd-service directory to run the lastfm_cg script at a given time. You will have to change them to match your configuration, more specifically the WorkingDirectory and ExecStart directive.\n\n## Requirements\n\n- pylast\n- numpy\n- pillow\n- requests\n- requests-cache\n- tqdm\n\n## Installation\n\nInstallation in a virtualenv with pipenv (recommended) :\n\n```\ngit clone https://github.com/dbeley/lastfm_cg\ncd lastfm_cg\npipenv install '-e .'\n```\n\nClassic installation :\n\n```\npip install lastfm_cg\n```\n\nIf you are an Archlinux user, you can install the AUR package [lastfm_cg-git](https://aur.archlinux.org/packages/lastfm_cg-git).\n\n## Usage\n\nShow the help and the available options.\n\n```\nlastfm_cg -h\n```\n\n```\nusage: lastfm_cg [-h] [--debug] [--timeframe TIMEFRAME] [--rows ROWS]\n [--columns COLUMNS] [--username USERNAME] [-d]\n\nCreate lastfm album collage for one or several lastfm users.\n\noptional arguments:\n -h, --help show this help message and exit\n --debug Display debugging information\n --timeframe TIMEFRAME, -t TIMEFRAME\n Timeframe (Accepted values : 7day, 1month, 3month,\n 6month, 12month, overall. Default : 7day).\n --rows ROWS, -r ROWS Number of rows (Default : 5).\n --columns COLUMNS, -c COLUMNS\n Number of columns (Default : number of rows).\n --username USERNAME, -u USERNAME\n Usernames to extract, separated by comma.\n -d, --disable_cache Disable the cache\n```\n \nGenerate a collage for the user USER of the size 5x5 for the last 7 days (default values).\n\n```\nlastfm_cg -u USER\nlastfm_cg -u USER -t 7day -r 5\n```\n\nGenerate collages for the users USER and USER2 of the size 3x30 for all their listening history.\n\n```\nlastfm_cg -u USER,USER2 -t overall -r 3 -c 30\nlastfm_cg --username USER,USER2 --timeframe overall --rows 3 --columns 30\n```\n\n## Sample results\n\n\n\n## Systemd service\n\n```\ncp systemd-service/* ~/.config/systemd/user/\nsystemctl --user daemon-reload\nsystemctl --user enable --now lastfm_cg_weekly.timer\n```", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/dbeley/lastfm_cg", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "lastfm-cg", "package_url": "https://pypi.org/project/lastfm-cg/", "platform": "", "project_url": "https://pypi.org/project/lastfm-cg/", "project_urls": { "Homepage": "https://github.com/dbeley/lastfm_cg" }, "release_url": "https://pypi.org/project/lastfm-cg/1.3.2/", "requires_dist": null, "requires_python": "", "summary": "Generate covers collage from albums listened by a lastfm user.", "version": "1.3.2" }, "last_serial": 5964396, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "c59713815a9b058efe3f0e21479c8abf", "sha256": "4aa1c6d03056bf5ec44df6085393b899161a56361dcab04a79882dd41a6a0ae8" }, "downloads": -1, "filename": "lastfm_cg-1.0.tar.gz", "has_sig": false, "md5_digest": "c59713815a9b058efe3f0e21479c8abf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3361, "upload_time": "2019-05-23T16:36:12", "url": "https://files.pythonhosted.org/packages/5a/da/46a9e7d4a733df72c3c6827113945d2fc50baeff8f289b2caa6ad5e4bc99/lastfm_cg-1.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "116d0e5c6932d4494ee883d7a60f0f67", "sha256": "18902b4e6bba6ca2d6895c1ee1ed1d09b2a3e168e5d760a21fcbbdee7c9337a8" }, "downloads": -1, "filename": "lastfm_cg-1.0.1.tar.gz", "has_sig": false, "md5_digest": "116d0e5c6932d4494ee883d7a60f0f67", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3470, "upload_time": "2019-05-23T17:46:57", "url": "https://files.pythonhosted.org/packages/f0/9b/c04caa6fdc80e9e613d2686248a7dd8f201901f46039e3020a4d58a5576c/lastfm_cg-1.0.1.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "e94479c1f78e1205bd226ed67e24ea12", "sha256": "60efbd509cf913e5b8556bc7950c1edd832f9ad1b3cd8764bb55c279e6bbd53f" }, "downloads": -1, "filename": "lastfm_cg-1.1.tar.gz", "has_sig": false, "md5_digest": "e94479c1f78e1205bd226ed67e24ea12", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3569, "upload_time": "2019-05-23T19:24:13", "url": "https://files.pythonhosted.org/packages/2a/f2/5bd322257c2d2776f428cbcc710a087371a3ea1fae67541b94fbd04f53c2/lastfm_cg-1.1.tar.gz" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "e071bcb9b5e62cebdc4ddc2647bb3318", "sha256": "8c8767c1e8f1eaf7c4402be68fd1929623840066a1d5642e85b816a1bee1bd58" }, "downloads": -1, "filename": "lastfm_cg-1.2.tar.gz", "has_sig": false, "md5_digest": "e071bcb9b5e62cebdc4ddc2647bb3318", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4032, "upload_time": "2019-05-24T11:23:34", "url": "https://files.pythonhosted.org/packages/2c/86/7f45af8f7c0318eb9594692b373b4c5bced7fc1ddf2a81abf3a727eac5d7/lastfm_cg-1.2.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "82ccccc3b54a49588835beeec60c0907", "sha256": "6ae2d4ff62c15bf78534f43609d47e893baec7dc11a7bb8538d479aee328835e" }, "downloads": -1, "filename": "lastfm_cg-1.2.1.tar.gz", "has_sig": false, "md5_digest": "82ccccc3b54a49588835beeec60c0907", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4171, "upload_time": "2019-05-24T13:05:41", "url": "https://files.pythonhosted.org/packages/3b/28/3d84497ceac867edec00012221d85882af4a1ad3818d14716e0fcf189de3/lastfm_cg-1.2.1.tar.gz" } ], "1.3": [ { "comment_text": "", "digests": { "md5": "5d4ad8837f4a799c3d926afc5635c1b3", "sha256": "26e0a2216314b7bf27c12ad962a4c0c84f9edef044a3608b5d17922cdf0bf70c" }, "downloads": -1, "filename": "lastfm_cg-1.3.tar.gz", "has_sig": false, "md5_digest": "5d4ad8837f4a799c3d926afc5635c1b3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4698, "upload_time": "2019-05-25T10:01:25", "url": "https://files.pythonhosted.org/packages/97/d0/66097dc7aea6ce07785367009aaf847d30595151bf57078bc471e856cfee/lastfm_cg-1.3.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "e5a8b30fba10f709a9f2bf758d6fc1f3", "sha256": "594bfb8c5616e022f21ad4745aadc61056eef6f204ead4ca0a727d7164e6523a" }, "downloads": -1, "filename": "lastfm_cg-1.3.1.tar.gz", "has_sig": false, "md5_digest": "e5a8b30fba10f709a9f2bf758d6fc1f3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4910, "upload_time": "2019-06-10T21:13:19", "url": "https://files.pythonhosted.org/packages/6b/d8/e8021527ccdc04cce0cc66c2a092bbe64a6a18d4c5e16ecd4d61cbcd9e79/lastfm_cg-1.3.1.tar.gz" } ], "1.3.2": [ { "comment_text": "", "digests": { "md5": "952ec88071e5ee22927d55d96f5055b0", "sha256": "80f13d59baa5f7574c37727134b2535142269c69e005651eb29d7e854064826d" }, "downloads": -1, "filename": "lastfm_cg-1.3.2.tar.gz", "has_sig": false, "md5_digest": "952ec88071e5ee22927d55d96f5055b0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6087, "upload_time": "2019-10-12T14:09:07", "url": "https://files.pythonhosted.org/packages/b1/1b/8a20d340ed48bb841113c1d2368681ab962b8e03452899f551e77e41cd32/lastfm_cg-1.3.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "952ec88071e5ee22927d55d96f5055b0", "sha256": "80f13d59baa5f7574c37727134b2535142269c69e005651eb29d7e854064826d" }, "downloads": -1, "filename": "lastfm_cg-1.3.2.tar.gz", "has_sig": false, "md5_digest": "952ec88071e5ee22927d55d96f5055b0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6087, "upload_time": "2019-10-12T14:09:07", "url": "https://files.pythonhosted.org/packages/b1/1b/8a20d340ed48bb841113c1d2368681ab962b8e03452899f551e77e41cd32/lastfm_cg-1.3.2.tar.gz" } ] }