Skip to main content

Setuptools extension for installing requirements

Project description

Version Downloads Status License

A setuptools extension that installs requirements based on pip requirements files.

Wait… Why? What??

Installing runtime dependencies is already handled by setuptools right? It’s as easy as running python setup.py develop?! Not quite…

setup.py is a great tool and the develop command is useful for setting up basic development and installing the dependencies identified by the setup_requires keyword. What it does not do is install any tools that are used for actually hacking on the code base. Many projects include a pip-formatted requirements file named requirements.txt for this very purposes. It contains the dependencies that you need to have installed to work on the project instead of use it. This extension aims to automate that pattern and make it easier to set up a development environment by providing a new setup command named requirements.

Having a separate requirements.txt is a good pattern but it is not without its flaws. Having dependencies identified in two places is an outright violation of the Don’t Repeat Yourself principle. That is something else that we can solve pretty easily with a function that you can read a pip-formatted requirements file and generate a list that is usable as the setup setup_requires, install_requires, or tests_require keywords. This is where the setupext.pip.read_requirements_from_file function comes in. You can use this function to populate the setup_requires, tests_require, and extras_require keywords.

Project details


Download files

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

Files for setupext-pip, version 1.1.0
Filename, size File type Python version Upload date Hashes
Filename, size setupext_pip-1.1.0-py2.py3-none-any.whl (6.0 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size setupext-pip-1.1.0.tar.gz (11.6 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page