pipenv: Python Dependency Manager
pipenv is a tool for managing application dependencies analogous to npm for Node.js or bundler for Ruby.
Per the pipenv documentation:
Pipenv automatically creates and manages a virtualenv for your projects, as well as adds/removes packages from your Pipfile as you install/uninstall packages. It also generates a project Pipfile.lock, which is used to produce deterministic builds.
When to Use Pipenv
Pipenv fits teams already committed to a Pipfile-based workflow for an application project, where the existing lockfile and automatic virtualenv still cover the team’s needs. Its release cadence has slowed relative to newer tools, and it predates the pyproject.toml standards the rest of the packaging ecosystem has adopted.
For new projects, uv covers the same application dependency management with faster resolution and a standards-based pyproject.toml workflow. Existing Pipenv projects can follow How to migrate from Pipenv to uv.
pipenv should not be confused with pipx, pip-tools, pip, or pipfile which are related but distinct tools.