{ "info": { "author": "Maxime Petazzoni", "author_email": "max@signalfx.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Console", "Intended Audience :: Developers", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Utilities" ], "description": "# MaestroNG\n\n[![Build Status](https://travis-ci.org/signalfx/maestro-ng.png)](https://travis-ci.org/signalfx/maestro-ng) [![Docs](https://readthedocs.org/projects/maestro-ng/badge/?version=latest)](http://maestro-ng.readthedocs.io)\n\n_MaestroNG is an orchestrator of Docker-based, multi-hosts environments._\n\nThe original [Maestro](http://github.com/toscanini/maestro) was developed\nas a single-host orchestrator for Docker-based deployments. Given the\nstate of Docker at the time of its writing, it was a great first step\ntowards orchestration of deployments using Docker containers as the unit\nof application distribution.\n\nDocker having made significant advancements since then, deployments and\nenvironments spanning across several hosts are becoming more and more\ncommon and are in the need for some orchestration.\n\nBased off ideas from the original Maestro and taking inspiration from\nDocker's _links_ feature, MaestroNG makes the deployment and control of\ncomplex, multi-host environments using Docker containers possible and\neasy to use. Maestro of course supports declared dependencies between\nservices and makes sure to honor those during environment bring up.\n\n## What is Maestro?\n\nMaestroNG is, for now, a command-line utility that allows for\nautomatically managing the orchestrated deployment and bring up of a set\nof service instance containers that compose an environment on a set of\ntarget host machines.\n\nEach host machine is expected to run a Docker daemon. Maestro will then\ncontact the Docker daemon of each host in the environment to figure out\nthe status of the environment and what actions to take based on the\nrequested command.\n\n## Dependencies\n\nMaestroNG requires Docker 0.6.7 or newer on the hosts as it makes use of\nthe container naming feature and bug fixes in NAT port forwarding.\n\nYou'll also need the following Python modules, although these will be\nautomatically installed by `setuptools` if you follow the instructions\nbelow.\n\n* A recent [docker-py](http://github.com/dotcloud/docker-py)\n* PyYAML (you may need to install this manually, e.g. `apt-get install python-yaml`)\n* Jinja2\n* Python Requests\n* `bgtunnel`\n* `six`\n\nIf you plan on using the HipChat auditor, you'll also need\n`python-simple-hipchat`.\n\n## Installation\n\nMaestro is distributed on the Python Package Index. You can install\nMaestro via _Pip_:\n\n```\n$ pip install --user --upgrade maestro-ng\n```\n\nIf you want the bleeding edge, you can install directly from the Git\nrepository:\n\n```\n$ pip install --user --upgrade git+git://github.com/signalfx/maestro-ng\n```\n\n### Note for MacOS users\n\nThe above command may fail if you installed Python and `pip` via\nHomebrew, usually with the following error message:\n\n```\nerror: can't combine user with prefix, exec_prefix/home, or install_(plat)base\n```\n\nThis is because the Homebrew formula for `pip` configures distutils with\nan installation prefix, and this cannot be combined with the use of the\n`--user` flag, as describe in https://github.com/Homebrew/homebrew/wiki/Homebrew-and-Python#note-on-pip-install---user.\n\nIf you encounter this problem, simply install the package without the\n`--user` flag:\n\n```\n$ pip install --upgrade git+git://github.com/signalfx/maestro-ng\n```\n\n### Use as a Docker container\n\nFirst, build your maestro-ng image using :\n```\ndocker build -t maestro-ng .\n```\n\nThen say you have a maestro-ng configuration named /fu/bar/myconf.yml\n\nIf you want to start this on a docker host without install python and its pip modules :\n```\ndocker run --rm -t -i -v /fu/bar/myconf.yml:/maestro.yaml maestro-ng \n```\nor, if the myconf.yml is in the current dir :\n```\ndocker run --rm -t -i -v $(pwd)/myconf.yml:/maestro.yaml maestro-ng \n```\n\n## Documentation\n\nThe [MaestroNG documentation](http://maestro-ng.readthedocs.io/) is\navailable on ReadTheDocs. For a overview of recent changes, see the\n[ChangeLog](docs/changes.md).\n\n## License\n\nMaestroNG is licensed under the Apache License, Version 2.0. See LICENSE for\nfull license text.\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/signalfx/maestro-ng", "keywords": "maestro docker orchestration deployment", "license": "Apache Software License v2", "maintainer": "", "maintainer_email": "", "name": "maestro-ng", "package_url": "https://pypi.org/project/maestro-ng/", "platform": "", "project_url": "https://pypi.org/project/maestro-ng/", "project_urls": { "Homepage": "https://github.com/signalfx/maestro-ng" }, "release_url": "https://pypi.org/project/maestro-ng/0.7.2/", "requires_dist": [ "docker-py (>=1.4.0)", "pyyaml", "jinja2", "six", "bgtunnel", "python-simple-hipchat", "slacker", "requests (>=2.7.0)", "netifaces" ], "requires_python": "", "summary": "Orchestrator for multi-host Docker deployments", "version": "0.7.2" }, "last_serial": 5893274, "releases": { "0.2.6.2": [ { "comment_text": "", "digests": { "md5": "091fc77a7dff131bd9a553ca00b9035c", "sha256": "893f8eaa77acb59852e7394229f76819b742ab9aac30589f04f8394e722171a3" }, "downloads": -1, "filename": "maestro_ng-0.2.6.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "091fc77a7dff131bd9a553ca00b9035c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 67361, "upload_time": "2015-05-27T17:38:15", "url": "https://files.pythonhosted.org/packages/3a/cd/c5e5c63f8669f2f739066b781679719412f7be2012da1b341fd6cf6fb41c/maestro_ng-0.2.6.2-py2.py3-none-any.whl" } ], "0.2.7": [ { "comment_text": "", "digests": { "md5": "a53286b57a65024f397461699f261658", "sha256": "b4da75448c47b2ee1cb7f7fe3cc4b325678fc332971084b42198c9a652b2b6eb" }, "downloads": -1, "filename": "maestro_ng-0.2.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a53286b57a65024f397461699f261658", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 46521, "upload_time": "2015-09-14T15:19:46", "url": "https://files.pythonhosted.org/packages/d6/de/5a527ad77aca2a8321bf91625dfb88137c5318eb6926c01f4b5f530d8974/maestro_ng-0.2.7-py2.py3-none-any.whl" } ], "0.2.8": [ { "comment_text": "", "digests": { "md5": "67b42a343bbaabb5640c256d3ee1e9e0", "sha256": "f1304bafb1bc322e2141881fbbafa85d5e40e184ecfdcc94d0a6a186da02a371" }, "downloads": -1, "filename": "maestro_ng-0.2.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "67b42a343bbaabb5640c256d3ee1e9e0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 47679, "upload_time": "2015-11-25T19:34:49", "url": "https://files.pythonhosted.org/packages/07/6e/2f6cf090c4b60811efba1855d67356fc99cb2072b69c30d8c218c592eab5/maestro_ng-0.2.8-py2.py3-none-any.whl" } ], "0.2.8.1": [ { "comment_text": "", "digests": { "md5": "97db8a3b475c61b197d59368ea687f1d", "sha256": "901fc841aa386a9d67bcba2105cfc783aac0b2c7d381b567d2bb7351d73ccee3" }, "downloads": -1, "filename": "maestro_ng-0.2.8.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "97db8a3b475c61b197d59368ea687f1d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 47758, "upload_time": "2015-11-25T22:27:25", "url": "https://files.pythonhosted.org/packages/e2/5a/1ab4b28b13904247aca96fe2096722c79337ef7b40fed1c6fa9c7823b18f/maestro_ng-0.2.8.1-py2.py3-none-any.whl" } ], "0.2.8.2": [ { "comment_text": "", "digests": { "md5": "d2bba339da0a7f2daf63ef5ee8330651", "sha256": "0a07cd20739bd8eb6adcbed9b088459ea63896585b5d88ce9f32b5d0cf63aa41" }, "downloads": -1, "filename": "maestro_ng-0.2.8.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d2bba339da0a7f2daf63ef5ee8330651", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 47968, "upload_time": "2015-12-03T00:54:38", "url": "https://files.pythonhosted.org/packages/b6/e4/cb2938033f0ba867b1c45aa39f73f10eed64d95eed2a4e280704700bf994/maestro_ng-0.2.8.2-py2.py3-none-any.whl" } ], "0.2.9": [], "0.3.14": [ { "comment_text": "", "digests": { "md5": "123ddf20e95ab5ed4a134c35030252d2", "sha256": "2375e0ca51189b1c4064a56e1df5538d8f688d0d06b0390aaeb23917bceb6859" }, "downloads": -1, "filename": "maestro_ng-0.3.14-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "123ddf20e95ab5ed4a134c35030252d2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 48010, "upload_time": "2016-03-14T19:33:39", "url": "https://files.pythonhosted.org/packages/16/e1/9fea71839cbd3e65df13f05cc73e2df8d358578ee2fc7794695fa3f36601/maestro_ng-0.3.14-py2.py3-none-any.whl" } ], "0.3.15": [ { "comment_text": "", "digests": { "md5": "769e289350cdaf161dc9c248e0002860", "sha256": "3aa190afb117896a881662cc13341c5cd07de033f96e9c2b10027201508d7956" }, "downloads": -1, "filename": "maestro_ng-0.3.15-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "769e289350cdaf161dc9c248e0002860", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 48377, "upload_time": "2016-05-10T19:22:57", "url": "https://files.pythonhosted.org/packages/25/7b/d05f3353fb05a2854d05840cf6024a9ba948185949fb5f888c2b36e9fb16/maestro_ng-0.3.15-py2.py3-none-any.whl" } ], "0.3.16": [ { "comment_text": "", "digests": { "md5": "d368dfa489751fd52e1f6665ce6f1a64", "sha256": "859c3a5cb1bad36f544fd3750d7c9749c08548526a1d7c1742a30d6d8e865775" }, "downloads": -1, "filename": "maestro_ng-0.3.16-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d368dfa489751fd52e1f6665ce6f1a64", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 48710, "upload_time": "2016-06-10T18:25:42", "url": "https://files.pythonhosted.org/packages/52/57/e2a416213577d745f2ff5c50251155e8a293f6cc76a2a3c3a0cf545f3ff3/maestro_ng-0.3.16-py2.py3-none-any.whl" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "bc141e6ac74ab6ed2bb2bf4fca39e83d", "sha256": "1196040180add61bc13a52b354a9eafb80e0a3fd63700bbfdc356d5da8459fa5" }, "downloads": -1, "filename": "maestro_ng-0.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bc141e6ac74ab6ed2bb2bf4fca39e83d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 50092, "upload_time": "2016-09-07T18:25:39", "url": "https://files.pythonhosted.org/packages/ef/35/910800c63679f5217abd7cd1c23ea262d23768dca048fb209b4dcfae4444/maestro_ng-0.4.0-py2.py3-none-any.whl" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "222666151fc20ec7cd838f9d515b6609", "sha256": "31c9949aa7f4691474d1b43112a909d886b0422b29759834e70fff5227d72ef4" }, "downloads": -1, "filename": "maestro_ng-0.4.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "222666151fc20ec7cd838f9d515b6609", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 50149, "upload_time": "2016-09-10T17:46:41", "url": "https://files.pythonhosted.org/packages/a3/af/9e37ffd8415cf618e655f5ea4aaa7b480f68dc675d4cec8845642fbe95e9/maestro_ng-0.4.1-py2.py3-none-any.whl" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "1e83ab8a0344b8095775dc1e28937a96", "sha256": "28e9abbce4bc37a9ccd12c65f42161ae4573a04282dc9d71170c95f868a74169" }, "downloads": -1, "filename": "maestro_ng-0.4.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1e83ab8a0344b8095775dc1e28937a96", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 50295, "upload_time": "2016-11-29T16:14:50", "url": "https://files.pythonhosted.org/packages/32/a3/036ea08d18877868607f6f172a1ddbbe06d27aa36d74b10f74405c6022f5/maestro_ng-0.4.2-py2.py3-none-any.whl" } ], "0.4.3": [ { "comment_text": "", "digests": { "md5": "6bf3d329b2894e9effd5ce3564b2b9be", "sha256": "086121df150dd222b445cd4d9b95326335fd63eac06a8b9e4f69c43770fecca9" }, "downloads": -1, "filename": "maestro_ng-0.4.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6bf3d329b2894e9effd5ce3564b2b9be", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 50301, "upload_time": "2017-01-20T02:19:52", "url": "https://files.pythonhosted.org/packages/cd/ec/38306439b00e9a9182c190678445d61c66d23f42bde7304125c7426ffd05/maestro_ng-0.4.3-py2.py3-none-any.whl" } ], "0.4.4": [ { "comment_text": "", "digests": { "md5": "1f505e83f7e036e8e6e5fba06c25df4a", "sha256": "c5b87deab41c64576ef3c58ee3b2e2d1b7761e5019376f78f085d1ed240f2946" }, "downloads": -1, "filename": "maestro_ng-0.4.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1f505e83f7e036e8e6e5fba06c25df4a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 50315, "upload_time": "2017-01-20T02:25:13", "url": "https://files.pythonhosted.org/packages/eb/13/891538a234f06cfa02703611efd96864da39a503c4bb1dcb3558cc22db12/maestro_ng-0.4.4-py2.py3-none-any.whl" } ], "0.4.5": [ { "comment_text": "", "digests": { "md5": "11c83389ce372ca734409f016ac346d3", "sha256": "9826d6e2394e68cba8be917a5452c88e9461a14dd39233ef31381286a1b074e0" }, "downloads": -1, "filename": "maestro_ng-0.4.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "11c83389ce372ca734409f016ac346d3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 50276, "upload_time": "2017-08-07T16:39:30", "url": "https://files.pythonhosted.org/packages/f2/d0/93761492d0c07d25631a273c076b9857162ca1270ab14f1ee916122d4aa8/maestro_ng-0.4.5-py2.py3-none-any.whl" } ], "0.4.6": [ { "comment_text": "", "digests": { "md5": "484abf1ed70e987d7714e7b50cc141d6", "sha256": "46ae5f6e2db3e3324560951bf23c550e239a9b795b6c64f03bb13726855bf629" }, "downloads": -1, "filename": "maestro_ng-0.4.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "484abf1ed70e987d7714e7b50cc141d6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 50347, "upload_time": "2017-09-19T23:38:03", "url": "https://files.pythonhosted.org/packages/9b/a2/f5b6738f5269e22f6d59a06e0de77f0096d2ea0cb301b97dbb3ecd311242/maestro_ng-0.4.6-py2.py3-none-any.whl" } ], "0.4.7": [ { "comment_text": "", "digests": { "md5": "1ef63b52d285965c7883eac51dd30751", "sha256": "4d65568b57bad689c88aebde6ab7f3de799a9d1ba59fc3ab743b7a8df2bb0b2b" }, "downloads": -1, "filename": "maestro_ng-0.4.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1ef63b52d285965c7883eac51dd30751", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 50339, "upload_time": "2018-03-19T20:21:00", "url": "https://files.pythonhosted.org/packages/b7/77/1ac537d9f4a4c14259f892e7017955427f3226b601726ba2c9373aa9ce95/maestro_ng-0.4.7-py2.py3-none-any.whl" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "6b102eec5b15dbc908700f577f05f538", "sha256": "382f7e38612be3a84c2814e405463bf5c5e29e2a64c871652a5e9a39e1fcb342" }, "downloads": -1, "filename": "maestro_ng-0.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6b102eec5b15dbc908700f577f05f538", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 48036, "upload_time": "2018-04-30T19:55:03", "url": "https://files.pythonhosted.org/packages/cb/03/92c708de4703644855f87d35e7b8150a50cdb9b346c27e41258fa888e1ce/maestro_ng-0.5.0-py2.py3-none-any.whl" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "e5d356ad58b0d96e5b4a1486de39c136", "sha256": "c7bd984026a4068daf69f3b67782b3b3dc85ce7ea404ec3ba1a1b2e30ba51fdc" }, "downloads": -1, "filename": "maestro_ng-0.5.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e5d356ad58b0d96e5b4a1486de39c136", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 48054, "upload_time": "2018-05-23T18:11:22", "url": "https://files.pythonhosted.org/packages/66/d2/8028b9079e337f2518c62d9061a1347b7c3bb142fb3e1a9a0cd566a8a11c/maestro_ng-0.5.1-py2.py3-none-any.whl" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "867134ef8d4b2aaaf4e57754604731c2", "sha256": "76518b2dd562df0be9a5f38c8a7d0ea62c0834d044eee51c491a31e5a19971fa" }, "downloads": -1, "filename": "maestro_ng-0.5.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "867134ef8d4b2aaaf4e57754604731c2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 48169, "upload_time": "2018-07-05T21:50:08", "url": "https://files.pythonhosted.org/packages/a8/bc/84a04aab6aa4f28f9d62ea2997f150547137207cfd6e9c7dc68cb6400c98/maestro_ng-0.5.2-py2.py3-none-any.whl" } ], "0.5.3": [ { "comment_text": "", "digests": { "md5": "3c8d5dd7415725e4955a2f1e88b48fa2", "sha256": "4308a145259deea180cd64e7de29c0b7d459271f13411b8d026bce9ece1c9ac2" }, "downloads": -1, "filename": "maestro_ng-0.5.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3c8d5dd7415725e4955a2f1e88b48fa2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 48645, "upload_time": "2018-08-07T05:30:59", "url": "https://files.pythonhosted.org/packages/c8/3a/db17cfea9191d0e84c65e4cda9739494f2f6602a225b8b50d70f9f2eb318/maestro_ng-0.5.3-py2.py3-none-any.whl" } ], "0.5.4": [ { "comment_text": "", "digests": { "md5": "d9e40ae4533223da9ee2d41ba7a8e65b", "sha256": "4c69d0ae3879d1cdaaf675c670c9cffdf877551e744d19f85c5653093474a433" }, "downloads": -1, "filename": "maestro_ng-0.5.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d9e40ae4533223da9ee2d41ba7a8e65b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 48672, "upload_time": "2018-08-07T05:53:37", "url": "https://files.pythonhosted.org/packages/48/be/63ef0a4c71fd8c5d2481d608afc7c0dd2483a7d7f3c5c0e7df98d4c01ec4/maestro_ng-0.5.4-py2.py3-none-any.whl" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "2ffa542f7ce5b28762ea14c5fb7f2466", "sha256": "c2b2bc64279d3cf968daa5fdc782b30c954000e08a5fdad4d5932d8ff32562fe" }, "downloads": -1, "filename": "maestro_ng-0.6.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2ffa542f7ce5b28762ea14c5fb7f2466", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 53531, "upload_time": "2018-11-24T03:27:23", "url": "https://files.pythonhosted.org/packages/a0/d7/c9b501e97d8332c326d4ceef619a2d1de4c87eab70161b7031cec169f5c0/maestro_ng-0.6.0-py2.py3-none-any.whl" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "93d949ed2add0563397f424853f26155", "sha256": "93b5d01415b3eeea372ab04ddbeb806b604bce29d5d71145dcf9b0c27dbdeaff" }, "downloads": -1, "filename": "maestro_ng-0.7.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "93d949ed2add0563397f424853f26155", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 53769, "upload_time": "2019-04-17T18:06:40", "url": "https://files.pythonhosted.org/packages/7a/84/f7393023f2387a9889d8ddd4a9a3f469f66e75e119f3ff76c4587801a93e/maestro_ng-0.7.0-py2.py3-none-any.whl" } ], "0.7.1": [ { "comment_text": "", "digests": { "md5": "20a1609456cd0ece863e06132ef27edb", "sha256": "a7771dd6fbe925a4469183435c3543bc9c6807897178b78a8c04e3363328123f" }, "downloads": -1, "filename": "maestro_ng-0.7.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "20a1609456cd0ece863e06132ef27edb", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 53802, "upload_time": "2019-09-09T15:38:52", "url": "https://files.pythonhosted.org/packages/15/3c/99e67ba6c37e263c1776c47e31922be97003e3625f3feb6e48bb92c062dc/maestro_ng-0.7.1-py2.py3-none-any.whl" } ], "0.7.2": [ { "comment_text": "", "digests": { "md5": "66a31bc5a54a0ab24ec15e3cc52ebee1", "sha256": "140eed38cf0e8fb4afc7250263f2ec221f7eaa949bdd909116c93b228a1cc705" }, "downloads": -1, "filename": "maestro_ng-0.7.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "66a31bc5a54a0ab24ec15e3cc52ebee1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 53840, "upload_time": "2019-09-26T23:19:13", "url": "https://files.pythonhosted.org/packages/91/6f/f13e02305b07d65424eab2cee29fde617c79964141ba16e41d77532ebe6e/maestro_ng-0.7.2-py2.py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "66a31bc5a54a0ab24ec15e3cc52ebee1", "sha256": "140eed38cf0e8fb4afc7250263f2ec221f7eaa949bdd909116c93b228a1cc705" }, "downloads": -1, "filename": "maestro_ng-0.7.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "66a31bc5a54a0ab24ec15e3cc52ebee1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 53840, "upload_time": "2019-09-26T23:19:13", "url": "https://files.pythonhosted.org/packages/91/6f/f13e02305b07d65424eab2cee29fde617c79964141ba16e41d77532ebe6e/maestro_ng-0.7.2-py2.py3-none-any.whl" } ] }