{ "info": { "author": "Hugo Haas", "author_email": "hugoh@hugoh.net", "bugtrack_url": null, "classifiers": [ "Environment :: Console", "Intended Audience :: End Users/Desktop", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Topic :: Multimedia :: Sound/Audio" ], "description": "Google Play Music - Playlist Generator\n======================================\n\n|build status|\n\nThis is a command-line tool to generate a set of standard playlists for\nGoogle Play Music libraries.\n\nIt's currently in beta, and some knowledge of Python and comfort with\nthe command line is required. Depending on interest, I will make it more\nuser friendly. The author is using the tool and care is being taken not\nto make a mess in the library manipulated (I care about mine too), but\nUSE AT YOUR OWN RISK.\n\nInstallation\n------------\n\nYou can either do a:\n\n.. code::\n\n pip install GPM-Playlist-Generator\n\nor if you've cloned this repo:\n\n.. code::\n\n python setup.py install\n\nRunning the tool\n----------------\n\nSimply run:\n\n.. code::\n\n gpm-playlistgen.py config.yaml\n\nWhat it does\n------------\n\nThe default configuration captured in ``config.sample.yaml`` will log\nprompt you to log into your account via OAuth, download the list of tracks\nand playlists in your library, and do the following as per the ``playlist``\nsection in the configuration:\n\n- Generate a set of playlists grouping your tracks by month in which\n they've been added to your library (``monthly_added``)\n- Generate a sorted list of your most frequently played tracks\n (``most_played``)\n\nThe playlist generated will all have a name starting with \"[PG]\". This\nis configurable.\n\nIf you rerun the tool, it will only regenerate the playlists that are\nneeded (new tracks in monthly added, and most played).\n\nI need help\n-----------\n\nTry:\n\n.. code::\n\n gpm-playlistgen.py config.yaml\n\nI want to report a problem or I have a cool idea for this tool\n--------------------------------------------------------------\n\nPlease use the `issue\ntracker `__.\n\nFAQ\n---\n\nI don't trust this tool\n~~~~~~~~~~~~~~~~~~~~~~~\n\n\"No problem\". You can run it with the ``--dry-run`` option. It will not\nwrite anything to your account, simply show you what it would do.\n\nI want to get rid of all those generated playlists\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nYou can run:\n\n.. code::\n\n gpm-playlistgen.py --delete-all-playlists config.yaml\n\nThe description field is used to check that this is a generated list,\nbut I strongly advise to the the following first to see what it's going\nto do:\n\n.. code::\n\n gpm-playlistgen.py --delete-all-playlists config.yaml --dry-run\n\nCredits\n-------\n\nThe heavy lifting is done by `Simon Weber's\ngmusicapi `__.\n\n.. |build status| image:: https://gitlab.com/hugoh/gpm-playlistgen/badges/master/build.svg\n :target: https://gitlab.com/hugoh/gpm-playlistgen/commits/master\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gitlab.com/hugoh/gpm-playlistgen", "keywords": "google music,google play music,playlist,playlist generator", "license": "", "maintainer": "", "maintainer_email": "", "name": "GPM-Playlist-Generator", "package_url": "https://pypi.org/project/GPM-Playlist-Generator/", "platform": "", "project_url": "https://pypi.org/project/GPM-Playlist-Generator/", "project_urls": { "Homepage": "https://gitlab.com/hugoh/gpm-playlistgen" }, "release_url": "https://pypi.org/project/GPM-Playlist-Generator/1.1.0/", "requires_dist": [ "gmusicapi", "pyyaml" ], "requires_python": "", "summary": "Google Play Music - Playlist Generator", "version": "1.1.0" }, "last_serial": 5497685, "releases": { "1.0.1": [ { "comment_text": "", "digests": { "md5": "6d4b3b19bbe56f58d43b8e35df209640", "sha256": "777ee1e440152cb0064daf293600da9d89aea3c8daf5be7caaa1cfe240915c83" }, "downloads": -1, "filename": "GPM_Playlist_Generator-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "6d4b3b19bbe56f58d43b8e35df209640", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15164, "upload_time": "2018-02-13T04:41:01", "url": "https://files.pythonhosted.org/packages/89/1c/cbd611a3a82871a781d8e932bca60da08f4efa689d2535a71e12c52edef4/GPM_Playlist_Generator-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c599a869ee3d38e98433558a05ccf19f", "sha256": "07e91f8904d5b00745ac0ce8cbeda1a10ecbf1a5d9ecf4a2859ef32ba71c9edc" }, "downloads": -1, "filename": "GPM-Playlist-Generator-1.0.1.tar.gz", "has_sig": false, "md5_digest": "c599a869ee3d38e98433558a05ccf19f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10896, "upload_time": "2018-02-13T04:41:03", "url": "https://files.pythonhosted.org/packages/09/a5/3a49f77c7709ee0eaed5b97ef064fcb31e820945c1af8d6d7ffce2f067c9/GPM-Playlist-Generator-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "7a13281ea74d9bd48de94af9fb174b06", "sha256": "18fdf7955a8ffae92230784b92a25bd00dbf6dd5e29ab99d21dec747d8d3ea68" }, "downloads": -1, "filename": "GPM_Playlist_Generator-1.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7a13281ea74d9bd48de94af9fb174b06", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15171, "upload_time": "2018-02-13T04:59:45", "url": "https://files.pythonhosted.org/packages/d2/d6/a9449d608152bdfaab027c7baf3097413207e173816c47b4221187ee45fc/GPM_Playlist_Generator-1.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "237ff56478484692494fd431575ef248", "sha256": "439a8b2beb628a1b8d346224538f0dd81b5169bc57307ad45e96c1be96afbaf9" }, "downloads": -1, "filename": "GPM-Playlist-Generator-1.0.2.tar.gz", "has_sig": false, "md5_digest": "237ff56478484692494fd431575ef248", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10323, "upload_time": "2018-02-13T04:59:48", "url": "https://files.pythonhosted.org/packages/14/f4/b7a51eb94088ab6261250329e81c06a60a963917a1be01cceb482b84e594/GPM-Playlist-Generator-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "1f67284ac11ce7f5bb9c5a029c300e91", "sha256": "765fae7945ea1af18d26ad0dc36c6a3a849f05a6512fa88fcfbce41df482bc9d" }, "downloads": -1, "filename": "GPM_Playlist_Generator-1.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1f67284ac11ce7f5bb9c5a029c300e91", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15165, "upload_time": "2018-02-18T23:11:23", "url": "https://files.pythonhosted.org/packages/62/77/d8172511f46b516e5c878d6c6c36d2a3e732fd1f8898badc8bcae3ec3ff5/GPM_Playlist_Generator-1.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bbfddf1e199019e166535ffdc26e7212", "sha256": "06f0cefd74135dc804fe754448f399084853df80a514764e9730b658bec7ee99" }, "downloads": -1, "filename": "GPM-Playlist-Generator-1.0.3.tar.gz", "has_sig": false, "md5_digest": "bbfddf1e199019e166535ffdc26e7212", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11318, "upload_time": "2018-02-18T23:11:26", "url": "https://files.pythonhosted.org/packages/3f/29/2c23a4e2a3dec8bf7a2e9a319a88ba8350db169cd6172039ccaf2b5273be/GPM-Playlist-Generator-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "43819b340e1e122ab68d2d79d03be31a", "sha256": "86b6b5219148f18af646f69afd928a59ae23161754ae3a11c23a1682e8921a03" }, "downloads": -1, "filename": "GPM_Playlist_Generator-1.0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "43819b340e1e122ab68d2d79d03be31a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13018, "upload_time": "2018-05-05T19:59:25", "url": "https://files.pythonhosted.org/packages/4e/f7/44a76de27b5e4a308f89d1a9278417de847a28b8b2dbb9d76f5980f4901f/GPM_Playlist_Generator-1.0.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6778f9b017596154c28a8fa6d8414c4f", "sha256": "9f5645c5e61d6d3f7f9885df36ea1285b5700030768c40d570e7165760196ad0" }, "downloads": -1, "filename": "GPM-Playlist-Generator-1.0.4.tar.gz", "has_sig": false, "md5_digest": "6778f9b017596154c28a8fa6d8414c4f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11353, "upload_time": "2018-05-05T19:59:26", "url": "https://files.pythonhosted.org/packages/e5/5f/f6275965412dfbd274042327a1ef2d6779c66c51f001e553eb310d2f4908/GPM-Playlist-Generator-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "8a5c84ad17eb93b921c35f8db7c8e2fd", "sha256": "c9352d48e01e41900bd3e79e1876e00131495dcc200e2947623f9b3439c3d261" }, "downloads": -1, "filename": "GPM_Playlist_Generator-1.0.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8a5c84ad17eb93b921c35f8db7c8e2fd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13097, "upload_time": "2018-09-01T23:07:19", "url": "https://files.pythonhosted.org/packages/b8/40/0fa13f657089fc6f9c524564bd8991128135093ba94e820ba14d867fe157/GPM_Playlist_Generator-1.0.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "830554f989cdfb43de71292792b451b5", "sha256": "2f13d1ae1bf53585b8b068f86135c9351d9b9c04a6c3d7efe010170c60b87183" }, "downloads": -1, "filename": "GPM-Playlist-Generator-1.0.5.tar.gz", "has_sig": false, "md5_digest": "830554f989cdfb43de71292792b451b5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9992, "upload_time": "2018-09-01T23:07:20", "url": "https://files.pythonhosted.org/packages/9e/45/bb82ac94e3681ebcb83a426d5eabb94403e30fa3da599207dd66efa228f7/GPM-Playlist-Generator-1.0.5.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "f03701f066a2f248a56f6f136e037fc4", "sha256": "1eaa40afa4d5d065666af28fc98dfc94834fd2a4a72a13aaa18aaed28a429ec2" }, "downloads": -1, "filename": "GPM_Playlist_Generator-1.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f03701f066a2f248a56f6f136e037fc4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15807, "upload_time": "2019-07-07T18:17:33", "url": "https://files.pythonhosted.org/packages/46/e4/53937b4db9d4bb8f8041f575af5b48142a3090501a8a34ce7a391810c7fc/GPM_Playlist_Generator-1.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1dd7a785b766d07a7211fafddcc2dbba", "sha256": "06559a30bbb07c49d8e19b08b3ecc91e6aecfdb6bec3fde23acb3ce6c6c8cdbf" }, "downloads": -1, "filename": "GPM-Playlist-Generator-1.1.0.tar.gz", "has_sig": false, "md5_digest": "1dd7a785b766d07a7211fafddcc2dbba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9865, "upload_time": "2019-07-07T18:17:34", "url": "https://files.pythonhosted.org/packages/50/4e/c70f0b4923148a64ce0f00b4e43b16eef3ab815294354dc4960c04505c66/GPM-Playlist-Generator-1.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f03701f066a2f248a56f6f136e037fc4", "sha256": "1eaa40afa4d5d065666af28fc98dfc94834fd2a4a72a13aaa18aaed28a429ec2" }, "downloads": -1, "filename": "GPM_Playlist_Generator-1.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f03701f066a2f248a56f6f136e037fc4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15807, "upload_time": "2019-07-07T18:17:33", "url": "https://files.pythonhosted.org/packages/46/e4/53937b4db9d4bb8f8041f575af5b48142a3090501a8a34ce7a391810c7fc/GPM_Playlist_Generator-1.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1dd7a785b766d07a7211fafddcc2dbba", "sha256": "06559a30bbb07c49d8e19b08b3ecc91e6aecfdb6bec3fde23acb3ce6c6c8cdbf" }, "downloads": -1, "filename": "GPM-Playlist-Generator-1.1.0.tar.gz", "has_sig": false, "md5_digest": "1dd7a785b766d07a7211fafddcc2dbba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9865, "upload_time": "2019-07-07T18:17:34", "url": "https://files.pythonhosted.org/packages/50/4e/c70f0b4923148a64ce0f00b4e43b16eef3ab815294354dc4960c04505c66/GPM-Playlist-Generator-1.1.0.tar.gz" } ] }