{ "info": { "author": "Jeff Forcier", "author_email": "jeff@bitprophet.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "License :: OSI Approved :: BSD License", "Operating System :: MacOS :: MacOS X", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX", "Operating System :: Unix", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Software Development", "Topic :: Software Development :: Build Tools", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: System :: Software Distribution", "Topic :: System :: Systems Administration" ], "description": "Patchwork is a mid-level library of Unix system administration primitives such\nas \"install package\" or \"create user account\", interrogative functionality for\nintrospecting system state, and other commonly useful functions built on top of\nthe `Fabric `_ library.\n\nSpecifically:\n\n- Primary API calls strive to be **idempotent**: they may be called multiple\n times in a row without unwanted changes piling up or causing errors.\n- Patchwork **is just an API**: it has no concept of \"recipes\", \"manifests\",\n \"classes\", \"roles\" or other high level organizational units. This is left up\n to the user or wrapping libraries.\n\n - This is one way Patchwork differs from larger configuration management\n frameworks like `Chef `_ or `Puppet\n `_. Patchwork is closest in nature to those tools'\n \"resources.\"\n\n- It is implemented in **shell calls**, typically sent **over SSH** from a\n local workstation.\n\n - However, where possible, its functions expect a baseline Invoke\n `~invoke.context.Context` object and can thus run locally *or* remotely,\n depending on the specific context supplied by the caller.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://fabric-patchwork.readthedocs.io", "keywords": "", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "patchwork", "package_url": "https://pypi.org/project/patchwork/", "platform": "", "project_url": "https://pypi.org/project/patchwork/", "project_urls": { "Homepage": "https://fabric-patchwork.readthedocs.io" }, "release_url": "https://pypi.org/project/patchwork/1.0.1/", "requires_dist": [ "fabric (<3.0,>=2.0)" ], "requires_python": "", "summary": "Deployment/sysadmin operations, powered by Fabric", "version": "1.0.1" }, "last_serial": 3983151, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "b77231b545ca91e5e6a08044ef414946", "sha256": "2d5715d93abe85108e7617bc1c904507105058c6e6ce176af74cef77a435eff8" }, "downloads": -1, "filename": "patchwork-0.1.0.tar.gz", "has_sig": false, "md5_digest": "b77231b545ca91e5e6a08044ef414946", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2697, "upload_time": "2012-05-03T00:08:55", "url": "https://files.pythonhosted.org/packages/0e/de/9a3aff082f86a774191797b4fc9ecd2f76f795ffc7739eed29a484290e6e/patchwork-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "0dbe3a536b6f150aa7f7cb298ee58183", "sha256": "dd65651ffb83bc6d923a288a8b9ace67323d30bc0cdc51f75590a9c9e5c93c05" }, "downloads": -1, "filename": "patchwork-0.1.1.tar.gz", "has_sig": false, "md5_digest": "0dbe3a536b6f150aa7f7cb298ee58183", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7545, "upload_time": "2012-06-12T19:29:46", "url": "https://files.pythonhosted.org/packages/12/a8/6af2f9555fb66cf868773b1ae33b98b8f369003f57907e6342ec50942b2b/patchwork-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "bf8970f96a4b2b7703d838954b2d6b6a", "sha256": "b1fc17a32295b44bff02a60e5f4a34b1ea797192315ba99dddd56856f79ab333" }, "downloads": -1, "filename": "patchwork-0.1.2.tar.gz", "has_sig": false, "md5_digest": "bf8970f96a4b2b7703d838954b2d6b6a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9571, "upload_time": "2012-11-07T02:03:54", "url": "https://files.pythonhosted.org/packages/18/a1/7e8dbd906b74a6f5a867f87014bc32d8c82053aa5f508accceac2daf3009/patchwork-0.1.2.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "db00448b5e5485b0aa4678196ef9d366", "sha256": "5b4e9a7fa6603043edbaf71e384e5cc2d879c208af1a2879821c95901f14d389" }, "downloads": -1, "filename": "patchwork-0.2.0.tar.gz", "has_sig": false, "md5_digest": "db00448b5e5485b0aa4678196ef9d366", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10317, "upload_time": "2013-09-19T16:23:01", "url": "https://files.pythonhosted.org/packages/4d/2a/58ce0ec4255152548c080c7da7d8a3652dda23f24e399782aaf0e42461ed/patchwork-0.2.0.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "477a735adc2c73529f9f490f3e55407a", "sha256": "feaadc46245f459f1afcabcfa29dbd9dfa5bfad58f97f384494bc9a9c050301a" }, "downloads": -1, "filename": "patchwork-1.0.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "477a735adc2c73529f9f490f3e55407a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13610, "upload_time": "2018-05-10T07:39:21", "url": "https://files.pythonhosted.org/packages/e6/f5/b8e7aa66f713cc9a04b8d9195073471681e923d51e671531c6bf3237964e/patchwork-1.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e3d03d5cfc16c81065dc756e4fa179fe", "sha256": "5ea48755ebda81d3f45c0b2484c52617ff88be3d85593452d576950ba817309b" }, "downloads": -1, "filename": "patchwork-1.0.0.tar.gz", "has_sig": true, "md5_digest": "e3d03d5cfc16c81065dc756e4fa179fe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9481, "upload_time": "2018-05-10T07:39:23", "url": "https://files.pythonhosted.org/packages/3b/c6/598a97f9ad9461c1ab5fcf2d91aacefdc726030137eab557660ab1127d56/patchwork-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "77dafed747f80fbf5a3a56f94090f9e4", "sha256": "be5e8a52b9c604a853c9d841825b996ee084dfee3181f10e63a942d1fab2d699" }, "downloads": -1, "filename": "patchwork-1.0.1-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "77dafed747f80fbf5a3a56f94090f9e4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13629, "upload_time": "2018-06-20T22:14:15", "url": "https://files.pythonhosted.org/packages/52/52/c8f1fc421dcd85d61c7d5e346dd12491a8dfeb4ddc992cb9812b7f6c85b4/patchwork-1.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "358d29aa474ad3b499f1818d4c6a177c", "sha256": "c7fe2830dc3db21e51b9654772fdbe3f14cee6d42467bfceb3491891dd647b68" }, "downloads": -1, "filename": "patchwork-1.0.1.tar.gz", "has_sig": true, "md5_digest": "358d29aa474ad3b499f1818d4c6a177c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9491, "upload_time": "2018-06-20T22:14:17", "url": "https://files.pythonhosted.org/packages/8d/0f/df3d4d1846dc0b6d06e94c77709352bc867212d0caed1255c51bab6d5c2b/patchwork-1.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "77dafed747f80fbf5a3a56f94090f9e4", "sha256": "be5e8a52b9c604a853c9d841825b996ee084dfee3181f10e63a942d1fab2d699" }, "downloads": -1, "filename": "patchwork-1.0.1-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "77dafed747f80fbf5a3a56f94090f9e4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13629, "upload_time": "2018-06-20T22:14:15", "url": "https://files.pythonhosted.org/packages/52/52/c8f1fc421dcd85d61c7d5e346dd12491a8dfeb4ddc992cb9812b7f6c85b4/patchwork-1.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "358d29aa474ad3b499f1818d4c6a177c", "sha256": "c7fe2830dc3db21e51b9654772fdbe3f14cee6d42467bfceb3491891dd647b68" }, "downloads": -1, "filename": "patchwork-1.0.1.tar.gz", "has_sig": true, "md5_digest": "358d29aa474ad3b499f1818d4c6a177c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9491, "upload_time": "2018-06-20T22:14:17", "url": "https://files.pythonhosted.org/packages/8d/0f/df3d4d1846dc0b6d06e94c77709352bc867212d0caed1255c51bab6d5c2b/patchwork-1.0.1.tar.gz" } ] }