Python Toolchain

Listed by section, in editorial order. Click a column header to re-sort the whole list.

Press / to search. Tags open their category. Click a row for details.

Search and filter

Results

Row number Tags

Environment Management 4 projects

Since uv both downloads Python and creates virtual environments, one Python environment manager does the jobs that pyenv and virtualenv split between them.

A tool to create isolated Python environments.
pypa/github.com/pypa/virtualenv /5,059 stars /
An extremely fast Python version, package and project manager, written in Rust.
astral-sh/github.com/astral-sh/uv /91,340 stars /
Simple Python version management.
pyenv/github.com/pyenv/pyenv /45,170 stars /
A polyglot tool version manager that installs Python versions and reads .python-version files.
jdx/github.com/jdx/mise /35,548 stars /

Package Management 10 projects

uv manages your project with a lockfile, and doubles as a Python package manager. Its uv-build backend packages pure-Python code with reasonable defaults.

The package installer for Python.
pypa/github.com/pypa/pip /10,303 stars /
Python dependency management and packaging made easy.
Modern, extensible Python project manager for environments, builds, and publishing.
pypa/github.com/pypa/hatch /7,247 stars /
Install and run Python applications in isolated environments. Like npx in Node.js.
pypa/github.com/pypa/pipx /12,981 stars /
Cross-platform, Python-agnostic binary package manager.
conda/github.com/conda/conda /7,546 stars /
The historical and still most widely used pyproject build backend.
pypa/github.com/pypa/setuptools /2,872 stars /
Modern, extensible build backend from the hatch project.
pypa/github.com/pypa/hatch /7,247 stars /
Poetry's PEP 517 build backend, usable without Poetry itself.
Minimal, dependency-free build backend for pure-Python packages.
pypa/github.com/pypa/flit /2,260 stars /
uv's fast, minimal build backend for pure-Python projects.
astral-sh/github.com/astral-sh/uv /91,340 stars /

Package Repositories 3 projects

Private packages can live on a Python package repository you host, such as pypiserver. devpi serves them too, next to a cache of PyPI.

A minimal PyPI server for uploading and installing packages with pip.
pypiserver/github.com/pypiserver/pypiserver /2,073 stars /
PyPI server and packaging/testing/release tool.
devpi/github.com/devpi/devpi /1,249 stars /
PyPI mirroring tool provided by the Python Packaging Authority (PyPA).
pypa/github.com/pypa/bandersnatch /557 stars /

Distribution 5 projects

Users without Python installed can still run your app once PyInstaller takes it from Python script to exe. Pyarmor obfuscates the code you ship.

Converts Python programs into standalone executables (cross-platform).
Compiles Python programs into high-performance standalone executables (cross-platform).
Nuitka/github.com/Nuitka/Nuitka /15,211 stars /
A tool for building self-contained Python executable environments (PEP 441 zipapps).
pex-tool/github.com/pex-tool/pex /4,227 stars /
Converts Python scripts into standalone executables and installers for Windows, macOS, and Linux.
A tool used to obfuscate Python scripts, bind obfuscated scripts to a fixed machine or expire obfuscated scripts.
dashingsoft/github.com/dashingsoft/pyarmor /5,222 stars /

Configuration Files 5 projects

Settings that change between deployments belong in the environment, whatever Python configuration library you use. pydantic-settings reads them as typed fields.

(Python standard library) INI file parser.
Reads key-value pairs from a .env file and sets them as environment variables.
Settings management using Pydantic models with validation, loading from environment variables and secrets files.
Hydra is a framework for elegantly configuring complex applications.
Dynaconf is a configuration manager with plugins for Django and Flask.
dynaconf/github.com/dynaconf/dynaconf /4,337 stars /

Know a project that belongs here?

Tell us what it does and why it stands out.