{ "info": { "author": "Hao-Wen Dong", "author_email": "salu.hwdong@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Topic :: Multimedia :: Sound/Audio" ], "description": "Pypianoroll\n===========\n\n[![GitHub workflow](https://img.shields.io/github/workflow/status/salu133445/pypianoroll/Testing)](https://github.com/salu133445/pypianoroll/actions)\n[![Codecov](https://img.shields.io/codecov/c/github/salu133445/pypianoroll)](https://codecov.io/gh/salu133445/pypianoroll)\n[![GitHub license](https://img.shields.io/github/license/salu133445/pypianoroll)](https://github.com/salu133445/pypianoroll/blob/main/LICENSE)\n[![GitHub release](https://img.shields.io/github/v/release/salu133445/pypianoroll)](https://github.com/salu133445/pypianoroll/releases)\n\n\nPypianoroll is an open source Python library for working with piano rolls. It provides essential tools for handling multitrack piano rolls, including efficient I/O as well as manipulation, visualization and evaluation tools.\n\n\nFeatures\n--------\n\n- Manipulate multitrack piano rolls intuitively\n- Visualize multitrack piano rolls beautifully\n- Save and load multitrack piano rolls in a space-efficient format\n- Parse MIDI files into multitrack piano rolls\n- Write multitrack piano rolls into MIDI files\n\n\nWhy Pypianoroll\n---------------\n\nOur aim is to provide convenient classes for piano-roll matrix and MIDI-like track information (program number, track name, drum track indicator). Pypianoroll is also designed to provide efficient I/O for piano rolls, since piano rolls have long been considered an inefficient way to store music data due to the sparse nature.\n\n\nInstallation\n------------\n\nTo install Pypianoroll, please run `pip install pypianoroll`. To build Pypianoroll from source, please download the [source](https://github.com/salu133445/pypianoroll/releases) and run `python setup.py install`.\n\n\nDocumentation\n-------------\n\nDocumentation is available [here](https://salu133445.github.io/pypianoroll) and as docstrings with the code.\n\n\nCiting\n------\n\nPlease cite the following paper if you use Pypianoroll in a published work:\n\nHao-Wen Dong, Wen-Yi Hsiao, and Yi-Hsuan Yang, \"Pypianoroll: Open Source Python Package for Handling Multitrack Pianorolls,\" in _Late-Breaking Demos of the 19th International Society for Music Information Retrieval Conference (ISMIR)_, 2018.\n\n[[homepage](https://salu133445.github.io/pypianoroll/)]\n[[paper](https://salu133445.github.io/pypianoroll/pdf/pypianoroll-ismir2018-lbd-paper.pdf)]\n[[poster](https://salu133445.github.io/pypianoroll/pdf/pypianoroll-ismir2018-lbd-poster.pdf)]\n[[code](https://github.com/salu133445/pypianoroll)]\n[[documentation](https://salu133445.github.io/pypianoroll/)]\n\n\nLakh Pianoroll Dataset\n----------------------\n\n[Lakh Pianoroll Dataset](https://salu133445.github.io/musegan/dataset) (LPD) is a new multitrack piano roll dataset using Pypianoroll for efficient data I/O and to save space, which is used as the training dataset in our [MuseGAN](https://salu133445.github.io/musegan) project.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://github.com/salu133445/pypianoroll/archive/v1.0.4.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "music,audio,music-information-retrieval", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pypianoroll", "package_url": "https://pypi.org/project/pypianoroll/", "platform": "", "project_url": "https://pypi.org/project/pypianoroll/", "project_urls": { "Documentation": "https://salu133445.github.io/pypianoroll/", "Download": "https://github.com/salu133445/pypianoroll/archive/v1.0.4.tar.gz" }, "release_url": "https://pypi.org/project/pypianoroll/1.0.4/", "requires_dist": [ "numpy (>=1.12.0)", "scipy (>=1.0.0)", "pretty-midi (>=0.2.8)", "matplotlib (>=1.5)", "pytest (>=6.0) ; extra == 'test'", "pytest-cov (>=2.0) ; extra == 'test'" ], "requires_python": ">=3.6", "summary": "A toolkit for working with piano rolls", "version": "1.0.4", "yanked": false, "yanked_reason": null }, "last_serial": 9409035, "releases": { "0.0.2": [ { "comment_text": "", "digests": { "md5": "5d02a231df6e824ff5a19c60564f2dcc", "sha256": "92c326fbad1ab7fe09e7d04c1a673af9b2bad27b5c554ecbc1e588afbab7c82b" }, "downloads": -1, "filename": "pypianoroll-0.0.2.tar.gz", "has_sig": false, "md5_digest": "5d02a231df6e824ff5a19c60564f2dcc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17768, "upload_time": "2018-01-26T08:52:04", "upload_time_iso_8601": "2018-01-26T08:52:04.370900Z", "url": "https://files.pythonhosted.org/packages/c2/28/39935c37e3a332a92e9362e1877656e243d694c984f3f38c8e26b15f9f67/pypianoroll-0.0.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "730d6f44e573ebf77822daa923657a5c", "sha256": "b3ad701a80ed2515e9fac3e054db052c40cb3655c48df61d61430ee9c344c847" }, "downloads": -1, "filename": "pypianoroll-0.1.0.tar.gz", "has_sig": false, "md5_digest": "730d6f44e573ebf77822daa923657a5c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18498, "upload_time": "2018-01-27T16:17:47", "upload_time_iso_8601": "2018-01-27T16:17:47.649195Z", "url": "https://files.pythonhosted.org/packages/b3/7d/f9f405bf10d89e9039cf17dd02e6a38e1b2a02e9587bebe9803804d6f48c/pypianoroll-0.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "65215b4261810a739d81d078d891b626", "sha256": "bc00cd69bd49c8022c3c94595138b9bb83ebd72ecd9f46ada929dbc6cb812179" }, "downloads": -1, "filename": "pypianoroll-0.1.1.tar.gz", "has_sig": false, "md5_digest": "65215b4261810a739d81d078d891b626", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18529, "upload_time": "2018-01-27T20:40:59", "upload_time_iso_8601": "2018-01-27T20:40:59.870774Z", "url": "https://files.pythonhosted.org/packages/ba/66/5077a2242dcec84af7853873c5518dbaaddf96bf492dc0a575590a83a5a2/pypianoroll-0.1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "a2bc39d5d4dd6b3ddcb2e9aa0cead8a6", "sha256": "6661043e91eb66ffee5fc69a180e5071aa44cc7252bf4783da7fc9781abc2e19" }, "downloads": -1, "filename": "pypianoroll-0.1.2.tar.gz", "has_sig": false, "md5_digest": "a2bc39d5d4dd6b3ddcb2e9aa0cead8a6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18589, "upload_time": "2018-01-31T20:27:13", "upload_time_iso_8601": "2018-01-31T20:27:13.179727Z", "url": "https://files.pythonhosted.org/packages/c5/13/a63074cdf6cc77b6b1d96a7bea8d6195036a8544e21218d805ef3830ced9/pypianoroll-0.1.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "1dfe8fdb21f9a2b9c10a56471c04306e", "sha256": "f2c7f15038b252d69ad929d9ecae3a61e65bef211c46777467cf8c51a602693d" }, "downloads": -1, "filename": "pypianoroll-0.1.3.tar.gz", "has_sig": false, "md5_digest": "1dfe8fdb21f9a2b9c10a56471c04306e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18867, "upload_time": "2018-03-07T18:48:15", "upload_time_iso_8601": "2018-03-07T18:48:15.651638Z", "url": "https://files.pythonhosted.org/packages/90/02/383fb73069170b22c0030df1fa0515f01effeff6fc66bf5b0f58e331af82/pypianoroll-0.1.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "01974c4b3182a9db9333c4da257589a9", "sha256": "83946cf361abbd085582aa712340aa4de5e7b20937c8a031731929ed58ab57bb" }, "downloads": -1, "filename": "pypianoroll-0.1.4.tar.gz", "has_sig": false, "md5_digest": "01974c4b3182a9db9333c4da257589a9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18746, "upload_time": "2018-04-10T11:37:05", "upload_time_iso_8601": "2018-04-10T11:37:05.851057Z", "url": "https://files.pythonhosted.org/packages/a6/aa/9ee01667ac552d2693e0062beafa5b91839731b2128ea5ce128ae6036d10/pypianoroll-0.1.4.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "8810491f9e2257fce1277b2c66eedf83", "sha256": "30f406253646048df8da77b9b5c2b8d9c5e9976f9fbe8adb8ec07f0ba4fd99e8" }, "downloads": -1, "filename": "pypianoroll-0.2.0.tar.gz", "has_sig": false, "md5_digest": "8810491f9e2257fce1277b2c66eedf83", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18936, "upload_time": "2018-04-12T09:52:26", "upload_time_iso_8601": "2018-04-12T09:52:26.850513Z", "url": "https://files.pythonhosted.org/packages/5c/78/9a62984a51e43d5c2e6e2f0b643f47368da6848ff66d1027a3ea139c5f7e/pypianoroll-0.2.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "f93894988a601384c15b87278837a375", "sha256": "5aa37cb5d6dc99f9989e547537fb4758a819c018a8c7aae57eb04c316e717ca7" }, "downloads": -1, "filename": "pypianoroll-0.3.0.tar.gz", "has_sig": false, "md5_digest": "f93894988a601384c15b87278837a375", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18916, "upload_time": "2018-04-16T11:40:28", "upload_time_iso_8601": "2018-04-16T11:40:28.823740Z", "url": "https://files.pythonhosted.org/packages/2f/37/1f9b9789415856f41a676943484c9de0c7b2278dedc7e1701feba705c896/pypianoroll-0.3.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "ad3617cf0746e1ed847c3cd936e254ce", "sha256": "b605660e2d41f2079c450313600a2ae599d850b180f12575d68a75773d935631" }, "downloads": -1, "filename": "pypianoroll-0.4.0.tar.gz", "has_sig": false, "md5_digest": "ad3617cf0746e1ed847c3cd936e254ce", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18379, "upload_time": "2018-05-18T08:20:00", "upload_time_iso_8601": "2018-05-18T08:20:00.749485Z", "url": "https://files.pythonhosted.org/packages/39/37/b8c5ec997de4608e868909ae5cece73fe5669dbd6802211580f09f5b2ae5/pypianoroll-0.4.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "19998deca5425c14c453057ded0f89cb", "sha256": "9015778bc5b8cef54e7b7e843560e72421e31a5b61082be38f87f0c47cd1557f" }, "downloads": -1, "filename": "pypianoroll-0.4.2.tar.gz", "has_sig": false, "md5_digest": "19998deca5425c14c453057ded0f89cb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18494, "upload_time": "2018-07-02T11:41:56", "upload_time_iso_8601": "2018-07-02T11:41:56.017900Z", "url": "https://files.pythonhosted.org/packages/6c/2e/c8a02fbb2bfcb2b2af1abdb42c32d253b27038f25ca098f3a86ea0497526/pypianoroll-0.4.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4.3": [ { "comment_text": "", "digests": { "md5": "d7acb34a0ffb8c48f0e15e50a7cb1c4e", "sha256": "6a1669cb7dd0865128409c587d11caa6fe7f59aaef1a3652c3aae1d27f783e99" }, "downloads": -1, "filename": "pypianoroll-0.4.3.tar.gz", "has_sig": false, "md5_digest": "d7acb34a0ffb8c48f0e15e50a7cb1c4e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18494, "upload_time": "2018-07-02T12:08:06", "upload_time_iso_8601": "2018-07-02T12:08:06.253282Z", "url": "https://files.pythonhosted.org/packages/02/45/1335550ae730cf063f82212e5b700e63d358bab4a3f1ef51d2679f0a9f3c/pypianoroll-0.4.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4.4": [ { "comment_text": "", "digests": { "md5": "03ea51bc7e6a52e35e293159a0045562", "sha256": "8069b13ab018f2dcfda541f0f4cced0d2bc03179e5edd731c487125a982c0972" }, "downloads": -1, "filename": "pypianoroll-0.4.4.tar.gz", "has_sig": false, "md5_digest": "03ea51bc7e6a52e35e293159a0045562", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18377, "upload_time": "2018-07-02T13:45:47", "upload_time_iso_8601": "2018-07-02T13:45:47.923465Z", "url": "https://files.pythonhosted.org/packages/06/fb/1c880d25048e2b11e38cecbb61db508e62033960bb17097cfd0904f22fbe/pypianoroll-0.4.4.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4.5": [ { "comment_text": "", "digests": { "md5": "4993ae5cdf98c9a2b4d9271871009123", "sha256": "d944766ef72300d89b3e0b2421448a7dfcf8287cd9d9b6f2407f5f2d3f778ccc" }, "downloads": -1, "filename": "pypianoroll-0.4.5.tar.gz", "has_sig": false, "md5_digest": "4993ae5cdf98c9a2b4d9271871009123", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18374, "upload_time": "2018-07-02T14:20:53", "upload_time_iso_8601": "2018-07-02T14:20:53.575626Z", "url": "https://files.pythonhosted.org/packages/84/1b/0364e67dfc75a8b36b62e238db37920d27290f9ceffa5fc3531a8dd64134/pypianoroll-0.4.5.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4.6": [ { "comment_text": "", "digests": { "md5": "419043d69b1d3c185924f9a87c4b5feb", "sha256": "4a8d9ff62a4c4844e99f9a986138ed512b8e86650432c34dc2f82ba55dd1338c" }, "downloads": -1, "filename": "pypianoroll-0.4.6.tar.gz", "has_sig": false, "md5_digest": "419043d69b1d3c185924f9a87c4b5feb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18400, "upload_time": "2018-08-07T18:19:57", "upload_time_iso_8601": "2018-08-07T18:19:57.429862Z", "url": "https://files.pythonhosted.org/packages/cf/c3/8980ad912873b73ffdda72e366749b29ff4de65c40696af19194103793e3/pypianoroll-0.4.6.tar.gz", "yanked": false, "yanked_reason": null } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "9fce6077db6c0c8d455bf0d07780c8b9", "sha256": "20cde4ddf55f573e3bee77f15f44004ada5c8e604bee60eb3c4eec02f8608c71" }, "downloads": -1, "filename": "pypianoroll-0.5.0.tar.gz", "has_sig": false, "md5_digest": "9fce6077db6c0c8d455bf0d07780c8b9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20830, "upload_time": "2018-09-13T19:42:34", "upload_time_iso_8601": "2018-09-13T19:42:34.261342Z", "url": "https://files.pythonhosted.org/packages/aa/33/fa38c07909e425add987146cb0f8d5ad80262f6a72cc820bf7e5f690d527/pypianoroll-0.5.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "e0b41813da8aa7ee3bacb01ae6e18ca7", "sha256": "5ec04f6383424d5bc97ffffb6448e9a21416d01e75024f8bd3c8ecb3c7097eb6" }, "downloads": -1, "filename": "pypianoroll-0.5.1.tar.gz", "has_sig": false, "md5_digest": "e0b41813da8aa7ee3bacb01ae6e18ca7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21011, "upload_time": "2019-10-23T23:17:02", "upload_time_iso_8601": "2019-10-23T23:17:02.419453Z", "url": "https://files.pythonhosted.org/packages/a0/3b/044241c9a0f755c5784acf30c473497c94bcd41c184615a825a07ef2beba/pypianoroll-0.5.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "0c08f11ea14add905738b87b950c5cf9", "sha256": "a2636017bed35d998cee7d302a2f41ae6399d4f54c6d15def447c83e67c96f03" }, "downloads": -1, "filename": "pypianoroll-0.5.2.tar.gz", "has_sig": false, "md5_digest": "0c08f11ea14add905738b87b950c5cf9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21006, "upload_time": "2019-10-24T08:36:48", "upload_time_iso_8601": "2019-10-24T08:36:48.581796Z", "url": "https://files.pythonhosted.org/packages/1c/ea/99a078d44089f1c7a062d5ec500e393bbd75958e513a7391d821bfddc05b/pypianoroll-0.5.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.5.3": [ { "comment_text": "", "digests": { "md5": "249a08c771fd388c04cc388976842ff1", "sha256": "21176fae8bb89515c795ded5dcb0638b0ec62482c7cd5c138e892cad586749f6" }, "downloads": -1, "filename": "pypianoroll-0.5.3.tar.gz", "has_sig": false, "md5_digest": "249a08c771fd388c04cc388976842ff1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21809, "upload_time": "2020-01-07T11:30:23", "upload_time_iso_8601": "2020-01-07T11:30:23.666739Z", "url": "https://files.pythonhosted.org/packages/17/93/cca689c3e7f217a4a1906f6b96e81c4d57d423ff6778dcc7af3bad11c638/pypianoroll-0.5.3.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "cc785c33072ddcc1d0d70eeea7549be9", "sha256": "2d44b7cb4c26a87ea2f3bdb8459128d474cd091ee857b24dd93ff9ae60dd3e83" }, "downloads": -1, "filename": "pypianoroll-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "cc785c33072ddcc1d0d70eeea7549be9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 26434, "upload_time": "2020-11-04T15:28:37", "upload_time_iso_8601": "2020-11-04T15:28:37.098066Z", "url": "https://files.pythonhosted.org/packages/0e/2d/c7f1e475127bdae7f4f0e16aa77d77c8be38d40d5c7284479936aa914f2d/pypianoroll-1.0.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "93651ea60e664b35f33c3169b8975a5e", "sha256": "541a5b7334420c09147881b5ddbf8f3330ee97f185ce32ae450e27cf5e95965a" }, "downloads": -1, "filename": "pypianoroll-1.0.0.tar.gz", "has_sig": false, "md5_digest": "93651ea60e664b35f33c3169b8975a5e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 22600, "upload_time": "2020-11-04T15:28:39", "upload_time_iso_8601": "2020-11-04T15:28:39.330860Z", "url": "https://files.pythonhosted.org/packages/76/54/9e7f6ce0b8944d4650222922beb2f1218e7069edb570b2e4439c6028aa00/pypianoroll-1.0.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "b2056b1af0ef5830b554de32f410ba49", "sha256": "c3addbe9188e6e5680b13a7fae88cd83cc4925397c00d380931fdff9f8e8d8ef" }, "downloads": -1, "filename": "pypianoroll-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "b2056b1af0ef5830b554de32f410ba49", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 26523, "upload_time": "2020-12-26T11:06:48", "upload_time_iso_8601": "2020-12-26T11:06:48.987057Z", "url": "https://files.pythonhosted.org/packages/6e/6b/d397990086c1bd3e81fcbf2fd07df29f383a5c17dffef301ed3faed98d41/pypianoroll-1.0.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "c312a60a4b3470a209ba452e7e558628", "sha256": "fdd7349301e292212d835eda071b2f6e93011f7ab0cda45af480c5e452c187ce" }, "downloads": -1, "filename": "pypianoroll-1.0.1.tar.gz", "has_sig": false, "md5_digest": "c312a60a4b3470a209ba452e7e558628", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 22620, "upload_time": "2020-12-26T11:06:50", "upload_time_iso_8601": "2020-12-26T11:06:50.035953Z", "url": "https://files.pythonhosted.org/packages/88/99/3b84564cc0e7acb251bad1a07afb3d2baa8d938b96e7d282ae9e85c18603/pypianoroll-1.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "e153f2b603995da1efc25e1e75ccd905", "sha256": "c8143ea32bddd304fd9bbe491e5a9b1164e5fdd51d2c6419041ff156c810c254" }, "downloads": -1, "filename": "pypianoroll-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "e153f2b603995da1efc25e1e75ccd905", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 26412, "upload_time": "2020-12-26T19:08:32", "upload_time_iso_8601": "2020-12-26T19:08:32.451289Z", "url": "https://files.pythonhosted.org/packages/67/c7/40f8aeb44964e56c2f94c3c70478daea4e02ca67f53b805380bbadae502e/pypianoroll-1.0.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "ed1284837936d2a4d0d988bc9ecf073f", "sha256": "f11e6928fa199363d71102ba9b14cea7af6e8a2f6c49b026e7170d68183030ed" }, "downloads": -1, "filename": "pypianoroll-1.0.2.tar.gz", "has_sig": false, "md5_digest": "ed1284837936d2a4d0d988bc9ecf073f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 22997, "upload_time": "2020-12-26T19:08:33", "upload_time_iso_8601": "2020-12-26T19:08:33.205973Z", "url": "https://files.pythonhosted.org/packages/d4/e7/3aa33ad4ef116beb207c97a68e1cc2ed3f0f078687988639b9335c6f62c8/pypianoroll-1.0.2.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "01f3d0929d6d0a26b59a1fe105297111", "sha256": "1da7abed0b184a0f6178d34e2c685640ba0f2280ad3504da8192c7a5b75f859c" }, "downloads": -1, "filename": "pypianoroll-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "01f3d0929d6d0a26b59a1fe105297111", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 26383, "upload_time": "2021-01-09T07:39:31", "upload_time_iso_8601": "2021-01-09T07:39:31.909906Z", "url": "https://files.pythonhosted.org/packages/ea/c2/3f884dca27ee7177220ee28b0aee42a1628a43e9548023b708da5b5f081a/pypianoroll-1.0.3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "0d10a06020583f9423ee37984ddf3e18", "sha256": "9de79f96b7591ebe7622130d0f73ede64ae498625678f517049d9aab891c9417" }, "downloads": -1, "filename": "pypianoroll-1.0.3.tar.gz", "has_sig": false, "md5_digest": "0d10a06020583f9423ee37984ddf3e18", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 21375, "upload_time": "2021-01-09T07:39:32", "upload_time_iso_8601": "2021-01-09T07:39:32.651975Z", "url": "https://files.pythonhosted.org/packages/9e/5b/7d0d82cf7cf0322ca5f9ce35da0ab62cadfcb234de0904ee50240e6c3c85/pypianoroll-1.0.3.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "377f5e37b07fd5acf9f041e1546bcece", "sha256": "39bf5814567ea5a0679e7706e6f4fbffa17be89cadd54b27e61aa9f3574bb793" }, "downloads": -1, "filename": "pypianoroll-1.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "377f5e37b07fd5acf9f041e1546bcece", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 26549, "upload_time": "2021-02-13T18:49:35", "upload_time_iso_8601": "2021-02-13T18:49:35.912775Z", "url": "https://files.pythonhosted.org/packages/1f/8b/d7e578a79b022e45c5568ee8436c6b9469f05f486b4f5b93a12e8fa1e50c/pypianoroll-1.0.4-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "f264b66114ed70e23a7207ddcb549a38", "sha256": "8708783afc88806b1259628ed9e32597c448a0f9c2b30b7a6ec4399682eba46f" }, "downloads": -1, "filename": "pypianoroll-1.0.4.tar.gz", "has_sig": false, "md5_digest": "f264b66114ed70e23a7207ddcb549a38", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 22780, "upload_time": "2021-02-13T18:49:36", "upload_time_iso_8601": "2021-02-13T18:49:36.832170Z", "url": "https://files.pythonhosted.org/packages/45/60/cb6ec0ec31d28ad3a1c1f105defd832bbf8db12c6dcc88668b67ec02459e/pypianoroll-1.0.4.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "377f5e37b07fd5acf9f041e1546bcece", "sha256": "39bf5814567ea5a0679e7706e6f4fbffa17be89cadd54b27e61aa9f3574bb793" }, "downloads": -1, "filename": "pypianoroll-1.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "377f5e37b07fd5acf9f041e1546bcece", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 26549, "upload_time": "2021-02-13T18:49:35", "upload_time_iso_8601": "2021-02-13T18:49:35.912775Z", "url": "https://files.pythonhosted.org/packages/1f/8b/d7e578a79b022e45c5568ee8436c6b9469f05f486b4f5b93a12e8fa1e50c/pypianoroll-1.0.4-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "f264b66114ed70e23a7207ddcb549a38", "sha256": "8708783afc88806b1259628ed9e32597c448a0f9c2b30b7a6ec4399682eba46f" }, "downloads": -1, "filename": "pypianoroll-1.0.4.tar.gz", "has_sig": false, "md5_digest": "f264b66114ed70e23a7207ddcb549a38", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 22780, "upload_time": "2021-02-13T18:49:36", "upload_time_iso_8601": "2021-02-13T18:49:36.832170Z", "url": "https://files.pythonhosted.org/packages/45/60/cb6ec0ec31d28ad3a1c1f105defd832bbf8db12c6dcc88668b67ec02459e/pypianoroll-1.0.4.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }