{ "info": { "author": "Addvilz", "author_email": "mrtreinis@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "License :: OSI Approved :: Apache Software License", "Operating System :: MacOS :: MacOS X", "Operating System :: POSIX", "Operating System :: POSIX :: Linux", "Operating System :: Unix", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "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": "Hemp\n=====\n\nEnvironment aware configuration and tools for `Fabric `_.\n\n.. image:: https://img.shields.io/pypi/v/Hemp.svg?style=flat-square :target: https://pypi.python.org/pypi/Hemp\n.. image:: https://img.shields.io/pypi/l/Hemp.svg?style=flat-square :target: https://pypi.python.org/pypi/Hemp\n.. image:: https://img.shields.io/pypi/pyversions/Hemp.svg?style=flat-square :target: https://pypi.python.org/pypi/Hemp\n.. image:: https://img.shields.io/github/issues/Addvilz/hemp.svg?style=flat-square :target: https://github.com/Addvilz/hemp/issues\n\nInstallation\n------------\n\n``pip install hemp``\n\nWhat is Hemp\n-------------\n\n| Hemp is wrapper around `Fabric `_\n that gives Fabric some environmental awareness and allows for use of configuration\n| files to set common or per-environment variables to be used in Fabric scripts.\n| Hemp is considered stable and production ready. \n| It is used internally by `MobileCashout `_ and has been\n| used to perform thousands of production deployments and uncountable amount of automation\n| tasks across multitude of platforms without any issues so far.\n\nUsage\n-----\n\n| Hemp executable wraps Fabric and performs some subtle alterations to\n how Fabric is loaded and executed, namely,\n| loading default tasks and configuration files before Fabric execution.\n| The command line interface is not any different than Fabric itself,\n so, running your tasks\n| as usual and replacing ``fab`` with ``hemp`` should work out of the\n box.\n\nDifferences from Fabric\n-----------------------\n\nFabfile location\n~~~~~~~~~~~~~~~~\n\n| By default, Fabric will load ``fabfile.py`` from current working\n directory or any of the parent directories.\n| Hemp extends this functionality to include ``fabfile.py`` located in\n ``$HOME`` of the current user.\n\n| This allows you to define your custom, shared utilties and tasks in\n one file, and use them without specifying the file\n| location explicitly when using Hemp.\n\nHemp files\n~~~~~~~~~~\n\n| Hemp loads configuration from Hemp configuration files called\n ``hemp.yml``. They are loaded, by default, from ``$HOME``\n| of the current user and current working directory.\n\n| If ``hemp.yml`` if found both at home directory of the user and\n current working directory, both files are loaded and\n| their contents merged recursively with contents of the ``hemp.yml``\n located in current working directory taking precedence.\n\nDefault stages\n~~~~~~~~~~~~~~\n\n| By default, specifying a stage requires stage config to be loaded\n before any other tasks are executed. It can be done\n| by invoking hemp with one of the predefined stage tasks or a custom\n one, passing the name as an argument to ``on`` task.\n\nConsider these samples:\n\n``hemp development [task]``\n\n``hemp on:development [task]``\n\nwill ultimately result in ``development`` stage to be used.\n\nSample environment configuration\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. code:: yaml\n\n hemp:\n environments:\n staging:\n roles:\n web: ['web0.host.com']\n db: ['web0.host.com']\n production:\n roles:\n web: ['web1.host.com', 'web2.host.com', 'web3.host.com', 'web4.host.com']\n db: ['web1.host.com']\n development:\n roles:\n web: ['web5.host.lan']\n db: ['web5.host.lan']\n # [...]\n\nLoading the hosts and roledefs\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n| When invoked with one of the stage tasks or ``on`` task, Hemp will\n load appropriate configs to Fabric\u2019s ``env`` dictionary.\n| For example, loading ``staging`` stage will populate ``env`` with\n fallowing values:\n\n.. code:: python\n\n env.hosts = ['web0.host.com']\n env.roledefs['web'] = ['web0.host.com']\n env.roledefs['db'] = ['web0.host.com']\n\nHost and role definition merging\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n| Instead of overwriting, Hemp will merge whatever values there are\n already located in ``env`` dictionary, both for hosts\n| and role definitions.\n\nAdditional ``env`` settings\n~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nAll root keys of the ``hemp.yml`` file will be loaded into Fabric\u2019s\n``env`` dictionary. For example, having configuration like\n\n.. code:: yaml\n\n hosts: ['a.com', 'b.com']\n hemp: [\n # ...\n ]\n\nwill result in ``env.hosts`` to be populated with ``a.com`` and\n``b.com``\n\nLicense\n-------\n\nLicensed under terms and conditions of Apache 2.0 license.", "description_content_type": "", "docs_url": null, "download_url": "https://github.com/Addvilz/hemp", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Addvilz/hemp", "keywords": "", "license": "Apache 2.0", "maintainer": "", "maintainer_email": "", "name": "Hemp", "package_url": "https://pypi.org/project/Hemp/", "platform": "UNIX", "project_url": "https://pypi.org/project/Hemp/", "project_urls": { "Download": "https://github.com/Addvilz/hemp", "Homepage": "https://github.com/Addvilz/hemp" }, "release_url": "https://pypi.org/project/Hemp/0.1.9/", "requires_dist": null, "requires_python": "", "summary": "Tools for Fabric", "version": "0.1.9" }, "last_serial": 4840518, "releases": { "0.0.10": [ { "comment_text": "", "digests": { "md5": "ea505d8a3cbc74f9e614eca3f9411e54", "sha256": "9d147ab6bd95ac88bbf1997e7c2523a72b3b424a58011be175eaa1ecbbfdb6bf" }, "downloads": -1, "filename": "Hemp-0.0.10.tar.gz", "has_sig": false, "md5_digest": "ea505d8a3cbc74f9e614eca3f9411e54", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9871, "upload_time": "2016-10-20T15:32:42", "url": "https://files.pythonhosted.org/packages/18/44/fc5350365bc9f0406409aa994de2712cfc9a9da6c752af776cc250db0e84/Hemp-0.0.10.tar.gz" } ], "0.0.11": [ { "comment_text": "", "digests": { "md5": "38018a913ff30e78701bcfe1bd3543d4", "sha256": "f04bd99f7ac58a4ec83ec6bc3e1df7f8891be38c6d8504e63a3cd304e25b4f7f" }, "downloads": -1, "filename": "Hemp-0.0.11.tar.gz", "has_sig": false, "md5_digest": "38018a913ff30e78701bcfe1bd3543d4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9827, "upload_time": "2016-10-20T15:40:53", "url": "https://files.pythonhosted.org/packages/19/43/e9e70dee83c57b527521246904884804e71d141b2cd47e4af1aa5b659aa9/Hemp-0.0.11.tar.gz" } ], "0.0.12": [ { "comment_text": "", "digests": { "md5": "6924eba6c6f6f9a41ceff889f0e55e35", "sha256": "3ab41b95ae08259fa4386bc9951313ffef6c057a771ace6d8ec5fadea16fd79b" }, "downloads": -1, "filename": "Hemp-0.0.12.tar.gz", "has_sig": false, "md5_digest": "6924eba6c6f6f9a41ceff889f0e55e35", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9833, "upload_time": "2016-10-20T15:44:24", "url": "https://files.pythonhosted.org/packages/19/96/36077c8d9a77c42171bd157feae30b1de86aab994bc6a640fe99c755833e/Hemp-0.0.12.tar.gz" } ], "0.0.13": [ { "comment_text": "", "digests": { "md5": "5e96b59da729eaaf8cbeefddc51acb5b", "sha256": "c6965444eb6cff7b442f8326b44cd2e5e84a070ec7ca38978ed2216212f17ee9" }, "downloads": -1, "filename": "Hemp-0.0.13.tar.gz", "has_sig": false, "md5_digest": "5e96b59da729eaaf8cbeefddc51acb5b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9964, "upload_time": "2016-10-20T15:51:35", "url": "https://files.pythonhosted.org/packages/22/70/8a648a7fc570e47c701afcc28b812138c365f240bf2962f112b9215e6af1/Hemp-0.0.13.tar.gz" } ], "0.0.14": [ { "comment_text": "", "digests": { "md5": "9f2a9bcd3b7eb09f05d80d92e5af152f", "sha256": "73095a5da58074104c01e0d881f1e123b8a2d4e3d227b48725d7079acf51e0d3" }, "downloads": -1, "filename": "Hemp-0.0.14.tar.gz", "has_sig": false, "md5_digest": "9f2a9bcd3b7eb09f05d80d92e5af152f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10059, "upload_time": "2016-10-20T16:39:03", "url": "https://files.pythonhosted.org/packages/04/7b/5469c4ece4c2a2a3a75fe285d2fdb702fdd42239d385fb63f3c1adf050e9/Hemp-0.0.14.tar.gz" } ], "0.0.15": [ { "comment_text": "", "digests": { "md5": "b8d75199fc55142c8866d9ac2ad4f4b7", "sha256": "fc232e062a8ebdd7ae24b1000c84765404a14c768333e9b0a84f038ae8cb0fe2" }, "downloads": -1, "filename": "Hemp-0.0.15.tar.gz", "has_sig": false, "md5_digest": "b8d75199fc55142c8866d9ac2ad4f4b7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11002, "upload_time": "2016-10-21T10:29:31", "url": "https://files.pythonhosted.org/packages/cd/36/9b56f3b5bd545ff82b73cb5f00f96a573ee957039633baaad066ed89557f/Hemp-0.0.15.tar.gz" } ], "0.0.16": [ { "comment_text": "", "digests": { "md5": "4c0de43d5315566485de9502ec2f5b33", "sha256": "bbaa38648310918290803543700fd2a01b18c34b64bc1337b6a026c64ee03fdc" }, "downloads": -1, "filename": "Hemp-0.0.16.tar.gz", "has_sig": false, "md5_digest": "4c0de43d5315566485de9502ec2f5b33", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11162, "upload_time": "2016-10-21T12:17:03", "url": "https://files.pythonhosted.org/packages/3f/6d/19949b0cebb760ea2249de018fc9ebec398cd9fa33e1598a1725c6d38dca/Hemp-0.0.16.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "f0b9d92eec5bfe40f9ac33ce92fe0925", "sha256": "66199ca8d271dd3b20816108fbf4a077e591ee0cfc304a364e6d7d20b98cffa9" }, "downloads": -1, "filename": "Hemp-0.0.3.tar.gz", "has_sig": false, "md5_digest": "f0b9d92eec5bfe40f9ac33ce92fe0925", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5377, "upload_time": "2016-10-15T16:50:14", "url": "https://files.pythonhosted.org/packages/d6/7c/7e1a17ffa2d195ea7e7f8e332d0abf2cddefc1ea0f2e537fe920afff6d3d/Hemp-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "8884d919239adac7da13e1372d96286e", "sha256": "b180c82ea6dac2079212bcd9e8ad408e790f11230e9166c88c7d26a2b5378cb9" }, "downloads": -1, "filename": "Hemp-0.0.4.tar.gz", "has_sig": false, "md5_digest": "8884d919239adac7da13e1372d96286e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6877, "upload_time": "2016-10-17T16:42:40", "url": "https://files.pythonhosted.org/packages/5b/ad/216e5caa7efe37f1fc57a737bf840481f22476812069c07b8c84eaf13060/Hemp-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "e5bbc1017d543021e62d5274352a7d58", "sha256": "3f2f5f120e9ca0f58ea6be04d1af41f6419e4334a0790372065f3f82437d2b8b" }, "downloads": -1, "filename": "Hemp-0.0.5.tar.gz", "has_sig": false, "md5_digest": "e5bbc1017d543021e62d5274352a7d58", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7234, "upload_time": "2016-10-17T16:52:20", "url": "https://files.pythonhosted.org/packages/f9/91/c5e9e7ab260e1356d7203a372328a0a786fbd2fe82d6ddd65483e29b0c45/Hemp-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "0d48b094f59c575e04a131bbaf4306e5", "sha256": "5df56b12f76a04a973110115c97ba6b0da88b99b92180966eaa2031226ff2264" }, "downloads": -1, "filename": "Hemp-0.0.6.tar.gz", "has_sig": false, "md5_digest": "0d48b094f59c575e04a131bbaf4306e5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8338, "upload_time": "2016-10-17T17:10:28", "url": "https://files.pythonhosted.org/packages/0a/00/08351f5171f1d549348165523ab0155dffd372a2418d32eb1730a7981334/Hemp-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "540d5886a447979e5e729e3159f3e96c", "sha256": "c747ed8c151c4cc227312752e61a4db534657dd123bbbdd9ad10c41c135f7c9e" }, "downloads": -1, "filename": "Hemp-0.0.7.tar.gz", "has_sig": false, "md5_digest": "540d5886a447979e5e729e3159f3e96c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8562, "upload_time": "2016-10-17T17:13:36", "url": "https://files.pythonhosted.org/packages/4a/a1/264ab1ad9dc8e83dddec913d8007614c6b31158e2742ac48a73c57d29070/Hemp-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "01444026ad7697c032022cbee2465369", "sha256": "366709bc23401025134f5f44152efdc828c8b6fb7956b0dafe8035cc37da2995" }, "downloads": -1, "filename": "Hemp-0.0.8.tar.gz", "has_sig": false, "md5_digest": "01444026ad7697c032022cbee2465369", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9822, "upload_time": "2016-10-20T15:11:51", "url": "https://files.pythonhosted.org/packages/cf/08/e969d6823c92af33a32e19d4a6c1b47816c0ed9df19ae5ce1ab3da4a528c/Hemp-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "b91be2a0c5fc794c3d03e172d63cde33", "sha256": "f484591f0de6a24e87231f9cc1d2f6b6525b8f36067fa490f8d67c79c7a93e9d" }, "downloads": -1, "filename": "Hemp-0.0.9.tar.gz", "has_sig": false, "md5_digest": "b91be2a0c5fc794c3d03e172d63cde33", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9833, "upload_time": "2016-10-20T15:30:23", "url": "https://files.pythonhosted.org/packages/10/e2/939a9f4799bbcc401df2a1f46173915e70216689f459a469a94d794332ee/Hemp-0.0.9.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "7b122aa948bfb11f05df6af7f093e748", "sha256": "950117cdd7b12d0914dcc2cef346bc0af9c92695556998528741c27a581b2dcf" }, "downloads": -1, "filename": "Hemp-0.1.0.tar.gz", "has_sig": false, "md5_digest": "7b122aa948bfb11f05df6af7f093e748", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11415, "upload_time": "2016-10-21T13:43:25", "url": "https://files.pythonhosted.org/packages/8b/9c/7538d40f20e563875a72abf47d8d202ece198bbcbd51122c23914c77c44a/Hemp-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "7feaf7064798dcf143227f3fd634ca96", "sha256": "f6b27515b2d489417a116c2587b355747f109953cb0719e4a8e215ea4b736752" }, "downloads": -1, "filename": "Hemp-0.1.1.tar.gz", "has_sig": false, "md5_digest": "7feaf7064798dcf143227f3fd634ca96", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11421, "upload_time": "2016-10-21T15:58:24", "url": "https://files.pythonhosted.org/packages/51/fa/ff6d85afe0089dade5f250d10ffb06ddfdafc6fd4a9b8d55c8e7428868ed/Hemp-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "0420143f611966a89864bc81171e1269", "sha256": "72f534d8f0027fe0716f29fc18a7ef1135e28e3fe28e86b40c162bf90a6e2350" }, "downloads": -1, "filename": "Hemp-0.1.2.tar.gz", "has_sig": false, "md5_digest": "0420143f611966a89864bc81171e1269", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11429, "upload_time": "2016-10-21T16:01:16", "url": "https://files.pythonhosted.org/packages/14/39/c29ea352a908c54dad2779fa0788bea2e35ce11a9a679a53f2e6819f8cb0/Hemp-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "84e6641fec2e618d4f31f8bc34d4ce34", "sha256": "9745c70641aca2b43ab55012dbf9be15c56adc2fdc5d0f8e01e38e6ad5801e8c" }, "downloads": -1, "filename": "Hemp-0.1.3.tar.gz", "has_sig": false, "md5_digest": "84e6641fec2e618d4f31f8bc34d4ce34", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11432, "upload_time": "2016-10-27T09:24:05", "url": "https://files.pythonhosted.org/packages/41/f5/0cc6ed0437db89f3218c367f8a618d324006aa8fe7b2b1022d53f1eee65a/Hemp-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "3173a139d96420ab949a247975fdbc80", "sha256": "c8e40e7fdcb3c74170409fe8af2c5bbb3aff64235fc22ef7f2733d898838adf3" }, "downloads": -1, "filename": "Hemp-0.1.4.tar.gz", "has_sig": false, "md5_digest": "3173a139d96420ab949a247975fdbc80", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13224, "upload_time": "2016-11-16T11:26:21", "url": "https://files.pythonhosted.org/packages/d5/6c/60689a2276c106063d874d0dafb9f35f2b19c2d89ab8a16eb1822c11f741/Hemp-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "8dc9ba5cbc96f6920a05d2db4bb703d7", "sha256": "5d9f9d2e9aa0ad56ec04befdd04c9cbff95d3b73fee224511e867ed5745b77b7" }, "downloads": -1, "filename": "Hemp-0.1.5.tar.gz", "has_sig": false, "md5_digest": "8dc9ba5cbc96f6920a05d2db4bb703d7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13227, "upload_time": "2016-11-17T13:07:13", "url": "https://files.pythonhosted.org/packages/00/7f/18ab50087a96919ffbf17fbd8b6b6568002ce9b2ab6d871a6df770902504/Hemp-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "d5851a3fd7c83a8eb4ac0f78e41f7be5", "sha256": "2cc1ce124da646a015048760535bc328c227cd74132ca0f62eb90a3a74839f81" }, "downloads": -1, "filename": "Hemp-0.1.6.tar.gz", "has_sig": false, "md5_digest": "d5851a3fd7c83a8eb4ac0f78e41f7be5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13227, "upload_time": "2016-11-17T13:13:53", "url": "https://files.pythonhosted.org/packages/37/ec/cdd18fb185d9ddb8c13f465e42923d4da83295520b4b7a6307a2f1b68920/Hemp-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "f3db289f4218fd380938e196ff2bda4e", "sha256": "abf66b8d032dcd33cb3632dcc29017626edd4e30fbe79e00da575552ede0c86d" }, "downloads": -1, "filename": "Hemp-0.1.7.tar.gz", "has_sig": false, "md5_digest": "f3db289f4218fd380938e196ff2bda4e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11804, "upload_time": "2018-06-06T07:53:29", "url": "https://files.pythonhosted.org/packages/f8/7b/da63c15be4789ec302d105f0d4f5b0c8d9c2539745fc1b458a31ec9d5b38/Hemp-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "95020de152928004e181e3ba9b812ad6", "sha256": "9855bce679cf5c625c7c892f92f7eefff8fa43a45a1a59636668be9506e0dee1" }, "downloads": -1, "filename": "Hemp-0.1.8.tar.gz", "has_sig": false, "md5_digest": "95020de152928004e181e3ba9b812ad6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11656, "upload_time": "2019-02-19T13:55:56", "url": "https://files.pythonhosted.org/packages/31/2b/4800a22808990ddfab5c3951a909a897aca61a945f5ae4117cfce6ce56de/Hemp-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "0360250b09cf522918f622b3a9520815", "sha256": "3804f7537197424da3fc0a4d4a8fa89553d8770f3de97d7db0a93488d44d372f" }, "downloads": -1, "filename": "Hemp-0.1.9.tar.gz", "has_sig": false, "md5_digest": "0360250b09cf522918f622b3a9520815", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11644, "upload_time": "2019-02-19T15:57:40", "url": "https://files.pythonhosted.org/packages/11/9a/27ffda6e48e3d150d70f745c31edc81c58d5a0c0123ad37c820488675c84/Hemp-0.1.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0360250b09cf522918f622b3a9520815", "sha256": "3804f7537197424da3fc0a4d4a8fa89553d8770f3de97d7db0a93488d44d372f" }, "downloads": -1, "filename": "Hemp-0.1.9.tar.gz", "has_sig": false, "md5_digest": "0360250b09cf522918f622b3a9520815", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11644, "upload_time": "2019-02-19T15:57:40", "url": "https://files.pythonhosted.org/packages/11/9a/27ffda6e48e3d150d70f745c31edc81c58d5a0c0123ad37c820488675c84/Hemp-0.1.9.tar.gz" } ] }