Developer Tools

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

Press / to search. Tap a tag to filter. Click any row for details.

Search and filter

Results

Row number Tags

Algorithms and Design Patterns 5 projects

If a Python algorithms library has to run in production, Sorted Containers gives you sorted lists, dicts, and sets. To learn, read The Algorithms - Python.

Fast and pure-Python implementation of sorted collections.
grantjenks/github.com/grantjenks/python-sortedcontainers / /205,648,066 downloads/month
Minimal examples of data structures and algorithms.
keon/github.com/keon/algorithms / /1,240 downloads/month
All Algorithms implemented in Python.
A collection of design patterns and idioms in Python.
Expressive statecharts and finite state machines with a declarative API, in sync and async codebases.
fgmacedo/github.com/fgmacedo/python-statemachine / /1,388,467 downloads/month

Interactive Interpreter 4 projects

Exploring code is easier in IPython than in the default Python interactive interpreter. Jupyter Notebook mixes code with notes and plots.

A powerful interactive Python shell, and the kernel behind Jupyter notebooks.
ipython/github.com/ipython/ipython / /95,842,456 downloads/month
A web-based notebook environment for interactive computing.
Also see: awesome-jupyter
jupyter/github.com/jupyter/notebook / /28,426,462 downloads/month
A reactive notebook for Python, stored as pure Python and runnable as a script or app.
marimo-team/github.com/marimo-team/marimo / /2,489,274 downloads/month
Advanced Python REPL built on top of the python-prompt-toolkit.
prompt-toolkit/github.com/prompt-toolkit/ptpython / /1,299,614 downloads/month

Code Analysis 16 projects

Lint and format with Ruff. It doesn't check types, so add a type checker, and let pre-commit run each Python code analysis tool on every commit.

A linter that enforces architectural constraints on imports between Python modules.
seddonym/github.com/seddonym/import-linter / /19,925,256 downloads/month
A tool for finding and analyzing dead Python code.
jendrikseipp/github.com/jendrikseipp/vulture / /14,581,345 downloads/month
Cognitive complexity analysis for Python code, written in Rust.
rohaquinlop/github.com/rohaquinlop/complexipy / /1,019,212 downloads/month
A tool to analyze Python code.
prospector-dev/github.com/prospector-dev/prospector / /292,439 downloads/month
A framework for managing and maintaining multi-language pre-commit hooks.
pre-commit/github.com/pre-commit/pre-commit / /145,105,012 downloads/month
An extremely fast Python linter and code formatter.
astral-sh/github.com/astral-sh/ruff / /292,809,437 downloads/month
The uncompromising Python code formatter.
psf/github.com/psf/black / /110,563,699 downloads/month
A Python utility / library to sort imports.
PyCQA/github.com/PyCQA/isort / /88,231,238 downloads/month
A fully customizable source code analyzer.
pylint-dev/github.com/pylint-dev/pylint / /37,386,366 downloads/month
A wrapper around pycodestyle, pyflakes and McCabe.
PyCQA/github.com/PyCQA/flake8 / /38,875,174 downloads/month
A tool designed to find common security issues in Python code.
PyCQA/github.com/PyCQA/bandit / /23,941,287 downloads/month
Rope is a python refactoring library.
python-rope/github.com/python-rope/rope / /1,341,507 downloads/month
A static type checker for Python.
python/github.com/python/mypy / /154,370,285 downloads/month
An extremely fast Python type checker and language server.
astral-sh/github.com/astral-sh/ty / /40,019,901 downloads/month
Full-featured static type checker for Python from Microsoft, the engine behind Pylance.
microsoft/github.com/microsoft/pyright / /39,444,766 downloads/month
A fast type checker and language server for Python.
facebook/github.com/facebook/pyrefly / /7,706,938 downloads/month

Testing 20 projects

pytest runs your unittest suites unchanged, so switching Python testing frameworks costs no rewrite. Hypothesis and Playwright tests run inside it too.

