Tool recommendations¶

If you’re familiar with Python packaging and installation, and just want to know what tools are currently recommended, then here it is.

Application dependency management¶ Use Pipenv to manage library dependencies when developing Python applications. See Managing Application Dependencies for more details on using pipenv . When pipenv does not meet your use case, consider other tools like: pip

pip-tools

Poetry

Installation tool recommendations¶ Use pip to install Python packages from PyPI. Depending on how pip is installed, you may need to also install wheel to get the benefit of wheel caching.

Use virtualenv, or venv to isolate application specific dependencies from a shared Python installation.

If you’re looking for management of fully integrated cross-platform software stacks, consider: buildout: primarily focused on the web development community Spack, Hashdist, or conda: primarily focused on the scientific community.



Packaging tool recommendations¶ Use setuptools to define projects and create Source Distributions.

Use the bdist_wheel setuptools extension available from the wheel project to create wheels. This is especially beneficial, if your project contains binary extensions.

Use twine for uploading distributions to PyPI.