{ "info": { "author": "Riccardo Coccioli", "author_email": "rcoccioli@wikimedia.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: System Administrators", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Operating System :: MacOS :: MacOS X", "Operating System :: POSIX :: BSD", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3 :: Only", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: System :: Clustering", "Topic :: System :: Distributed Computing", "Topic :: System :: Systems Administration" ], "description": "Cumin - An automation and orchestration framework\n-------------------------------------------------\n\n|GitHub Release| |PyPI Release| |Build Status| |Coveralls Coverage| |Codcov Coverage| |Codacy| |License|\n\nCumin provides a flexible and scalable automation framework to execute multiple commands on multiple hosts in parallel.\n\nIt allows to easily perform complex selections of hosts through a user-friendly query language which can interface\nwith different backend modules and combine their results for a fine grained selection. The transport layer can also be\nselected, and can provide multiple execution strategies. The executed commands outputs are automatically grouped for an\neasy-to-read result.\n\nIt can be used both via its command line interface (CLI) `cumin` and as a Python 3 only library.\nCumin was Python 2 only before the 3.0.0 release, due to ClusterShell not yet being Python 3 compatible.\n\n\n|Cumin GIF|\n\nThe documentation is available on `Wikimedia Documentation`_ and `Read the Docs`_. The details on how Cumin it's used\nat the Wikimedia Foundation are available on `Wikitech`_.\n\n\n.. |GitHub Release| image:: https://img.shields.io/github/release/wikimedia/cumin.svg\n :target: https://github.com/wikimedia/cumin/releases\n.. |PyPI Release| image:: https://img.shields.io/pypi/v/cumin.svg\n :target: https://pypi.org/project/cumin/\n.. |Build Status| image:: https://travis-ci.org/wikimedia/cumin.svg?branch=master\n :target: https://travis-ci.org/wikimedia/cumin\n.. |Coveralls Coverage| image:: https://coveralls.io/repos/github/wikimedia/cumin/badge.svg?branch=master\n :target: https://coveralls.io/github/wikimedia/cumin\n.. |Codcov Coverage| image:: https://codecov.io/github/wikimedia/cumin/coverage.svg?branch=master\n :target: https://codecov.io/github/wikimedia/cumin\n.. |Codacy| image:: https://api.codacy.com/project/badge/Grade/73d9a429dc7343eb935471bf05826fc0\n :target: https://www.codacy.com/app/volans-/cumin\n.. |License| image:: https://img.shields.io/badge/license-GPLv3%2B-blue.svg\n :target: https://github.com/wikimedia/cumin/blob/master/LICENSE\n.. |Cumin GIF| image:: https://people.wikimedia.org/~volans/cumin.gif\n\n.. _`Read the Docs`: https://cumin.readthedocs.io\n.. _`Wikimedia Documentation`: https://doc.wikimedia.org/cumin\n.. _`Wikitech`: https://wikitech.wikimedia.org/wiki/Cumin\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/wikimedia/cumin", "keywords": "cumin,automation,orchestration", "license": "GPLv3+", "maintainer": "", "maintainer_email": "", "name": "cumin", "package_url": "https://pypi.org/project/cumin/", "platform": "GNU/Linux", "project_url": "https://pypi.org/project/cumin/", "project_urls": { "Homepage": "https://github.com/wikimedia/cumin" }, "release_url": "https://pypi.org/project/cumin/3.0.2/", "requires_dist": [ "clustershell (==1.8)", "colorama (>=0.3.2)", "pyparsing (==2.1.10)", "pyyaml (>=3.11)", "requests (>=2.11.0)", "tqdm (>=4.11.2)", "bandit (>=1.1.0); extra == 'tests'", "flake8 (>=3.2.1); extra == 'tests'", "prospector[with_everything] (>=0.12.4); extra == 'tests'", "pytest-cov (>=1.8.0); extra == 'tests'", "pytest-xdist (>=1.15.0); extra == 'tests'", "pytest (>=3.0.3); extra == 'tests'", "requests-mock (>=1.3.0); extra == 'tests'", "sphinx-rtd-theme (>=0.1.6); extra == 'tests'", "sphinx-argparse (>=0.1.15); extra == 'tests'", "Sphinx (>=1.4.9); extra == 'tests'", "vulture (<0.25,>=0.6); extra == 'tests'", "keystoneauth1 (>=2.4.1); extra == 'tests'", "python-keystoneclient (>=2.3.1); extra == 'tests'", "python-novaclient (>=3.3.1); extra == 'tests'", "bandit (>=1.1.0); extra == 'tests-base'", "flake8 (>=3.2.1); extra == 'tests-base'", "prospector[with_everything] (>=0.12.4); extra == 'tests-base'", "pytest-cov (>=1.8.0); extra == 'tests-base'", "pytest-xdist (>=1.15.0); extra == 'tests-base'", "pytest (>=3.0.3); extra == 'tests-base'", "requests-mock (>=1.3.0); extra == 'tests-base'", "sphinx-rtd-theme (>=0.1.6); extra == 'tests-base'", "sphinx-argparse (>=0.1.15); extra == 'tests-base'", "Sphinx (>=1.4.9); extra == 'tests-base'", "vulture (<0.25,>=0.6); extra == 'tests-base'", "bandit (==1.1.0); extra == 'tests-min'", "flake8 (==3.2.1); extra == 'tests-min'", "prospector[with_everything] (==0.12.4); extra == 'tests-min'", "pytest-cov (==1.8.0); extra == 'tests-min'", "pytest-xdist (==1.15.0); extra == 'tests-min'", "pytest (==3.0.3); extra == 'tests-min'", "requests-mock (==1.3.0); extra == 'tests-min'", "sphinx-rtd-theme (==0.1.6); extra == 'tests-min'", "sphinx-argparse (==0.1.15); extra == 'tests-min'", "Sphinx (==1.4.9); extra == 'tests-min'", "vulture (<0.25,==0.6); extra == 'tests-min'", "keystoneauth1 (==2.4.1); extra == 'tests-min'", "python-keystoneclient (==2.3.1); extra == 'tests-min'", "python-novaclient (==3.3.1); extra == 'tests-min'", "keystoneauth1 (>=2.4.1); extra == 'with-openstack'", "python-keystoneclient (>=2.3.1); extra == 'with-openstack'", "python-novaclient (>=3.3.1); extra == 'with-openstack'" ], "requires_python": "", "summary": "Automation and orchestration framework and CLI written in Python", "version": "3.0.2" }, "last_serial": 5577646, "releases": { "1.2.2": [ { "comment_text": "", "digests": { "md5": "d656ae8eb61fc806cad4bd1f25f878ca", "sha256": "7bf72b7792eae350ba93cab3c99f4d54c1173e6217c42215349ededb4471f04b" }, "downloads": -1, "filename": "cumin-1.2.2-py2-none-any.whl", "has_sig": true, "md5_digest": "d656ae8eb61fc806cad4bd1f25f878ca", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 53222, "upload_time": "2017-10-11T22:23:32", "url": "https://files.pythonhosted.org/packages/43/f0/259f4cdf4165a4f1762982735d7b39da4883250e863d1ea2e07634ae77d1/cumin-1.2.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9e2d20fadc632b22dd074d441d359081", "sha256": "06f76e31226848a29951980a84f677bfae9bfa4e5288c604450e72a84262e8fa" }, "downloads": -1, "filename": "cumin-1.2.2.tar.gz", "has_sig": true, "md5_digest": "9e2d20fadc632b22dd074d441d359081", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 92379, "upload_time": "2017-10-11T22:23:34", "url": "https://files.pythonhosted.org/packages/24/0b/e55467d3711394ea9be533194af3fd15df15de3f5a516be682807201fb68/cumin-1.2.2.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "2526bdbf3121756279b94029dce5fed8", "sha256": "cc3ff7649707614ce6ad02187e0489472b88e72c7f97df79d714ff67114ccac6" }, "downloads": -1, "filename": "cumin-1.3.0-py2-none-any.whl", "has_sig": true, "md5_digest": "2526bdbf3121756279b94029dce5fed8", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 47208, "upload_time": "2017-11-03T15:40:36", "url": "https://files.pythonhosted.org/packages/01/bb/ce19ee86ba90462e670f6315e9d983eefe0fcd6b47756dc02e7ea13d235a/cumin-1.3.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "15692d8c3c193d2e5bf668790b62cfbc", "sha256": "cb6ee299cbb9e1fc4df5571cd4613413b3757d6ce18eec27e754b486a4147897" }, "downloads": -1, "filename": "cumin-1.3.0.tar.gz", "has_sig": true, "md5_digest": "15692d8c3c193d2e5bf668790b62cfbc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 91501, "upload_time": "2017-11-03T15:40:38", "url": "https://files.pythonhosted.org/packages/23/0c/972a852e17229ed38c1bbc5a86477b8fdc839c307ec095e75a4e62d660a6/cumin-1.3.0.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "88b943a5c3f483b46ebd3ee00f36bbfe", "sha256": "bab75e0f3247fc04d38beb56d1ec23bb5438541150fca6aa084c881ac2b63e68" }, "downloads": -1, "filename": "cumin-2.0.0-py2-none-any.whl", "has_sig": true, "md5_digest": "88b943a5c3f483b46ebd3ee00f36bbfe", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 47686, "upload_time": "2018-01-19T17:27:15", "url": "https://files.pythonhosted.org/packages/a0/12/7f0337f076919390c2254798586f36d308477493718dcdbbe2c626338b28/cumin-2.0.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "95d056cc133456360eed31d53ebefccf", "sha256": "21b13f39c6a934f0f5f08dd6a83c190719f459eedbe93c7ba742cff8f9cedc2f" }, "downloads": -1, "filename": "cumin-2.0.0.tar.gz", "has_sig": true, "md5_digest": "95d056cc133456360eed31d53ebefccf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 95112, "upload_time": "2018-01-19T17:27:16", "url": "https://files.pythonhosted.org/packages/f8/f8/ec34ba326472142bf3c2cdd64faf43f63e7a263fc203f8983b3d9a9a1c1c/cumin-2.0.0.tar.gz" } ], "3.0.0": [ { "comment_text": "", "digests": { "md5": "1ba41a3eafd6dd2c54e79651552bdf98", "sha256": "36aa8f7d2725dcb0a856c00a7dee883a928f7ce29cec5fb0d9c97110bd459cae" }, "downloads": -1, "filename": "cumin-3.0.0-py3-none-any.whl", "has_sig": true, "md5_digest": "1ba41a3eafd6dd2c54e79651552bdf98", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 52997, "upload_time": "2018-02-19T20:04:32", "url": "https://files.pythonhosted.org/packages/83/3a/b32a8e06c067ff6f84030874e6826f5fbcf00ed36daf9435d497e9156c5d/cumin-3.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "db7621732423761d42d1db121689f763", "sha256": "f8094054943d5a7a48070a7009b3e3efaf2574e2dd96d96c9378806d1af01d58" }, "downloads": -1, "filename": "cumin-3.0.0.tar.gz", "has_sig": true, "md5_digest": "db7621732423761d42d1db121689f763", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 101723, "upload_time": "2018-02-19T20:04:35", "url": "https://files.pythonhosted.org/packages/2f/4d/fa742a219ba2c43f00fb5cfb22562ab3633a181fdad6f128eb8e71102881/cumin-3.0.0.tar.gz" } ], "3.0.1": [ { "comment_text": "", "digests": { "md5": "a56654fc983c7f281f3788537c6a6a76", "sha256": "68ec7c6816e2312f66a65d86a8f6f909655627aaa703a3b66d0b27fc38fe3729" }, "downloads": -1, "filename": "cumin-3.0.1-py3-none-any.whl", "has_sig": true, "md5_digest": "a56654fc983c7f281f3788537c6a6a76", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 53001, "upload_time": "2018-02-19T22:04:32", "url": "https://files.pythonhosted.org/packages/3b/8a/b6c02db04874675f174b59829c2213db13a45cbd5c515c237ade99fe9046/cumin-3.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "58001d57bf7d83bc69b768c9860d07c1", "sha256": "87c1d40c7ba4e5efc4cfafb69bcf1d2068ec595626c69975dde3c9d988e9ebf2" }, "downloads": -1, "filename": "cumin-3.0.1.tar.gz", "has_sig": true, "md5_digest": "58001d57bf7d83bc69b768c9860d07c1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 101259, "upload_time": "2018-02-19T22:04:35", "url": "https://files.pythonhosted.org/packages/79/fb/94772a2ae9c27f7e0a023fcd51161fa97ce951c344affcf6b2b10d8b0d43/cumin-3.0.1.tar.gz" } ], "3.0.2": [ { "comment_text": "", "digests": { "md5": "2ec1474e1a07b7ff4c6c89f897e1dd8d", "sha256": "4581205c9bb123d0067c654ba0f22e10b508128e46500138e69f73b169035865" }, "downloads": -1, "filename": "cumin-3.0.2-py3-none-any.whl", "has_sig": true, "md5_digest": "2ec1474e1a07b7ff4c6c89f897e1dd8d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 50652, "upload_time": "2018-07-30T10:58:55", "url": "https://files.pythonhosted.org/packages/24/60/986d21a95d26d23e7c4f3d5de80bf6dbc747d2c7b5904e3a54da0f5e3531/cumin-3.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3acb6295143b9b3dc579d3b6593bcc5e", "sha256": "b796e51243861e1da8665f30ddf977ce5ee683293e4f8eccb13890e6d52eb1e1" }, "downloads": -1, "filename": "cumin-3.0.2.tar.gz", "has_sig": true, "md5_digest": "3acb6295143b9b3dc579d3b6593bcc5e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 102213, "upload_time": "2018-07-30T10:58:57", "url": "https://files.pythonhosted.org/packages/90/98/9e76051c14a79de7b6510924309dbf2bdfa8a6090d7b6f26ebdcb87db25a/cumin-3.0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2ec1474e1a07b7ff4c6c89f897e1dd8d", "sha256": "4581205c9bb123d0067c654ba0f22e10b508128e46500138e69f73b169035865" }, "downloads": -1, "filename": "cumin-3.0.2-py3-none-any.whl", "has_sig": true, "md5_digest": "2ec1474e1a07b7ff4c6c89f897e1dd8d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 50652, "upload_time": "2018-07-30T10:58:55", "url": "https://files.pythonhosted.org/packages/24/60/986d21a95d26d23e7c4f3d5de80bf6dbc747d2c7b5904e3a54da0f5e3531/cumin-3.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3acb6295143b9b3dc579d3b6593bcc5e", "sha256": "b796e51243861e1da8665f30ddf977ce5ee683293e4f8eccb13890e6d52eb1e1" }, "downloads": -1, "filename": "cumin-3.0.2.tar.gz", "has_sig": true, "md5_digest": "3acb6295143b9b3dc579d3b6593bcc5e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 102213, "upload_time": "2018-07-30T10:58:57", "url": "https://files.pythonhosted.org/packages/90/98/9e76051c14a79de7b6510924309dbf2bdfa8a6090d7b6f26ebdcb87db25a/cumin-3.0.2.tar.gz" } ] }