A mature full-featured Python testing tool.
Also see: awesome-pytest
pytest-dev/github.com/pytest-dev/pytest / /749,941,723 downloads/month
Hypothesis is an advanced Quickcheck style property based testing library.
HypothesisWorks/github.com/HypothesisWorks/hypothesis / /50,926,962 downloads/month
A generic test automation framework.
robotframework/github.com/robotframework/robotframework / /3,905,399 downloads/month
Auto builds and tests distributions in multiple Python versions.
tox-dev/github.com/tox-dev/tox / /13,966,048 downloads/month
Flexible test automation for Python.
wntrblm/github.com/wntrblm/nox / /3,689,221 downloads/month
Python version of the Playwright testing and automation library.
microsoft/github.com/microsoft/playwright-python / /92,527,903 downloads/month
Python bindings for Selenium WebDriver.
SeleniumHQ/github.com/SeleniumHQ/selenium / /27,599,046 downloads/month
Python framework for web automation & testing, with stealth options.
seleniumbase/github.com/seleniumbase/SeleniumBase / /1,296,676 downloads/month
Scalable user load testing tool written in Python.
locustio/github.com/locustio/locust / /9,373,024 downloads/month
A tool for automatic property-based testing of web APIs from OpenAPI or GraphQL schemas.
schemathesis/github.com/schemathesis/schemathesis / /3,045,889 downloads/month
(Python standard library) A mocking and patching library.
A utility library for mocking out the requests Python library.
getsentry/github.com/getsentry/responses / /51,239,704 downloads/month
Record and replay HTTP interactions on your tests.
kevin1024/github.com/kevin1024/vcrpy / /21,812,430 downloads/month
Mock HTTPX with awesome request patterns and response side effects.
lundberg/github.com/lundberg/respx / /22,741,318 downloads/month
Travel through time in your tests by mocking the current time at the C level.
adamchainz/github.com/adamchainz/time-machine / /19,335,669 downloads/month
A test fixtures replacement for Python.
FactoryBoy/github.com/FactoryBoy/factory_boy / /19,964,359 downloads/month
A mock data generation library based on type hints (continuation of pydantic-factories).
litestar-org/github.com/litestar-org/polyfactory / /11,237,295 downloads/month
Code coverage measurement.
coveragepy/github.com/coveragepy/coveragepy / /277,105,674 downloads/month
A Python package that generates fake data.
joke2k/github.com/joke2k/faker / /63,966,415 downloads/month
A Python library for generating fake but realistic data in multiple languages and locales.
lk-geimfari/github.com/lk-geimfari/mimesis / /1,972,514 downloads/month

Debugging Tools 10 projects

Stepping through code in ipdb gets you pdb with IPython's tab completion. Python debugging tools cover slow code too: py-spy profiles a running Python program.

IPython-enabled pdb.
gotcha/github.com/gotcha/ipdb / /13,650,873 downloads/month
A full-screen, console-based Python debugger.
inducer/github.com/inducer/pudb / /1,242,268 downloads/month
A low-overhead tool that traces and visualizes Python code execution.
gaogaotiantian/github.com/gaogaotiantian/viztracer / /1,172,010 downloads/month
A sampling profiler for Python programs. Written in Rust.
benfred/github.com/benfred/py-spy / /19,735,381 downloads/month
A memory profiler that tracks allocations in Python code, native extensions, and the interpreter itself.
bloomberg/github.com/bloomberg/memray / /10,763,066 downloads/month
A statistical wall-clock profiler with low overhead and readable call-tree output.
joerick/github.com/joerick/pyinstrument / /9,629,173 downloads/month
A high-performance, high-precision CPU, GPU, and memory profiler for Python.
plasma-umass/github.com/plasma-umass/scalene / /370,966 downloads/month
Display various debug information for Django.
django-commons/github.com/django-commons/django-debug-toolbar / /8,347,943 downloads/month
Inspect variables, expressions, and program execution with a single, simple function call.
gruns/github.com/gruns/icecream / /1,313,220 downloads/month
A port of the django-debug-toolbar to flask.
pallets-eco/github.com/pallets-eco/flask-debugtoolbar / /704,315 downloads/month

Build Tools 4 projects

Tasks like running your tests go in pyproject.toml for Poe the Poet to run. C and C++ projects that replace Make with a Python build tool pick SCons.

A tool for managing shell-oriented subprocesses and organizing executable Python code into CLI-invokable tasks.
pyinvoke/github.com/pyinvoke/invoke / /58,881,029 downloads/month
A task runner that defines tasks in pyproject.toml and works with poetry or uv.
nat-n/github.com/nat-n/poethepoet / /5,368,826 downloads/month
A software construction tool.
SCons/github.com/SCons/scons / /591,314 downloads/month
A task runner and build tool.
pydoit/github.com/pydoit/doit / /490,968 downloads/month

Documentation 5 projects

Write only docstrings, and pdoc is all the Python documentation generator you need. Write guides too, and build the site with Sphinx or Material for MkDocs.

Python Documentation generator.
Also see: awesome-sphinxdoc
sphinx-doc/github.com/sphinx-doc/sphinx/ / /17,719,503 downloads/month
A documentation framework and Material Design theme built on MkDocs.
squidfunk/github.com/squidfunk/mkdocs-material / /11,596,384 downloads/month
Diagram as Code.
mingrammer/github.com/mingrammer/diagrams / /970,770 downloads/month
Auto-generates API documentation for Python projects.
mitmproxy/github.com/mitmproxy/pdoc / /1,594,666 downloads/month
A modern static site generator for technical documentation.
zensical/github.com/zensical/zensical / /1,369,232 downloads/month

Know a project that belongs here?

Tell us what it does and why it stands out.