{ "info": { "author": "Peijun Ma", "author_email": "peijun.ma@protonmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Console", "Environment :: Console :: Curses", "Intended Audience :: End Users/Desktop", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Natural Language :: English", "Programming Language :: Python", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Multimedia :: Sound/Audio", "Topic :: Multimedia :: Sound/Audio :: Players", "Topic :: Multimedia :: Sound/Audio :: Players :: MP3" ], "description": "******************************************\nmusicview: (re)discover your music library\n******************************************\n\n.. image:: https://badge.fury.io/py/musicview.svg\n :target: https://badge.fury.io/py/musicview\n\n.. image:: https://circleci.com/gh/MaT1g3R/musicview.svg?style=svg\n :target: https://circleci.com/gh/MaT1g3R/musicview\n\n.. image:: https://travis-ci.org/MaT1g3R/musicview.svg?branch=master\n :target: https://travis-ci.org/MaT1g3R/musicview\n\n.. image:: https://codecov.io/gh/MaT1g3R/musicview/branch/master/graph/badge.svg\n :target: https://codecov.io/gh/MaT1g3R/musicview\n\n\nMotivation\n==========\nDo you have a massive music library that you have no hope of ever going\nthrough? This tool aims to solve this problem.\n\nWhat does it do\n================\n* Provides a very simple curses interface\n* Recursively discover all sound files and their metadata under a directory\n* Allows tracking multiple different music libraries\n* Randomly selects the least played file to play\n* Keep track of favourite status\n\nWhat does it not do\n====================\n* Replace your music player\n\nRequirements\n============\n* Python 3.6 or later\n* `curses`\n - This should be available on most \\*nix operating systems. On Windows you can try WSL\n* `ffmpeg `_\n - On Linux you can obtain them via your package manager\n - On macOS you can install `ffmpeg` using `homebrew `_ :code:`brew install ffmpeg --with-sdl2`\n - On Windows you can follow the instructions `here `_\n\nInstallation\n===============\n::\n\n pip install musicview\n\nOr to install the latest development version, run:\n\n::\n\n git clone --recursive https://github.com/MaT1g3R/musicview\n cd musicview\n pip install .\n\nQuick Tutorial\n================\n\nTo use the command line interface\n-----------------------------------\n\n::\n\n $ musicview --help\n\n Usage: main.py [OPTIONS] COMMAND [ARGS]...\n\n musicview, (re)discover your music library\n\n Options:\n -h, --help Show this message and exit.\n\n Commands:\n delete Delete a music library\n list List existing music libraries\n new Create a new music library\n play Start playing music\n update Update an existing music library\n\nThe :code:`play` command will start a simple curses music player.\n\nSetting the configuration home\n------------------------------\nBy default, musicview will store its configuration and data files\nunder :code:`$HOME/.musicview`, if you would like to change that,\nyou can set the :code:`MUSICVIEW_CONFIG_HOME` environment variable to\nthe path you want.\n\nDefault curses interface controls\n----------------------------------\n\n* :code:`p` play/pause\n* :code:`f` toggle favourite status\n* :code:`>` skip song\n* :code:`q` quit\n\nYou can edit those in the :code:`musicview.toml` file under your\nconfiguration home.\n\nTODO\n=======\n* Tests\n* Better looking cueses UI\n* asyncio?\n\nLicense\n========\nmusicview is licensed under the terms of the GNU General Public License,\neither version 3 of the License, or (at your option) any later version.\n\nPlease see `LICENSE `_ for details\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/MaT1g3R/musicview", "keywords": "", "license": "GPLv3.0+", "maintainer": "", "maintainer_email": "", "name": "musicview", "package_url": "https://pypi.org/project/musicview/", "platform": "", "project_url": "https://pypi.org/project/musicview/", "project_urls": { "Homepage": "https://github.com/MaT1g3R/musicview" }, "release_url": "https://pypi.org/project/musicview/0.3.3/", "requires_dist": [ "click (>=6.7)", "mutagen (>=1.40.0)", "toml (>=0.9.4)" ], "requires_python": ">=3.6", "summary": "(re)discover your music library.", "version": "0.3.3" }, "last_serial": 3735647, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "96b919318a124e0db9bf3c519da04342", "sha256": "7fdb43298b77e7ac90edaf0440b79a1ba692e60db11dd1ba83e1c26505997d0a" }, "downloads": -1, "filename": "musicview-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "96b919318a124e0db9bf3c519da04342", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.5", "size": 27323, "upload_time": "2018-03-07T03:42:17", "url": "https://files.pythonhosted.org/packages/ad/76/0490cb636882f3459d66d241fee87ec1934508ce5e06706e5f8782183b14/musicview-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "944f33582142a60836bbab7c6ea928dc", "sha256": "2ab65e4205ad91043e5d00d677b595f5dbbe951535685c30b8101314e20e1e19" }, "downloads": -1, "filename": "musicview-0.1.0.tar.gz", "has_sig": false, "md5_digest": "944f33582142a60836bbab7c6ea928dc", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 24019, "upload_time": "2018-03-07T03:42:18", "url": "https://files.pythonhosted.org/packages/6a/16/3094a436110f94013b078095ac8eb5ae4651c63d49e95eb8f86bcd564c04/musicview-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "8aa80412f24c9449ae9c2143c5157de5", "sha256": "302005ce1c3d0465788149ae92963dee81ce2a20f1a8f120df06e3080218f1a9" }, "downloads": -1, "filename": "musicview-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8aa80412f24c9449ae9c2143c5157de5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.5", "size": 27518, "upload_time": "2018-03-08T18:00:11", "url": "https://files.pythonhosted.org/packages/2f/ce/0ef990bbb90c1bc7cc4fd41ce8890e41e81f1828a63429b69ead1b6fe55d/musicview-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2b979102ceb2d23bd2191b6b19425fa4", "sha256": "ad942d809fa934adb3ff00c61d5c0d52d719002da90be9f1c30aeaccec26c80a" }, "downloads": -1, "filename": "musicview-0.1.1.tar.gz", "has_sig": false, "md5_digest": "2b979102ceb2d23bd2191b6b19425fa4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 22589, "upload_time": "2018-03-08T18:00:13", "url": "https://files.pythonhosted.org/packages/ee/c5/3a9ec4d02055be04c63f09801e85355956c0f43ac213d17592fe20ad1afc/musicview-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "5aa8dfa191909ef07a6a928794da0c3f", "sha256": "d0c6b8cdcd2c8e6d3f31eb0ec7a7b12f28967703c87799e3fa29bc14d5c2272a" }, "downloads": -1, "filename": "musicview-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5aa8dfa191909ef07a6a928794da0c3f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6", "size": 37636, "upload_time": "2018-03-10T07:43:17", "url": "https://files.pythonhosted.org/packages/bc/b0/c95a2952b3f3a20ec9e77c1e98509cff781e3cc0492cb3cb6d6582bdb52b/musicview-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d8d1793abf2d63a0dbd954baf9fc0c87", "sha256": "9afd08d81e2f2c78513a833a1fb1e63f7db101f3b578e40edcdbaa9c7c46633d" }, "downloads": -1, "filename": "musicview-0.2.0.tar.gz", "has_sig": false, "md5_digest": "d8d1793abf2d63a0dbd954baf9fc0c87", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 32813, "upload_time": "2018-03-10T07:43:19", "url": "https://files.pythonhosted.org/packages/b7/68/6a326d478bd365717ffba743dde9a60af44c2cdd351727258262c3979ff2/musicview-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "b3ced6f1e20e2354a9e64d0bdb32c14d", "sha256": "6deab6c449ec602a766cfd517a8fae319888269ff74da0dd5233d2b1e9b702f5" }, "downloads": -1, "filename": "musicview-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b3ced6f1e20e2354a9e64d0bdb32c14d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6", "size": 37917, "upload_time": "2018-03-10T07:50:31", "url": "https://files.pythonhosted.org/packages/cd/03/15f39ad1b0cbf679c2aa77b700688f61ae2e6762e815bc2279bc95209a11/musicview-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "79e5a03f187d5bcc247bb8dd04e4918f", "sha256": "6bc9602eca032391240ae2b11a258afbed8360a5cdb0c8b28f3c6098e9396292" }, "downloads": -1, "filename": "musicview-0.2.1.tar.gz", "has_sig": false, "md5_digest": "79e5a03f187d5bcc247bb8dd04e4918f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 33093, "upload_time": "2018-03-10T07:50:33", "url": "https://files.pythonhosted.org/packages/a3/5a/3aab92a13c7bc17f9eaa1e14764764059e99bb205c1b644183b05e9de6f0/musicview-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "8da4a127a655741e6e12f41df6043e6d", "sha256": "0c2feb203c72f381d5214ef20f154793f8b8a69fd91632f2b83d3f13a8e8cae6" }, "downloads": -1, "filename": "musicview-0.2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8da4a127a655741e6e12f41df6043e6d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6", "size": 37960, "upload_time": "2018-03-11T02:44:39", "url": "https://files.pythonhosted.org/packages/c1/fc/02e2eff23f362ef4b9674df009f9f2034e68bbcd53d7b4fdac6d68d19b09/musicview-0.2.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "79af0a408bb8dfb76a980045f7c96d9a", "sha256": "cfaedb1a4527c68258ba6269e9c9a08cbd81591c06390ca158c42794920210f7" }, "downloads": -1, "filename": "musicview-0.2.2.tar.gz", "has_sig": false, "md5_digest": "79af0a408bb8dfb76a980045f7c96d9a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 34406, "upload_time": "2018-03-11T02:44:40", "url": "https://files.pythonhosted.org/packages/cf/d0/13a680f2309a1f67aec932942fa7f74f95491cc724dd5abdebbe60e7b3f1/musicview-0.2.2.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "0f76cfd69cf49342e3b5bd9890e60a04", "sha256": "a85b527d5f09ee6c69bbdf3bc31076b4000fc74472c64dcb7bb29c0cc93068e5" }, "downloads": -1, "filename": "musicview-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0f76cfd69cf49342e3b5bd9890e60a04", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6", "size": 29748, "upload_time": "2018-04-04T07:33:23", "url": "https://files.pythonhosted.org/packages/1d/55/889103f520c1ab1b9410f5ffc3c4a22367f7cabe922342dc41e667749e48/musicview-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0d4813120d992410ce4e3969f42b08fc", "sha256": "901b422bdc990fffaf2d8dd5d07d5b39d2f645aa422f41d5298675d85165c4d8" }, "downloads": -1, "filename": "musicview-0.3.0.tar.gz", "has_sig": false, "md5_digest": "0d4813120d992410ce4e3969f42b08fc", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 27571, "upload_time": "2018-04-04T07:33:24", "url": "https://files.pythonhosted.org/packages/68/fb/1478adca234cd1b865b1dcdd01637bfe7748d86cf33eadfea3c3708fbd1f/musicview-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "9f203b28ce890d948bd169bc3debb7c5", "sha256": "c1d3635ff532605bd528427f1b3775b5d10c6e03220832708b75aac9c3f46aa8" }, "downloads": -1, "filename": "musicview-0.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9f203b28ce890d948bd169bc3debb7c5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6", "size": 29788, "upload_time": "2018-04-04T22:29:16", "url": "https://files.pythonhosted.org/packages/cf/e0/d343179936a2ce832b84cdebdb6b8d8e9b576f9b5cd7e66098715c904fd7/musicview-0.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "aa56654cd521d3e8207d8c65d675f6d0", "sha256": "6a8099108dfb7e3127afb7ee9e5e599f3f968b5261b93cd0b95ee64d71a88c43" }, "downloads": -1, "filename": "musicview-0.3.1.tar.gz", "has_sig": false, "md5_digest": "aa56654cd521d3e8207d8c65d675f6d0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 27639, "upload_time": "2018-04-04T22:29:17", "url": "https://files.pythonhosted.org/packages/0f/5a/bad7c9dca441c37fa505b3e70d190b5ccb1dcc84c2a4a149c17e401922d8/musicview-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "14ee66df64a74dc9c2f306840053aa5c", "sha256": "89869c6de19141d795c0ffa009286fe8afd7fe5982d8911f32071534750d8f57" }, "downloads": -1, "filename": "musicview-0.3.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "14ee66df64a74dc9c2f306840053aa5c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6", "size": 29796, "upload_time": "2018-04-04T22:40:29", "url": "https://files.pythonhosted.org/packages/53/88/fd790998aac702202c42337172654c7e96cc8be9b44ee884ea06930f4184/musicview-0.3.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4e1789452cdd7504bebaebde70c55c0c", "sha256": "93dd8500c821deeac34a1949d1ab7db1da441dc81960b91dcebc3710f8ba9906" }, "downloads": -1, "filename": "musicview-0.3.2.tar.gz", "has_sig": false, "md5_digest": "4e1789452cdd7504bebaebde70c55c0c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 27638, "upload_time": "2018-04-04T22:40:30", "url": "https://files.pythonhosted.org/packages/51/02/eef8fd2a77ae9441a0eeda6ec7a50acb9c1da54065a13eae83efc3d861d8/musicview-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "758d5018814fa8818f87ff8d720c8831", "sha256": "db58474b313941f8c0279307be85e37fb1457c624a53e9e98beec35afa4ec41e" }, "downloads": -1, "filename": "musicview-0.3.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "758d5018814fa8818f87ff8d720c8831", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6", "size": 29830, "upload_time": "2018-04-04T22:52:22", "url": "https://files.pythonhosted.org/packages/b1/96/997f303c714dd3400bc9ea6ab3d68af84829493ed7b1539842b3ce6e149f/musicview-0.3.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "19a715d938c7d684884b5c884117c126", "sha256": "b7de849d293de0032e9a14574851073ddccd5d9ae013c6ccd1a3e3301e094ae5" }, "downloads": -1, "filename": "musicview-0.3.3.tar.gz", "has_sig": false, "md5_digest": "19a715d938c7d684884b5c884117c126", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 27653, "upload_time": "2018-04-04T22:52:23", "url": "https://files.pythonhosted.org/packages/64/4a/8d4c2705d38a3b62640c2b0ffbf842cb7bd42210f9f0e554416bf9a7afcd/musicview-0.3.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "758d5018814fa8818f87ff8d720c8831", "sha256": "db58474b313941f8c0279307be85e37fb1457c624a53e9e98beec35afa4ec41e" }, "downloads": -1, "filename": "musicview-0.3.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "758d5018814fa8818f87ff8d720c8831", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6", "size": 29830, "upload_time": "2018-04-04T22:52:22", "url": "https://files.pythonhosted.org/packages/b1/96/997f303c714dd3400bc9ea6ab3d68af84829493ed7b1539842b3ce6e149f/musicview-0.3.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "19a715d938c7d684884b5c884117c126", "sha256": "b7de849d293de0032e9a14574851073ddccd5d9ae013c6ccd1a3e3301e094ae5" }, "downloads": -1, "filename": "musicview-0.3.3.tar.gz", "has_sig": false, "md5_digest": "19a715d938c7d684884b5c884117c126", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 27653, "upload_time": "2018-04-04T22:52:23", "url": "https://files.pythonhosted.org/packages/64/4a/8d4c2705d38a3b62640c2b0ffbf842cb7bd42210f9f0e554416bf9a7afcd/musicview-0.3.3.tar.gz" } ] }