{ "info": { "author": "David Gidwani", "author_email": "david.gidwani@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: MacOS", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX :: Linux", "Operating System :: Unix", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Utilities" ], "description": "reqwire\n=======\n\n.. image:: https://api.codacy.com/project/badge/Grade/1130364b44eb4fddb0091e060f84351a\n :alt: Codacy Badge\n :target: https://www.codacy.com/app/darvid/reqwire?utm_source=github.com&utm_medium=referral&utm_content=darvid/reqwire&utm_campaign=badger\n\n.. image:: https://img.shields.io/pypi/v/reqwire.svg\n :target: https://pypi.python.org/pypi/reqwire\n\n.. image:: https://img.shields.io/pypi/pyversions/reqwire.svg\n :target: https://pypi.python.org/pypi/reqwire\n\n.. image:: https://travis-ci.org/darvid/reqwire.svg?branch=master\n :target: https://travis-ci.org/darvid/reqwire\n\n.. image:: https://img.shields.io/coveralls/darvid/reqwire.svg\n :target: https://coveralls.io/github/darvid/reqwire\n\n.. image:: https://badges.gitter.im/python-reqwire/Lobby.svg\n :alt: Join the chat at https://gitter.im/python-reqwire/Lobby\n :target: https://gitter.im/python-reqwire/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge\n\n**reqwire** wires up your pip requirements with `pip-tools`_.\n\n.. image:: https://asciinema.org/a/97035.png\n :align: center\n :target: https://asciinema.org/a/97035\n\nInstall\n-------\n\n>From **PyPI**::\n\n $ pip install -U reqwire\n\n>From **source**::\n\n $ pip install -e git+https://github.com/darvid/reqwire.git#egg=reqwire\n\nFeatures\n--------\n\n* Manage multiple requirement source files, or *tags*\n* Add requirements from the command line (\u00e0 la ``npm --save``)\n* Compile tagged source files with **pip-compile** (from `pip-tools`_)\n\nRationale\n---------\n\nUntil `PEP 518`_ and `Pipfile`_ become reality, maintaining one or more\n**requirements.txt** files for Python projects will continue to be\nsubject to personal preference and differing opinions on best practices\n[#]_. Typical workflows involve maintaining multiple\n**requirements.txt** files, and many projects have some form of tooling,\nbe it Makefile targets or external tools, such as Vincent Driessen's\nexcellent `pip-tools`_.\n\n**reqwire** is a glorified wrapper around pip-tools, and imposes a\nslightly opinionated workflow:\n\n* Python requirements are split into *source files* and *built files*,\n with the built files being the output from **pip-compile**, containing\n pinned versions of the entire dependency graph. (Use ``reqwire init``\n to quickly scaffold the necessary directory structure.)\n* *Source files* (with the ``.in`` extension) represent a project's\n immediate dependencies, and are always pinned to specific versions or\n version ranges.\n* Source filenames are synonymous with *tags*, which can be passed to\n ``reqwire add`` and ``reqwire build`` to maintain requirements for\n entirely separate environments.\n\n\nDisclaimer\n----------\n\n**reqwire** makes no claims about being designed specifically for\nhumans, bonobos, cats, or any other land mammal. This project is **not**\nfarm raised, free range, organic, low sugar, MSG free, gluten free,\nhalal, kosher, vegan, or particularly of any nutritional value\nwhatsoever. It just wraps `pip-tools`_ and helps you manage your freakin\nPython requirements. \u262e \ud83c\udf08\n\n\nLinks\n-----\n\n* `Source code `_\n* `Documentation `_\n\n\nRoadmap\n-------\n\n* Unit tests\n* Provide a command to update requirements (user-specified version)\n* Provide a command to freshen requirements\n* Provide a command to combine tags to a single output file\n (easily possible with **pip-compile**)\n* Provide a utility for generating setup and runtime requirements in\n setup.py scripts using setuptools.\n* Abandon in favor of `Pipfile`_ \ud83d\udc4c\n\n\n.. _pip-tools: https://github.com/nvie/pip-tools\n.. _PEP 518: https://www.python.org/dev/peps/pep-0518/\n.. _Pipfile: https://github.com/pypa/pipfile\n\n.. [#]\n\n\t- http://nvie.com/posts/pin-your-packages/\n\t- https://www.kennethreitz.org/essays/a-better-pip-workflow\n\t- https://mail.python.org/pipermail/distutils-sig/2015-December/027954.html\n\t- https://devcenter.heroku.com/articles/python-pip#best-practices\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/darvid/reqwire", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "reqwire", "package_url": "https://pypi.org/project/reqwire/", "platform": "", "project_url": "https://pypi.org/project/reqwire/", "project_urls": { "Homepage": "https://github.com/darvid/reqwire" }, "release_url": "https://pypi.org/project/reqwire/0.2.1/", "requires_dist": [ "atomicwrites", "biome", "emoji", "fasteners", "ordered-set", "pip-tools", "requests", "sh", "typing", "enum34; python_version==\"2.7\"", "pathlib2; python_version==\"2.7\"" ], "requires_python": "", "summary": "reqwire: wire up Python requirements with pip-tools.", "version": "0.2.1" }, "last_serial": 3051874, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "6f4e65e3b6449334dee30639b76f5aae", "sha256": "47c362996f94e8faa64154763538f0a41ababf9ec4772b2047c4df6655f00924" }, "downloads": -1, "filename": "reqwire-0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6f4e65e3b6449334dee30639b76f5aae", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 19401, "upload_time": "2016-12-22T20:00:51", "url": "https://files.pythonhosted.org/packages/bd/e5/2ab5d43610f0d382aae604274fd1704ea1d0199f1a5b8d5c11f55dbaf26f/reqwire-0.1-py2.py3-none-any.whl" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "4f0ad048a3910610e94669bf50c86a2d", "sha256": "576cd3bf50b397956e55e45a47358e61d1d295c17a1017cff2d692f18a1bb6f5" }, "downloads": -1, "filename": "reqwire-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4f0ad048a3910610e94669bf50c86a2d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 19439, "upload_time": "2016-12-22T22:52:06", "url": "https://files.pythonhosted.org/packages/d3/a8/ef263f20f6dd6aea9167cca63293ae9b8c6552558f0c5de9620b0e921d04/reqwire-0.1.1-py2.py3-none-any.whl" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "2cf07d571722c26765739d2c37a0dacf", "sha256": "1f30dc5583ba6d4e85ea6380543a9f04b6ed4c2d49b9eae104dccb6162af6775" }, "downloads": -1, "filename": "reqwire-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2cf07d571722c26765739d2c37a0dacf", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 19442, "upload_time": "2016-12-23T22:59:22", "url": "https://files.pythonhosted.org/packages/15/0e/adb5d3dd9dac108227043498800b81f04b857729c105d916583d5a9b112c/reqwire-0.1.2-py2.py3-none-any.whl" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "754435a217740c8a1d83ea797faf0504", "sha256": "19c359a9dee40ef075802975f0c66c1d2d995f35840f51f50e5db1e7bf5414e8" }, "downloads": -1, "filename": "reqwire-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "754435a217740c8a1d83ea797faf0504", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 19448, "upload_time": "2016-12-23T23:01:00", "url": "https://files.pythonhosted.org/packages/ea/5f/fc1d4f88a5d33eb3c7fada31cffe59b21f0b7724e6c31584788ed11b4a5d/reqwire-0.1.3-py2.py3-none-any.whl" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "4e8c3bdb4d8a5ea0a1daf0aaca8372f3", "sha256": "6330d49b9ab8e684091a821a7608e037491781a4d1f8fee1e886d2cf872474a2" }, "downloads": -1, "filename": "reqwire-0.1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4e8c3bdb4d8a5ea0a1daf0aaca8372f3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 19453, "upload_time": "2016-12-23T23:08:16", "url": "https://files.pythonhosted.org/packages/46/c7/715b3a9e26f5f477d4385eb2f1f3e8d231b27296378d90b9f006006b57d1/reqwire-0.1.4-py2.py3-none-any.whl" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "358207108a876e48c373dbbdcf165e1a", "sha256": "79ff0e905d5fd8451069bff6bbecc0637a918117c072edbb6ca7c5ace7536206" }, "downloads": -1, "filename": "reqwire-0.1.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "358207108a876e48c373dbbdcf165e1a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 19881, "upload_time": "2017-01-07T07:05:06", "url": "https://files.pythonhosted.org/packages/80/3b/a22d03bad2da6a4e0be3a99fc5aa3c8c58abcc5f95c583bda9a90078e6a2/reqwire-0.1.5-py2.py3-none-any.whl" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "acbad3bb3e481c2a16c13324e0f165fd", "sha256": "45a97516bc60469b53f83383066eb0358d80e47a06dc31e33a707b1e0f09e6aa" }, "downloads": -1, "filename": "reqwire-0.1.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "acbad3bb3e481c2a16c13324e0f165fd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 20107, "upload_time": "2017-01-07T21:19:54", "url": "https://files.pythonhosted.org/packages/10/f9/a2acfe23e1954fc89d556d15d7093d5136f63ec2415374552f531ff4bbcc/reqwire-0.1.6-py2.py3-none-any.whl" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "87da95918a4b856d7970110733f5300d", "sha256": "9f2eda2c42103a1b0b22c0a65c0d8e09f6430fcbe7cd42ec97fae96463cdc0de" }, "downloads": -1, "filename": "reqwire-0.1.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "87da95918a4b856d7970110733f5300d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 20151, "upload_time": "2017-01-09T23:41:09", "url": "https://files.pythonhosted.org/packages/b0/19/3dc03904b70ed455edd3dabb3dd0556d0bc1f5d933019c926887e7d25b7c/reqwire-0.1.7-py2.py3-none-any.whl" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "55976a70d63c3dbf29078dc96d4ea7be", "sha256": "711cf8dde3803031e8643639cc09e51b7929942f367c82484c8cc95970a87042" }, "downloads": -1, "filename": "reqwire-0.1.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "55976a70d63c3dbf29078dc96d4ea7be", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 20209, "upload_time": "2017-02-28T01:09:07", "url": "https://files.pythonhosted.org/packages/cd/5c/5495a237311545034761acad3a3e769d4ec57f87b31ee18b148a82435598/reqwire-0.1.8-py2.py3-none-any.whl" } ], "0.1a1": [ { "comment_text": "", "digests": { "md5": "0d5b8a171ad9ac567f1988ce59091b7a", "sha256": "a8a0fd976a344a5ce96deb7dae7ffa4893502ba8f43d1be7184855219ac92eee" }, "downloads": -1, "filename": "reqwire-0.1a1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0d5b8a171ad9ac567f1988ce59091b7a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14329, "upload_time": "2016-12-02T04:37:30", "url": "https://files.pythonhosted.org/packages/4a/37/f799157f5ec2cfc9b03dd430a48c5b3d27fb0f35a0a7675c3df20256f84d/reqwire-0.1a1-py2.py3-none-any.whl" } ], "0.1a2": [ { "comment_text": "", "digests": { "md5": "edba9b7f50d3b139fda0b274b0a97127", "sha256": "c9e2227523421611bb6b5ec63e65b11fef2187aa3168b8d29fc04032175f85f2" }, "downloads": -1, "filename": "reqwire-0.1a2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "edba9b7f50d3b139fda0b274b0a97127", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14554, "upload_time": "2016-12-03T06:16:49", "url": "https://files.pythonhosted.org/packages/ba/98/0ce8f6a3196b462d6588386b4862dca59de5d9aa77af3bf7c40990033c0b/reqwire-0.1a2-py2.py3-none-any.whl" } ], "0.1a3": [ { "comment_text": "", "digests": { "md5": "75c2511b1dea36add3f9a5e018dd77eb", "sha256": "885460f6bcfff9654b3c9b024dd8729dfd045186fc71cef4f277036492da02d3" }, "downloads": -1, "filename": "reqwire-0.1a3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "75c2511b1dea36add3f9a5e018dd77eb", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 18238, "upload_time": "2016-12-12T02:42:50", "url": "https://files.pythonhosted.org/packages/30/00/63adeb79051ff50602f4101b803bb7be7ab66bca059ce28e8cbb5d493d3c/reqwire-0.1a3-py2.py3-none-any.whl" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "46d10c751a304d21d88a57d99c2a63a5", "sha256": "ef67de092adc85c1e9620f647478a30b0f59b5fa921d006f83969ff4fafa37d3" }, "downloads": -1, "filename": "reqwire-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "46d10c751a304d21d88a57d99c2a63a5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 20417, "upload_time": "2017-04-19T00:39:20", "url": "https://files.pythonhosted.org/packages/a1/a5/85e4a3700ec6c533ab5d60a973babc7d68535c181429bdd345bfa4796289/reqwire-0.2.0-py2.py3-none-any.whl" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "b6eaa77b9dfce39fd8afa804543a80c7", "sha256": "bfe37824a0ea6b464d5f115de19ad02fddcf251b7397cf1efc11ecbce3c618f9" }, "downloads": -1, "filename": "reqwire-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b6eaa77b9dfce39fd8afa804543a80c7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 20086, "upload_time": "2017-07-27T03:47:46", "url": "https://files.pythonhosted.org/packages/a1/47/b16b52f3b6381d0bc8cae7ee365b7d8c432a47d61022ba6fb3ae06dbe7d3/reqwire-0.2.1-py2.py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b6eaa77b9dfce39fd8afa804543a80c7", "sha256": "bfe37824a0ea6b464d5f115de19ad02fddcf251b7397cf1efc11ecbce3c618f9" }, "downloads": -1, "filename": "reqwire-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b6eaa77b9dfce39fd8afa804543a80c7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 20086, "upload_time": "2017-07-27T03:47:46", "url": "https://files.pythonhosted.org/packages/a1/47/b16b52f3b6381d0bc8cae7ee365b7d8c432a47d61022ba6fb3ae06dbe7d3/reqwire-0.2.1-py2.py3-none-any.whl" } ] }