{ "info": { "author": "Jessamyn Smith", "author_email": "jessamyn.smith@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Software Development", "Topic :: Utilities" ], "description": "pipwrap\n=======\n\n|Build Status| |Coverage Status| |PyPI Version| |Supported Python Versions| |Downloads|\n\npipwrap simplifies handling Python project requirements across multiple\nenvironments. pip freeze > requirements.txt gets your project started,\nbut do you really want mock, coverage, etc. installed on your production\nserver? If you've ever found yourself sifting through the output of pip\nfreeze trying to figure out what packages you've installed but didn't yet\nadd to one of your requirements files, then pipwrap is the tool for you.\n\nFeatures\n--------\n\n- Create or update requirements files based on installed packages\n- Remove stray packages in virtualenv\n- List discrepancies between installed packages and requirements files\n\nInstallation\n------------\n\nYou can get pipwrap from PyPI with:\n\n::\n\n pip install pipwrap\n\nThe development version can be installed with:\n\n::\n\n pip install -e git://github.com/jessamynsmith/pipwrap.git#egg=pipwrap\n\nIf you are developing locally, your version can be installed from the\nworking directory with:\n\n::\n\n python setup.py.install\n\nUsage\n-----\n\nNote: You may ignore warnings about \"Recursive requirements not supported.\" These\nare due to current limitations of the requirements-parser library.\n\n**Getting Started with pipwrap**\n\n1. (Optional) Create requirements files with a list of your packages\n\n2. Interactively populate requirements files from currently installed\n packages:\n\n pipwrap -r\n\n3. Create a top-level requirements.txt file that points to your\n production requirements, e.g. \"-r production.txt\"\n\n**Keeping requirements up to date with pipwrap**\n\n1. Interactively update requirements files from currently installed\n packages:\n\n pipwrap -r # Adds packages in virtualenv\n\n pipwrap -rc # Adds packages in virtualenv and removes packages not in virtualenv\n\n2. Remove stray packages in virtualenv:\n\n pipwrap -x\n\n3. See discrepancies between installed packages and requirements files:\n\n pipwrap -l\n\nNOTE: This last option can be used to determine what the other options would do. Any packages\nin the \"Packages installed but not present in requirements\" section would be uninstalled with\nthe -x option or added to requirements with the -r option. Any packages in the \"Packages present\nin requirements but not installed\" section would be removed from the requirements files with the\n-rc option.\n\nDevelopment\n-----------\n\nFork the project on github and git clone your fork, e.g.:\n\n::\n\n git clone https://github.com//pipwrap.git\n\nCreate a virtualenv and install dependencies:\n\n::\n\n mkvirtualenv pipwrap\n pip install -r requirements/package.txt -r requirements/test.txt\n\nRun tests with coverage (should be 100%) and check code style:\n\n::\n\n coverage run -m nose\n coverage report -m\n flake8\n\nVerify all supported Python versions:\n\n::\n\n pip install tox\n tox\n\nInstall your local copy:\n\n::\n\n python setup.py.install\n\n\n.. |Build Status| image:: https://img.shields.io/circleci/project/github/jessamynsmith/pipwrap.svg\n :target: https://circleci.com/gh/jessamynsmith/pipwrap\n :alt: Build status\n.. |Coverage Status| image:: https://img.shields.io/coveralls/jessamynsmith/pipwrap.svg\n :target: https://coveralls.io/r/jessamynsmith/pipwrap?branch=master\n :alt: Coverage status\n.. |PyPI Version| image:: https://img.shields.io/pypi/v/pipwrap.svg\n :target: https://pypi.python.org/pypi/pipwrap\n :alt: Latest PyPI version\n.. |Supported Python Versions| image:: https://img.shields.io/pypi/pyversions/pipwrap.svg\n :target: https://pypi.python.org/pypi/pipwrap\n :alt: Supported Python versions\n.. |Downloads| image:: https://img.shields.io/pypi/dm/pipwrap.svg\n :target: https://pypi.python.org/pypi/pipwrap\n :alt: Number of PyPI downloads", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/jessamynsmith/pipwrap/archive/v0.2.1.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/jessamynsmith/pipwrap", "keywords": "pip,upgrade,requirements,heroku,development,production", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "pipwrap", "package_url": "https://pypi.org/project/pipwrap/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/pipwrap/", "project_urls": { "Download": "https://github.com/jessamynsmith/pipwrap/archive/v0.2.1.tar.gz", "Homepage": "https://github.com/jessamynsmith/pipwrap" }, "release_url": "https://pypi.org/project/pipwrap/0.2.1/", "requires_dist": null, "requires_python": null, "summary": "Manages pip requirements files for multiple environments, e.g. production and development", "version": "0.2.1" }, "last_serial": 2418552, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "35a9a6ebfc8894b84cf8c66c63ce8a3c", "sha256": "8191d7684357268a9817081ba30f0d005b16889df9d806ef2e804e8d95966446" }, "downloads": -1, "filename": "pipwrap-0.1.1.tar.gz", "has_sig": false, "md5_digest": "35a9a6ebfc8894b84cf8c66c63ce8a3c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7028, "upload_time": "2015-05-01T22:42:42", "url": "https://files.pythonhosted.org/packages/9e/70/23f4a7428208fad5b48c8ad42b864870bec2d90a3bac29d610ef9c6d167e/pipwrap-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "9e6b110ad4d50f07ce29b8997bcd0cb5", "sha256": "b030a3b8e8b78e2757e1778067d5c515187ab0a85ddb2a4075008b5ab016427d" }, "downloads": -1, "filename": "pipwrap-0.2.0.tar.gz", "has_sig": false, "md5_digest": "9e6b110ad4d50f07ce29b8997bcd0cb5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7799, "upload_time": "2015-05-13T21:29:17", "url": "https://files.pythonhosted.org/packages/e7/6a/1b1041d7546acf42303ae92f40d09e892713721de7d956c7f348922ec35a/pipwrap-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "82a0a2aa1ff0c002ad642c930d2a3903", "sha256": "89d0cda6e92f3b74d483bebc72322c13d37906f293f3f30869b930542647eb70" }, "downloads": -1, "filename": "pipwrap-0.2.1.tar.gz", "has_sig": false, "md5_digest": "82a0a2aa1ff0c002ad642c930d2a3903", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7765, "upload_time": "2015-08-22T01:47:17", "url": "https://files.pythonhosted.org/packages/da/2a/b14d9fdf352c1767f71738bd7277f94fa20c9c6b009b88ed541ac2b615f2/pipwrap-0.2.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "82a0a2aa1ff0c002ad642c930d2a3903", "sha256": "89d0cda6e92f3b74d483bebc72322c13d37906f293f3f30869b930542647eb70" }, "downloads": -1, "filename": "pipwrap-0.2.1.tar.gz", "has_sig": false, "md5_digest": "82a0a2aa1ff0c002ad642c930d2a3903", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7765, "upload_time": "2015-08-22T01:47:17", "url": "https://files.pythonhosted.org/packages/da/2a/b14d9fdf352c1767f71738bd7277f94fa20c9c6b009b88ed541ac2b615f2/pipwrap-0.2.1.tar.gz" } ] }