{ "info": { "author": "Josef Friedrich", "author_email": "josef@friedrich.rocks", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3 :: Only" ], "description": ".. image:: http://img.shields.io/pypi/v/mscxyz.svg\n :target: https://pypi.python.org/pypi/mscxyz\n :alt: This package on the Python Package Index\n\n.. image:: https://travis-ci.org/Josef-Friedrich/mscxyz.svg?branch=master\n :target: https://travis-ci.org/Josef-Friedrich/mscxyz\n :alt: Continuous integration\n\n.. image:: https://readthedocs.org/projects/mscxyz/badge/?version=latest\n :target: https://mscxyz.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\n======\nmscxyz\n======\n\nManipulate the XML based mscx files of the notation software MuseScore.\n\nInstallation\n============\n\nFrom Github\n-----------\n\n.. code:: Shell\n\n git clone https://github.com/Josef-Friedrich/mscxyz.git\n cd mscxyz\n python setup.py install\n\nFrom PyPI\n---------\n\n.. code:: Shell\n\n pip install mscxyz\n easy_install mscxyz\n\nUsage\n=====\n\n\nmscxyz\n======\n\n.. code-block:: text\n\n usage: mscx-manager [-h] [-V] [-b] [-c] [-d] [-g GENERAL_GLOB] [-m] [-v]\n {clean,meta,lyrics,rename,export,help} ... path\n \n A command line tool to manipulate the XML based \"*.mscX\" and \"*.mscZ\" files of\n the notation software MuseScore.\n \n positional arguments:\n path Path to a \"*.mscx\" file or a folder which contains\n \"*.mscx\" files. In conjunction with the subcommand\n \"help\" this positional parameter accepts the names of\n all other subcommands or the word \"all\".\n \n optional arguments:\n -h, --help show this help message and exit\n -V, --version show program's version number and exit\n -b, --backup Create a backup file.\n -c, --colorize Colorize the command line print statements.\n -d, --dry-run Simulate the actions.\n -g GENERAL_GLOB, --glob GENERAL_GLOB\n Handle only files which matches against Unix style\n glob patterns (e. g. \"*.mscx\", \"* - *\"). If you omit\n this option, the standard glob pattern \"*.mscx\" is\n used.\n -m, --mscore Open and save the XML file in MuseScore after\n manipulating the XML with lxml to avoid differences in\n the XML structure.\n -v, --verbose Make commands more verbose. You can specifiy multiple\n arguments (. g.: -vvv) to make the command more\n verbose.\n \n Subcommands:\n {clean,meta,lyrics,rename,export,help}\n Run \"subcommand --help\" for more informations.\n clean Clean and reset the formating of the \"*.mscx\" file\n meta Deal with meta data informations stored in the\n MuseScore file.\n lyrics Extract lyrics. Without any option this subcommand\n extracts all lyrics verses into separate mscx files.\n This generated mscx files contain only one verse. The\n old verse number is appended to the file name, e. g.:\n score_1.mscx.\n rename Rename the \"*.mscx\" files.\n export Export the scores to PDFs or to the specified\n extension.\n help Show help. Use \u201cmscx-manager help all\u201d to show help\n messages of all subcommands. Use \u201cmscx-manager help\n \u201d to show only help messages for the given\n subcommand.\n \n\nSubcommands\n===========\n\n\nmscx-manager clean\n------------------\n\n.. code-block:: text\n\n usage: mscx-manager clean [-h] [-s CLEAN_STYLE]\n \n optional arguments:\n -h, --help show this help message and exit\n -s CLEAN_STYLE, --style CLEAN_STYLE\n Load a \"*.mss\" style file and include the contents of\n this file.\n \n\nmscx-manager meta\n-----------------\n\n.. code-block:: text\n\n usage: mscx-manager meta [-h] [-c META_CLEAN] [-D]\n [-d SOURCE_FIELDS FORMAT_STRING] [-j]\n [-l DESTINATION FORMAT_STRING] [-s]\n [-S DESTINATION_FIELD FORMAT_STRING]\n \n MuseScore can store meta data informations in different places:\n \n # metatag\n \n ## XML structure of a meta tag:\n \n \n \n ## All meta tags:\n \n - arranger\n - composer\n - copyright\n - creationDate\n - lyricist\n - movementNumber\n - movementTitle\n - platform\n - poet\n - source\n - translator\n - workNumber\n - workTitle\n \n # vbox\n \n ## XML structure of a vbox tag:\n \n \n \n \n Some title text\n \n \n ## All vbox tags:\n \n - Title\n - Subtitle\n - Composer\n - Lyricist\n \n This command line tool bundles some meta data informations:\n \n # Combined meta data fields:\n \n - title (1. vbox_title 2. metatag_work_title)\n - subtitle (1. vbox_subtitle 2. metatag_movement_title)\n - composer (1. vbox_composer 2. metatag_composer)\n - lyricist (1. vbox_lyricist 2. metatag_lyricist)\n \n You have access to all this metadata fields through following fields:\n \n - combined_composer\n - combined_lyricist\n - combined_subtitle\n - combined_title\n - metatag_arranger\n - metatag_composer\n - metatag_copyright\n - metatag_creation_date\n - metatag_lyricist\n - metatag_movement_number\n - metatag_movement_title\n - metatag_platform\n - metatag_poet\n - metatag_source\n - metatag_translator\n - metatag_work_number\n - metatag_work_title\n - vbox_composer\n - vbox_lyricist\n - vbox_subtitle\n - vbox_title\n \n optional arguments:\n -h, --help show this help message and exit\n -c META_CLEAN, --clean META_CLEAN\n Clean the meta data fields. Possible values: \u201eall\u201c or\n \u201efield_one,field_two\u201c.\n -D, --delete-duplicates\n Deletes combined_lyricist if this field is equal to\n combined_composer. Deletes combined_subtitle if this\n field is equal tocombined_title. Move\n combined_subtitle to combimed_title if combined_title\n is empty.\n -d SOURCE_FIELDS FORMAT_STRING, --distribute-fields SOURCE_FIELDS FORMAT_STRING\n Distribute source fields to target fields applying a\n format string on the source fields. It is possible to\n apply multiple --distribute-fields options.\n SOURCE_FIELDS can be a single field or a comma\n separated list of fields: field_one,field_two. The\n program tries first to match the FORMAT_STRING on the\n first source field. If this fails, it tries the second\n source field ... an so on.\n -j, --json Additionally write the meta data to a json file.\n -l DESTINATION FORMAT_STRING, --log DESTINATION FORMAT_STRING\n Write one line per file to a text file. e. g. --log\n /tmp/mscx-manager.log '$title $composer'\n -s, --synchronize Synchronize the values of the first vertical frame\n (vbox) (title, subtitle, composer, lyricist) with the\n corresponding metadata fields\n -S DESTINATION_FIELD FORMAT_STRING, --set-field DESTINATION_FIELD FORMAT_STRING\n Set value to meta data fields.\n \n\nmscx-manager lyrics\n-------------------\n\n.. code-block:: text\n\n usage: mscx-manager lyrics [-h] [-e LYRICS_EXTRACT] [-r LYRICS_REMAP] [-f]\n \n optional arguments:\n -h, --help show this help message and exit\n -e LYRICS_EXTRACT, --extract LYRICS_EXTRACT\n The lyric verse number to extract or \"all\".\n -r LYRICS_REMAP, --remap LYRICS_REMAP\n Remap lyrics. Example: \"--remap 3:2,5:3\". This example\n remaps lyrics verse 3 to verse 2 and verse 5 to 3. Use\n commas to specify multiple remap pairs. One remap pair\n is separated by a colon in this form: \"old:new\": \"old\"\n stands for the old verse number. \"new\" stands for the\n new verse number.\n -f, --fix Fix lyrics: Convert trailing hyphens (\"la- la- la\") to\n a correct hyphenation (\"la - la - la\")\n \n\nmscx-manager rename\n-------------------\n\n.. code-block:: text\n\n usage: mscx-manager rename [-h] [-f RENAME_FORMAT] [-A] [-a] [-n] [-s FIELDS]\n [-t RENAME_TARGET]\n \n Fields and functions you can use in the format string (-f, --format):\n \n Fields\n ======\n \n - combined_composer\n - combined_lyricist\n - combined_subtitle\n - combined_title\n - metatag_arranger\n - metatag_composer\n - metatag_copyright\n - metatag_creation_date\n - metatag_lyricist\n - metatag_movement_number\n - metatag_movement_title\n - metatag_platform\n - metatag_poet\n - metatag_source\n - metatag_translator\n - metatag_work_number\n - metatag_work_title\n - readonly_abspath\n - readonly_basename\n - readonly_dirname\n - readonly_extension\n - readonly_filename\n - readonly_relpath\n - readonly_relpath_backup\n - vbox_composer\n - vbox_lyricist\n - vbox_subtitle\n - vbox_title\n \n Functions\n =========\n \n alpha\n -----\n \n %alpha{text}\n This function first ASCIIfies the given text, then all non alphabet\n characters are replaced with whitespaces.\n \n alphanum\n --------\n \n %alphanum{text}\n This function first ASCIIfies the given text, then all non alpanumeric\n characters are replaced with whitespaces.\n \n asciify\n -------\n \n %asciify{text}\n Translate non-ASCII characters to their ASCII equivalents. For\n example, \u201ccaf\u00e9\u201d becomes \u201ccafe\u201d. Uses the mapping provided by the\n unidecode module.\n \n delchars\n --------\n \n %delchars{text,chars}\n Delete every single character of \u201cchars\u201c in \u201ctext\u201d.\n \n deldupchars\n -----------\n \n %deldupchars{text,chars}\n Search for duplicate characters and replace with only one occurrance\n of this characters.\n \n first\n -----\n \n %first{text} or %first{text,count,skip} or\n %first{text,count,skip,sep,join}\n Returns the first item, separated by ; . You can use\n %first{text,count,skip}, where count is the number of items (default\n 1) and skip is number to skip (default 0). You can also use\n %first{text,count,skip,sep,join} where sep is the separator, like ; or\n / and join is the text to concatenate the items.\n \n if\n --\n \n %if{condition,truetext} or %if{condition,truetext,falsetext}\n If condition is nonempty (or nonzero, if it\u2019s a number), then returns\n the second argument. Otherwise, returns the third argument if\n specified (or nothing if falsetext is left off).\n \n ifdef\n -----\n \n %ifdef{field}, %ifdef{field,text} or %ifdef{field,text,falsetext}\n If field exists, then return truetext or field (default). Otherwise,\n returns falsetext. The field should be entered without $.\n \n ifdefempty\n ----------\n \n %ifdefempty{field,text} or %ifdefempty{field,text,falsetext}\n If field exists and is empty, then return truetext. Otherwise, returns\n falsetext. The field should be entered without $.\n \n ifdefnotempty\n -------------\n \n %ifdefnotempty{field,text} or %ifdefnotempty{field,text,falsetext}\n If field is not empty, then return truetext. Otherwise, returns\n falsetext. The field should be entered without $.\n \n initial\n -------\n \n %initial{text}\n Get the first character of a text in lowercase. The text is converted\n to ASCII. All non word characters are erased.\n \n left\n ----\n \n %left{text,n}\n Return the first \u201cn\u201d characters of \u201ctext\u201d.\n \n lower\n -----\n \n %lower{text}\n Convert \u201ctext\u201d to lowercase.\n \n nowhitespace\n ------------\n \n %nowhitespace{text,replace}\n Replace all whitespace characters with replace. By default: a dash (-)\n %nowhitespace{$track,_}\n \n num\n ---\n \n %num{number,count}\n Pad decimal number with leading zeros.\n %num{$track,3}\n \n replchars\n ---------\n \n %replchars{text,chars,replace}\n Replace the characters \u201cchars\u201d in \u201ctext\u201d with \u201creplace\u201d.\n %replchars{text,ex,-} > t--t\n \n right\n -----\n \n %right{text,n}\n Return the last \u201cn\u201d characters of \u201ctext\u201d.\n \n sanitize\n --------\n \n %sanitize{text}\n Delete in most file systems not allowed characters.\n \n shorten\n -------\n \n %shorten{text} or %shorten{text,max_size}\n Shorten \u201ctext\u201d on word boundarys.\n %shorten{$title,32}\n \n time\n ----\n \n %time{date_time,format,curformat}\n Return the date and time in any format accepted by strftime. For\n example, to get the year some music was added to your library, use\n %time{$added,%Y}.\n \n title\n -----\n \n %title{text}\n Convert \u201ctext\u201d to Title Case.\n \n upper\n -----\n \n %upper{text}\n Convert \u201ctext\u201d to UPPERCASE.\n \n optional arguments:\n -h, --help show this help message and exit\n -f RENAME_FORMAT, --format RENAME_FORMAT\n Format string.\n -A, --alphanum Use only alphanumeric characters.\n -a, --ascii Use only ASCII characters.\n -n, --no-whitespace Replace all whitespaces with dashes or sometimes\n underlines.\n -s FIELDS, --skip-if-empty FIELDS\n Skip rename action if FIELDS are empty. Separate\n FIELDS using commas: combined_composer,combined_title\n -t RENAME_TARGET, --target RENAME_TARGET\n Target directory\n \n\nmscx-manager export\n-------------------\n\n.. code-block:: text\n\n usage: mscx-manager export [-h] [-e EXPORT_EXTENSION]\n \n optional arguments:\n -h, --help show this help message and exit\n -e EXPORT_EXTENSION, --extension EXPORT_EXTENSION\n Extension to export. If this option is omitted, then\n the default extension is \"pdf\".\n \n\nmscx-manager help\n-----------------\n\n.. code-block:: text\n\n usage: mscx-manager help [-h] [-m] [-r]\n \n optional arguments:\n -h, --help show this help message and exit\n -m, --markdown Show help in markdown format. This option enables to\n generate the README file directly form the command line\n output.\n -r, --rst Show help in reStructuresText format. This option enables to\n generate the README file directly form the command line\n output.\n \n\nDevelopment\n===========\n\nTest\n----\n\n::\n\n tox\n\n\nPublish a new version\n---------------------\n\n::\n\n git tag 1.1.1\n git push --tags\n python setup.py sdist upload\n\n\nPackage documentation\n---------------------\n\nThe package documentation is hosted on\n`readthedocs `_.\n\nGenerate the package documentation:\n\n::\n\n python setup.py build_sphinx", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Josef-Friedrich/mscxyz", "keywords": "audio", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "mscxyz", "package_url": "https://pypi.org/project/mscxyz/", "platform": "", "project_url": "https://pypi.org/project/mscxyz/", "project_urls": { "Homepage": "https://github.com/Josef-Friedrich/mscxyz" }, "release_url": "https://pypi.org/project/mscxyz/1.0.0/", "requires_dist": null, "requires_python": ">=3.6", "summary": "A command line tool to manipulate the XML based *.mscX and *.mscZ files of the notation software MuseScore.", "version": "1.0.0" }, "last_serial": 4984434, "releases": { "0.0.1": [], "0.0.2": [ { "comment_text": "", "digests": { "md5": "1535a309e0d7a236ec3af9b18791257d", "sha256": "e15061fb073906bc9b279d38b39e8da49a7132ae6cb5397402b1185073d0dc4b" }, "downloads": -1, "filename": "mscxyz-0.0.2.tar.gz", "has_sig": false, "md5_digest": "1535a309e0d7a236ec3af9b18791257d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8681, "upload_time": "2016-08-26T08:20:21", "url": "https://files.pythonhosted.org/packages/02/a4/a0cf53e673782bce07e096fecee3513d4a7442f5e72f734e187040bf3607/mscxyz-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "d6d1a1b3949b1332de310562cb377f3f", "sha256": "24b942a7612d922505c5b31eac8e74e308268d51897bb99490f903f877405268" }, "downloads": -1, "filename": "mscxyz-0.0.3.tar.gz", "has_sig": false, "md5_digest": "d6d1a1b3949b1332de310562cb377f3f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11533, "upload_time": "2016-09-03T18:12:40", "url": "https://files.pythonhosted.org/packages/19/b1/3574cd696610b2663433cf512987e04b04f87c42aede948bc048f1b9b518/mscxyz-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "ec60dfecf22bd4e2e74a4bf0c397e7bd", "sha256": "c662a427ea8fe46b26c596efc8481846dc13b49e4f075207e17b1e8ea9111aaf" }, "downloads": -1, "filename": "mscxyz-0.0.4.tar.gz", "has_sig": false, "md5_digest": "ec60dfecf22bd4e2e74a4bf0c397e7bd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13288, "upload_time": "2016-09-14T21:40:21", "url": "https://files.pythonhosted.org/packages/88/5a/69b87b0a94eb21d40d3b305ac298de1bc2b3cda12aff6b4fe8612857e838/mscxyz-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "14f9a4ed9410e67d740f78771a4da987", "sha256": "f7375033559dc7065a578b4f9fc9b83ce69d1979b323c1b1b3da491453bc4ae0" }, "downloads": -1, "filename": "mscxyz-0.0.5.tar.gz", "has_sig": false, "md5_digest": "14f9a4ed9410e67d740f78771a4da987", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14774, "upload_time": "2016-10-01T22:05:14", "url": "https://files.pythonhosted.org/packages/7e/a4/2367a247beed3df12fb2da88ddc388b98698492573b37764fb242e6cb46e/mscxyz-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "71a0c007f66bae36a1867d652a0eafbf", "sha256": "020e1eb59899b70d15678055add5728c2169b15cb73ea32f021571733532b0c7" }, "downloads": -1, "filename": "mscxyz-0.0.6.tar.gz", "has_sig": false, "md5_digest": "71a0c007f66bae36a1867d652a0eafbf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31825, "upload_time": "2016-10-02T15:11:16", "url": "https://files.pythonhosted.org/packages/8d/05/3c78a380657a8b19d0bb0a4c8757f7607cf6ed93c312ce93ae5954d4256b/mscxyz-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "a16add09f40cc0f7a6ea2521ab902db1", "sha256": "0518c2552e92f7c5fe5ac5ed6024187278ac568b4162f5c6ea0aa581fde772ca" }, "downloads": -1, "filename": "mscxyz-0.0.7.tar.gz", "has_sig": false, "md5_digest": "a16add09f40cc0f7a6ea2521ab902db1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31976, "upload_time": "2016-10-09T07:48:08", "url": "https://files.pythonhosted.org/packages/23/44/5ed119f867f60d13d2704377c74dc16e0c0ec3681a41ecd3fdda82758cf4/mscxyz-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "d2600c9f7c6c4bc936a5606a9d214b78", "sha256": "dae137145de2b11fa9027a98bf956c16278c52db91d1ab62400f004a211689f0" }, "downloads": -1, "filename": "mscxyz-0.0.8.tar.gz", "has_sig": false, "md5_digest": "d2600c9f7c6c4bc936a5606a9d214b78", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33669, "upload_time": "2017-03-01T10:33:17", "url": "https://files.pythonhosted.org/packages/03/0e/d4a0ccb00bcb47c6e8f05089764ae3d6d838eb5e065b5e070fa6f75a119e/mscxyz-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "f6f2414ea0ae5acbf58ed075b8e8894d", "sha256": "4dd3e12556309b8c1db3f2d7030f4cc7ab839a34e352fc56af964b21515120b3" }, "downloads": -1, "filename": "mscxyz-0.0.9.tar.gz", "has_sig": false, "md5_digest": "f6f2414ea0ae5acbf58ed075b8e8894d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32610, "upload_time": "2017-12-15T19:59:21", "url": "https://files.pythonhosted.org/packages/23/97/08dee775712e4d4b4c3116832a457b44097a859a7fb570841e0df57f6b7b/mscxyz-0.0.9.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "7f6de7bd68928820006c98a99d914d1a", "sha256": "aee7c61053ca4618dbeae6d7b6d94644c212b9fd1f67054191f5ed74d586dc06" }, "downloads": -1, "filename": "mscxyz-0.1.0.tar.gz", "has_sig": false, "md5_digest": "7f6de7bd68928820006c98a99d914d1a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45361, "upload_time": "2018-03-11T11:20:00", "url": "https://files.pythonhosted.org/packages/2d/e6/4ce5d41f2d8aef536020b72105873aa8a4987300df71c0710f723dd123de/mscxyz-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "4040f7eb8831e7e0a9ec0657db31b5a2", "sha256": "bc8b3b8488bf97e980c7fb540de21829f85d4769d8082580004d336cdfb0810d" }, "downloads": -1, "filename": "mscxyz-0.1.1.tar.gz", "has_sig": false, "md5_digest": "4040f7eb8831e7e0a9ec0657db31b5a2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38200, "upload_time": "2018-04-26T07:02:17", "url": "https://files.pythonhosted.org/packages/6d/0b/004fe2556933c21205b00177ff429bfb5b052ea3574ffd6e68b0c4e58a39/mscxyz-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "12c9b21777bd9340d4cb7ea09211b2c0", "sha256": "72fe12739800d083f2000e575c59081eaa5b25fadf21d6002a30356295742485" }, "downloads": -1, "filename": "mscxyz-0.1.2.tar.gz", "has_sig": false, "md5_digest": "12c9b21777bd9340d4cb7ea09211b2c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38307, "upload_time": "2018-04-26T09:27:13", "url": "https://files.pythonhosted.org/packages/9b/cd/310f92b5f1e4a3c3b7fa65d49e1c117054c388f9348d6d03734bde327cd3/mscxyz-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "4e278c1d9712bef3da5122ce0ba6073d", "sha256": "0df0eef1c71dee9b9fb578631b55f0fb331cd7b2a9a48e375eeb040e5a03eaeb" }, "downloads": -1, "filename": "mscxyz-0.1.3.tar.gz", "has_sig": false, "md5_digest": "4e278c1d9712bef3da5122ce0ba6073d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38314, "upload_time": "2018-04-26T11:43:59", "url": "https://files.pythonhosted.org/packages/6b/0c/342d226eec7483f3b079bbf4c90a2d655c4ecfd35ed61092eec86302828e/mscxyz-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "ff484ad50361949e913db4080866963e", "sha256": "bbc51a0c7f5ae5bf738856b5f53eb53eb588161a23ebdf7f8ed88aed6c806796" }, "downloads": -1, "filename": "mscxyz-0.1.4.tar.gz", "has_sig": false, "md5_digest": "ff484ad50361949e913db4080866963e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38316, "upload_time": "2018-04-26T12:05:51", "url": "https://files.pythonhosted.org/packages/29/f2/0bc38cf1117033728e7d28acd870772a26b306f47794f9479c47f8f3114f/mscxyz-0.1.4.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "9511748076c8dc78d4f61862c8ce3399", "sha256": "d31e93e3ebacfc504cc6b2052695beab812ae45fa638f115bfe09faf5585dc5c" }, "downloads": -1, "filename": "mscxyz-0.1.6.tar.gz", "has_sig": false, "md5_digest": "9511748076c8dc78d4f61862c8ce3399", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39686, "upload_time": "2018-04-27T13:47:49", "url": "https://files.pythonhosted.org/packages/53/90/f2e9912da28458a1e3a620d788d32556adfb426481b920dd7536c39ea75b/mscxyz-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "296c7b11e7fe9c64b2abc1a454e1abdb", "sha256": "ab0ab225a951e8a5c2c6d6f57aad8ca6d4c16572254dbc13582192f4a89cd8b2" }, "downloads": -1, "filename": "mscxyz-0.1.7.tar.gz", "has_sig": false, "md5_digest": "296c7b11e7fe9c64b2abc1a454e1abdb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39724, "upload_time": "2018-04-27T20:09:54", "url": "https://files.pythonhosted.org/packages/99/f4/f9023ef90f2c93f839f3941327cc5f9556de3689df259ded8f0e2ecc7c2d/mscxyz-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "b8f0027faa4eced926fab0cd827b8637", "sha256": "5b69f2e071d2fd2eb2130d82fa773eb03792d9b52dd6ed85a9fd2978a514ca8e" }, "downloads": -1, "filename": "mscxyz-0.1.8.tar.gz", "has_sig": false, "md5_digest": "b8f0027faa4eced926fab0cd827b8637", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39638, "upload_time": "2019-02-14T23:12:37", "url": "https://files.pythonhosted.org/packages/6e/8d/895490e1fcc8340af3fcf2f53933561120571d09d4a3dadb994c1eee8e9e/mscxyz-0.1.8.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "ca6ca3203edcba3ae3b748a19f7022da", "sha256": "81ca6c37b8a5a1d3865ee09e187246b6fbb4d108b6d3663b6575d285e22c39ac" }, "downloads": -1, "filename": "mscxyz-1.0.0.tar.gz", "has_sig": false, "md5_digest": "ca6ca3203edcba3ae3b748a19f7022da", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 42792, "upload_time": "2019-03-25T20:18:00", "url": "https://files.pythonhosted.org/packages/be/85/23cf7a903328337aeb53677e300af7f0b0d703ee1158c278e63aa728cbc2/mscxyz-1.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ca6ca3203edcba3ae3b748a19f7022da", "sha256": "81ca6c37b8a5a1d3865ee09e187246b6fbb4d108b6d3663b6575d285e22c39ac" }, "downloads": -1, "filename": "mscxyz-1.0.0.tar.gz", "has_sig": false, "md5_digest": "ca6ca3203edcba3ae3b748a19f7022da", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 42792, "upload_time": "2019-03-25T20:18:00", "url": "https://files.pythonhosted.org/packages/be/85/23cf7a903328337aeb53677e300af7f0b0d703ee1158c278e63aa728cbc2/mscxyz-1.0.0.tar.gz" } ] }