pypa/pipenv

Created Dec 30, 2020 · View the pypa/pipenv repository page

Python Development Workflow for Humans.

Want this for your repo?

Render a free sample of any GitHub repo in seconds.

Visualize your own →

Contributors

368

Lines of Code

18,109

From

Jan 20, 2017

To

Dec 22, 2020

About pypa/pipenv

Pipenv is a Python virtualenv management tool that simplifies the development workflow by combining the functionality of pip and virtualenv into a single, user-friendly tool. It automatically creates and manages virtual environments for projects while handling package installation and removal, eliminating the need to use pip and virtualenv separately. Pipenv introduces the Pipfile and Pipfile.lock system as replacements for the traditional requirements.txt, where Pipfile contains abstract dependency declarations and Pipfile.lock captures the exact tested combination of dependencies with cryptographic hashes for deterministic, secure builds.

The tool addresses several pain points in Python development by providing automatic dependency tracking, generating and verifying file hashes for security, supporting multiple Python versions through integration with pyenv or asdf, and automatically discovering project boundaries by looking for a Pipfile. It includes features like dependency graph visualization through the graph command, security vulnerability checking, environment variable loading from .env files, and convenient shell spawning within the virtualenv. Pipenv also supports installing packages from version control systems and handles both regular and development dependencies separately.

Pipenv is primarily designed for application developers and users who want a consistent, reproducible project environment with minimal friction. It runs on Linux, macOS, and Windows, and requires Python 3.7 or above. The project is maintained by the PyPA (Python Packaging Authority) and includes a comprehensive command-line interface with commands for installing, uninstalling, locking, updating, and running code within the managed virtual environment.

Share this video