Skip to main content

Generate requirements[-dev].txt from Pipfile using pipenv

Project description

https://travis-ci.org/Stibbons/pipenv-to-requirements.svg?branch=master Pypi package MIT licensed

Generate requirements[-dev].txt from Pipfile (using pipenv).

Rational

Pipfile and its sibling Pipfile.lock are clearly superior tools defining clear dependencies or a package. Pipfile is to be maintained by the package’s developer while Pipfile.lock represent a clear image of what is currently installed on the current system, guarantying full reproductibility of the setup. See more information about Pipfile format here. Most of the time, Pipfile.lock should be ignored (ie, not tracked in your git) for packages published on Pypi.

pipenv is a great tool to maintain Pipfile, but developers might be stuck with backward compatibility issues for tools and services that still use requirements.txt and does not know how to handle Pipfile or Pipfile.lock yet.

For examples:

  • ReadTheDocs

  • Pyup

  • pip install (if you install a package with pip that does not have a requirements.txt, its dependencies won’t be installed, even if you use Pipfile)

Usage

Just before building source/binary/wheel package of your python module, only of the following commands:

  • To generate requirements files (ie, dependencies are described eventually by range):

    pipenv run pipenv_to_requirements
  • To generate frozen requirements (ie, all dependencies have their version frozen):

    pipenv run pipenv_to_requirements -f

It will generate requirements.txt and, if applicable, requirements-dev.txt, in the current directory.

ReadTheDocs

Simply commit these files in your tree so that readthedocs, and ensure they are synchronized each time you change your Pipfile. Do not forget to ask ReadTheDocs to use requirements-dev.txt when building the documentation.

Contributing

Create your development environment with

$ make dev

Execute unit tests:

$ make test

Code formatter:

$ make style

Code Style Checks:

$ make check

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pipenv-to-requirements-0.2.2.tar.gz (15.2 kB view details)

Uploaded Source

Built Distribution

pipenv_to_requirements-0.2.2-py2.py3-none-any.whl (10.5 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file pipenv-to-requirements-0.2.2.tar.gz.

File metadata

File hashes

Hashes for pipenv-to-requirements-0.2.2.tar.gz
Algorithm Hash digest
SHA256 cdee7f04e4749b87228e767784f30b7d87dd455740738501724616a35ae58dd2
MD5 e4515faab92c0902c6f59f783e02d035
BLAKE2b-256 a92e5ec6f9fea2c186d54a65982929fed75670039f95d003b6e6559d09c7fb10

See more details on using hashes here.

File details

Details for the file pipenv_to_requirements-0.2.2-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for pipenv_to_requirements-0.2.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 e3cc448d30f0b382f17ce82c65d09d4ebe9ea068979019ac5e631947cfac39a5
MD5 a1f77a9838b45e1dabd3c1f0b7434c3e
BLAKE2b-256 cc7b305fec28bbee9fc272f9d9fc99fc6e8ed938e30ca2cae30f5f7c6bcd235c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page