This curated list contains 270 awesome open-source projects with a total of 840K stars grouped into 17 categories. All projects are ranked by a project-quality score, which is calculated based on various metrics automatically collected from GitHub and different package managers. If you like to add or update projects, feel free to open an issue, submit a pull request, or directly edit the projects.yaml. Contributions are very welcome!
Contents
- Linters & Style Checkers 40 projects
- Type checkers 5 projects
- Code Formatters 7 projects
- Code Refactoring 18 projects
- Code Security 8 projects
- Virtual Environments 10 projects
- Dependency & Package Managers 11 projects
- Code Metrics & Complexity 6 projects
- Logging 21 projects
- Shell 2 projects
- Documentation 29 projects
- Debugging Tools 13 projects
- Testing Tools 43 projects
- Code Packaging 16 projects
- Build Tools 14 projects
- System Monitoring & Profiling 18 projects
- AST Tools 6 projects
- Others 1 projects
Explanation
π₯ π₯ π₯ Β Combined project-quality scoreβοΈ Β Star count from GitHubπ£ Β New project (less than 6 months old)π€ Β Inactive project (6 months no activity)π Β Dead project (12 months no activity)π π Β Project is trending up or downβ Β Project was recently addedβοΈ Β Warning (e.g. missing/risky license)π¨βπ» Β Contributors count from GitHubπ Β Fork count from GitHubπ Β Issue count from GitHubβ±οΈ Β Last update timestamp on package managerπ₯ Β Download count from package managerπ¦ Β Number of dependent projectsΒ Flake8 related project
Β Pytest related project
Β Pylint related project
Β Sphinx related project
Β MkDocs related project
Linters & Style Checkers
pylint (π₯ 43 Β· β 4.7K) - Its not just a linter that annoys you!. βοΈGPL-2.0
ruff (π₯ 40 Β· β 15K) - An extremely fast Python linter, written in Rust. MIT
-
GitHub (
π¨βπ» 210 Β·π 470 Β·π₯ 19K Β·π¦ 7.6K Β·π 1.9K - 18% open Β·β±οΈ 08.06.2023):git clone https://github.com/charliermarsh/ruff
-
PyPi (
π₯ 2.3M / month Β·π¦ 430 Β·β±οΈ 08.06.2023):pip install ruff
-
Conda (
π₯ 210K Β·β±οΈ 07.06.2023):conda install -c conda-forge ruff
flake8 (π₯ 40 Β· β 2.9K) - Flake8 is a wrapper around these tools: PyFlakes; pycodestyle; Ned.. MIT
pycodestyle (π₯ 37 Β· β 4.9K) - Simple Python style checker in one Python file. βοΈSaxpath
-
GitHub (
π¨βπ» 130 Β·π 700 Β·π¦ 340K Β·π 710 - 16% open Β·β±οΈ 09.05.2023):git clone https://github.com/PyCQA/pycodestyle
-
PyPi (
π₯ 29M / month Β·π¦ 11K Β·β±οΈ 23.11.2022):pip install pycodestyle
-
Conda (
π₯ 6.4M Β·β±οΈ 24.11.2022):conda install -c conda-forge pycodestyle
wemake-python-styleguide (π₯ 36 Β· β 2.2K) - The strictest and most opinionated python linter ever!. MIT
pydocstyle (π₯ 31 Β· β 1.1K) - docstring style checker. MIT
-
GitHub (
π¨βπ» 89 Β·π 180 Β·π₯ 63 Β·π¦ 56K Β·π 340 - 34% open Β·β±οΈ 17.01.2023):git clone https://github.com/PyCQA/pydocstyle
-
PyPi (
π₯ 3M / month Β·π¦ 2.7K Β·β±οΈ 17.05.2021):pip install pydocstyle
-
Conda (
π₯ 1.4M Β·β±οΈ 17.01.2023):conda install -c conda-forge pydocstyle
flake8-bugbear (π₯ 31 Β· β 940) - A plugin for Flake8 finding likely bugs and design problems.. MIT

-
GitHub (
π¨βπ» 75 Β·π 94 Β·π¦ 32K Β·π 190 - 24% open Β·β±οΈ 05.06.2023):git clone https://github.com/PyCQA/flake8-bugbear
-
PyPi (
π₯ 2M / month Β·π¦ 250 Β·β±οΈ 01.02.2020):pip install flake8-bugbear
-
Conda (
π₯ 710K Β·β±οΈ 07.06.2023):conda install -c conda-forge flake8-bugbear
pylint-django (π₯ 30 Β· β 560) - Pylint plugin for improving code analysis for when.. βοΈGPL-2.0

-
GitHub (
π¨βπ» 68 Β·π 120 Β·π₯ 240 Β·π¦ 26K Β·π 220 - 23% open Β·β±οΈ 15.05.2023):git clone https://github.com/PyCQA/pylint-django
-
PyPi (
π₯ 1.1M / month Β·π¦ 1.2K Β·β±οΈ 17.12.2018):pip install pylint-django
-
Conda (
π₯ 150K Β·β±οΈ 07.04.2022):conda install -c conda-forge pylint-django
hacking (π₯ 28 Β· β 230) - OpenStack Hacking Style Checks. Mirror of code maintained at.. Apache-2

flake8-isort (π₯ 27 Β· β 150) - flake8 plugin that integrates isort. βοΈGPL-2.0

flake8-quotes (π₯ 26 Β· β 170) - Flake8 extension for checking quotes in python. MIT

flake8-eradicate (π₯ 25 Β· β 300) - Flake8 plugin to find commented out or dead code. MIT

check-manifest (π₯ 25 Β· β 280) - Tool to check the completeness of MANIFEST.in for Python packages. MIT
-
GitHub (
π¨βπ» 22 Β·π 39 Β·π¦ 9.2K Β·π 95 - 20% open Β·β±οΈ 02.05.2023):git clone https://github.com/mgedmin/check-manifest
-
PyPi (
π₯ 190K / month Β·π¦ 2.9K Β·β±οΈ 26.03.2015):pip install check-manifest
-
Conda (
π₯ 90K Β·β±οΈ 05.12.2022):conda install -c conda-forge check-manifest
flake8-builtins (π₯ 25 Β· β 100) - Check for python builtins being used as variables or.. βοΈGPL-2.0

-
GitHub (
π¨βπ» 17 Β·π 21 Β·π¦ 9.1K Β·π 44 - 4% open Β·β±οΈ 22.12.2022):git clone https://github.com/gforcada/flake8-builtins
-
PyPi (
π₯ 750K / month Β·π¦ 460 Β·β±οΈ 14.05.2020):pip install flake8-builtins
-
Conda (
π₯ 210K Β·β±οΈ 23.12.2022):conda install -c conda-forge flake8-builtins
beartype (π₯ 24 Β· β 1.8K) - Unbearably fast near-real-time runtime type-checking in pure Python. MIT
flake8-import-order (π₯ 24 Β· β 270) - Flake8 plugin that checks import order against.. βοΈLGPL-3.0

-
GitHub (
π¨βπ» 46 Β·π 71 Β·π 100 - 11% open Β·β±οΈ 10.12.2022):git clone https://github.com/PyCQA/flake8-import-order
-
PyPi (
π₯ 360K / month Β·π¦ 1.2K Β·β±οΈ 04.03.2019):pip install flake8-import-order
-
Conda (
π₯ 230K Β·β±οΈ 28.11.2022):conda install -c conda-forge flake8-import-order
flake8-black (π₯ 23 Β· β 160) - flake8 plugin to run black for checking Python coding style. MIT

pandas-vet (π₯ 22 Β· β 150) - A plugin for Flake8 that checks pandas code. MIT

mypy-protobuf (π₯ 20 Β· β 570) - open source tools to generate mypy stubs from protobufs. Apache-2
flake8-comprehensions (π₯ 20 Β· β 430) - A flake8 plugin to help you write better.. MIT

flake8-bandit (π₯ 20 Β· β 100 Β· π€ ) - Automated security testing using bandit and flake8. MIT

pylint-flask (π₯ 19 Β· β 62 Β· π€ ) - A Pylint plugin to analyze Flask applications. βοΈGPL-2.0

flake8-simplify (π₯ 18 Β· β 150) - A flake8 plugin that helps you to simplify code. MIT
linty_fresh (π₯ 10 Β· β 180) - Surface lint errors during code review. Apache-2

mypy
Show 12 hidden projects...
- coala (
π₯ 27 Β·β 3.5K Β·π ) - coala provides a unified command-line interface for linting and..βοΈAGPL-3.0
- darglint (
π₯ 27 Β·β 480 Β·π ) - A python documentation linter which checks that the docstring..MIT
- pep8-naming (
π₯ 27 Β·β 450) - Naming Convention checker for Python.βοΈSaxpath
- data-science-types (
π₯ 25 Β·β 200 Β·π ) - Mypy stubs, i.e., type information, for numpy, pandas..Apache-2
- Fixit (
π₯ 22 Β·β 400) - Advanced Python linting framework with auto-fixes and hierarchical..βUnlicensed
- flake8-commas (
π₯ 21 Β·β 130 Β·π ) - Flake8 extension for enforcing trailing commas in..βUnlicensed
- flake8-mypy (
π₯ 17 Β·β 100 Β·π ) - A plugin for flake8 integrating Mypy.MIT
- flakehell (
π₯ 16 Β·β 230 Β·π ) - Flake8 wrapper to make it nice, legacy-friendly, configurable.MIT
- imhotep (
π₯ 16 Β·β 220 Β·π ) - A static-analysis bot for Github.MIT
- yala (
π₯ 15 Β·β 14) - Yet Another Linter Aggregator.MIT
- bellybutton (
π₯ 14 Β·β 260 Β·π ) - Custom Python linting through AST expressions.MIT
- pycycle (
π₯ 13 Β·β 320 Β·π ) - Tool for pinpointing circular imports in Python. Find cyclic imports..MIT
Type checkers
pyre-check (π₯ 31 Β· β 6.4K) - Performant type-checking for python. MIT
Show 3 hidden projects...
Code Formatters
autopep8 (π₯ 36 Β· β 4.4K) - A tool that automatically formats Python code to conform to the PEP 8.. MIT
docformatter (π₯ 28 Β· β 410) - Formats docstrings to follow PEP 257. MIT
-
GitHub (
π¨βπ» 26 Β·π 53 Β·π₯ 1 Β·π¦ 2.9K Β·π 130 - 10% open Β·β±οΈ 07.06.2023):git clone https://github.com/myint/docformatter
-
PyPi (
π₯ 360K / month Β·π¦ 130 Β·β±οΈ 27.12.2020):pip install docformatter
-
Conda (
π₯ 68K Β·β±οΈ 07.06.2023):conda install -c conda-forge docformatter
autoimport (π₯ 17 Β· β 71) - Autoimport automatically fixes wrong import statements. βοΈGPL-3.0
Show 1 hidden projects...
- pyformat (
π₯ 19 Β·β 92 Β·π ) - Formats Python code to follow a consistent style.βοΈSaxpath
Code Refactoring
rope (π₯ 32 Β· β 1.6K) - a python refactoring library. βοΈLGPL-3.0
pyupgrade (π₯ 24 Β· β 2.7K) - A tool (and pre-commit hook) to automatically upgrade syntax for newer.. MIT
autoflake (π₯ 23 Β· β 770) - Removes unused imports and unused variables as reported by pyflakes. MIT
unimport (π₯ 20 Β· β 220) - The ultimate linter and formatter for removing unused import statements.. MIT
add-trailing-comma (π₯ 17 Β· β 300) - A tool (and pre-commit hook) to automatically add trailing.. MIT
retype (π₯ 12 Β· β 130 Β· π€ ) - Re-apply type annotations from .pyi stubs to your codebase. MIT
Show 9 hidden projects...
- jedi (
π₯ 37 Β·β 5.4K) - Awesome autocompletion, static analysis and refactoring library for..βUnlicensed
- eradicate (
π₯ 24 Β·β 180) - Removes commented-out code from Python files.βUnlicensed
- redbaron (
π₯ 23 Β·β 660 Β·π ) - Bottom-up approach to refactoring in python.βUnlicensed
- baron (
π₯ 22 Β·β 280 Β·π ) - IDE allow you to refactor code, Baron allows you to write..βοΈLGPL-3.0
- MonkeyType (
π₯ 20 Β·β 4.2K) - A Python library that generates static type annotations by..βUnlicensed
- pyannotate (
π₯ 19 Β·β 1.4K Β·π ) - Auto-generate PEP-484 annotations.Apache-2
- unify (
π₯ 18 Β·β 81 Β·π ) - Modifies strings to all use the same quote where possible.MIT
- pep8ify (
π₯ 16 Β·β 120 Β·π ) - A library that modifies python source code to conform to pep8.Apache-2
- massedit (
π₯ 13 Β·β 110 Β·π ) - Programmatically edit text files with Python. Useful for source to..MIT
Code Security
bandit (π₯ 37 Β· β 5.3K) - Bandit is a tool designed to find common security issues in Python.. Apache-2
-
GitHub (
π¨βπ» 170 Β·π 530 Β·π₯ 690 Β·π¦ 42K Β·π 640 - 30% open Β·β±οΈ 06.06.2023):git clone https://github.com/PyCQA/bandit
-
PyPi (
π₯ 3.1M / month Β·π¦ 1.7K Β·β±οΈ 04.03.2022):pip install bandit
-
Conda (
π₯ 240K Β·β±οΈ 11.03.2023):conda install -c conda-forge bandit
sqlmap (π₯ 32 Β· β 27K) - Automatic SQL injection and database takeover tool. βοΈGPL-3.0
detect-secrets (π₯ 28 Β· β 3.1K) - An enterprise friendly way of detecting and preventing.. Apache-2
safety (π₯ 28 Β· β 1.5K) - Safety checks Python dependencies for known security vulnerabilities and.. MIT
dlint (π₯ 21 Β· β 150) - Dlint is a tool for encouraging best coding practices and helping ensure.. BSD-3
Show 3 hidden projects...
- pyarmor (
π₯ 33 Β·β 2.2K) - A tool used to obfuscate python scripts, bind obfuscated scripts..βUnlicensed
- pyt (
π₯ 23 Β·β 2.1K Β·π ) - A Static Analysis Tool for Detecting Security Vulnerabilities in..βοΈGPL-2.0
- dodgy (
π₯ 21 Β·β 110 Β·π ) - Looks at Python code to search for things which look dodgy such as..MIT
Virtual Environments
virtualenv (π₯ 41 Β· β 4.5K) - Virtual Python Environment builder. MIT
pyenv-virtualenv (π₯ 21 Β· β 5.5K) - a pyenv plugin to manage virtualenv (a.k.a. python-virtualenv). MIT
-
GitHub (
π¨βπ» 58 Β·π 360 Β·π 320 - 31% open Β·β±οΈ 16.04.2023):git clone https://github.com/pyenv/pyenv-virtualenv
dh-virtualenv (π₯ 17 Β· β 1.6K) - Python virtualenvs in Debian packages. βοΈGPL-2.0
-
GitHub (
π¨βπ» 60 Β·π 180 Β·π 200 - 15% open Β·β±οΈ 03.01.2023):git clone https://github.com/spotify/dh-virtualenv
pyenv-installer (π₯ 16 Β· β 3.6K) - This tool is used to install `pyenv` and friends. MIT
-
GitHub (
π¨βπ» 39 Β·π 390 Β·π 76 - 6% open Β·β±οΈ 02.04.2023):git clone https://github.com/pyenv/pyenv-installer
freshenv (π₯ 13 Β· β 170 Β· π€ ) - Provision, share, manage local and cloud developer environments. MPL-2.0
Show 3 hidden projects...
- nodeenv (
π₯ 33 Β·β 1.6K) - Virtual environment for Node.js & integrator with virtualenv.βUnlicensed
- vex (
π₯ 16 Β·β 370 Β·π ) - Run a command in the named virtualenv.MIT
- pipenv-pipes (
π₯ 10 Β·β 130 Β·π ) - A PipEnv Environment Switcher.MIT
Dependency & Package Managers
conda (π₯ 43 Β· β 5.5K) - A system-level, binary package and environment manager running on all.. BSD-3
pip-tools (π₯ 38 Β· β 6.9K) - A set of tools to keep your pinned Python dependencies fresh. BSD-3
pipreqs (π₯ 34 Β· β 5.2K) - pipreqs - Generate pip requirements.txt file based on imports of any.. Apache-2
PDM (π₯ 32 Β· β 4.7K) - A modern Python package and dependency manager supporting the latest PEP.. MIT
Show 2 hidden projects...
Code Metrics & Complexity
prospector (π₯ 34 Β· β 1.8K) - Inspects Python source files and provides information about.. βοΈGPL-2.0
-
GitHub (
π¨βπ» 88 Β·π 170 Β·π¦ 4.3K Β·π 360 - 14% open Β·β±οΈ 25.05.2023):git clone https://github.com/PyCQA/prospector
-
PyPi (
π₯ 680K / month Β·π¦ 710 Β·β±οΈ 18.03.2022):pip install prospector
-
Conda (
π₯ 74K Β·β±οΈ 25.05.2023):conda install -c conda-forge prospector
mccabe (π₯ 30 Β· β 570) - McCabe complexity checker for Python. βοΈSaxpath
wily (π₯ 24 Β· β 1.1K) - A Python application for tracking, reporting on timing and complexity in.. Apache-2
cohesion (π₯ 16 Β· β 200) - A tool for measuring Python class cohesion. βοΈGPL-3.0
Logging
rich (π₯ 42 Β· β 44K) - Rich is a Python library for rich text and beautiful formatting in the terminal. MIT
tqdm (π₯ 42 Β· β 25K) - A Fast, Extensible Progress Bar for Python and CLI. MPL-2.0
-
GitHub (
π¨βπ» 110 Β·π 1.2K Β·π₯ 11K Β·π¦ 480K Β·π 910 - 37% open Β·β±οΈ 03.03.2023):git clone https://github.com/tqdm/tqdm
-
PyPi (
π₯ 53M / month):pip install tqdm
-
Conda (
π₯ 21M Β·β±οΈ 04.03.2023):conda install -c conda-forge tqdm
-
Docker Hub (
π₯ 4.1K Β·β 2 Β·β±οΈ 18.03.2023):docker pull tqdm/tqdm
sentry-sdk (π₯ 39 Β· β 1.5K) - The official Python SDK for Sentry.io. MIT
python-json-logger (π₯ 34 Β· β 1.5K) - Json Formatter for the standard python logger. BSD-2
tabulate (π₯ 32 Β· β 1.7K) - Pretty-print tabular data in Python, a library and a command-line.. MIT
progressbar2 (π₯ 32 Β· β 820) - Progressbar 2 - A progress bar for Python 2 and Python 3 - pip.. BSD-3
alive-progress (π₯ 29 Β· β 4.5K) - A new kind of Progress Bar, with real-time throughput, ETA, and.. MIT
better-exceptions (π₯ 24 Β· β 4.4K) - Pretty and useful exceptions in Python, automatically. MIT
stackprinter (π₯ 24 Β· β 1.2K) - Debugging-friendly exceptions for Python. MIT
-
GitHub (
π¨βπ» 7 Β·π 35 Β·π¦ 260 Β·π 28 - 25% open Β·β±οΈ 20.02.2023):git clone https://github.com/cknd/stackprinter
-
PyPi (
π₯ 390K / month Β·π¦ 27 Β·β±οΈ 24.11.2022):pip install stackprinter
-
Conda (
π₯ 5.4K Β·β±οΈ 31.10.2020):conda install -c conda-forge stackprinter
python-devtools (π₯ 23 Β· β 760) - Dev tools for python. MIT
-
GitHub (
π¨βπ» 12 Β·π 35 Β·π¦ 1.5K Β·π 50 - 24% open Β·β±οΈ 23.05.2023):git clone https://github.com/samuelcolvin/python-devtools
-
PyPi (
π₯ 580 / month Β·π¦ 1 Β·β±οΈ 21.08.2017):pip install python-devtools
-
Conda (
π₯ 15K Β·β±οΈ 06.04.2023):conda install -c conda-forge python-devtools
Show 7 hidden projects...
- structlog (
π₯ 34 Β·β 2.6K) - Simple, powerful, and fast logging for Python.βUnlicensed
- logbook (
π₯ 31 Β·β 1.4K Β·π ) - A cool logging replacement for Python.BSD-3
- prettytable (
π₯ 30 Β·β 1K) - Display tabular data in a visually appealing ASCII table..βUnlicensed
- python-coloredlogs (
π₯ 28 Β·β 510 Β·π ) - Colored terminal output for Pythons logging module.MIT
- rebound (
π₯ 22 Β·β 4K Β·π ) - Command-line tool that instantly fetches Stack Overflow..βUnlicensed
- PrettyErrors (
π₯ 18 Β·β 2.6K Β·π ) - Prettify Python exception output to make it legible.MIT
- tbvaccine (
π₯ 16 Β·β 370 Β·π ) - A small utility to pretty-print Python tracebacks.MIT
Shell
xxh (π₯ 23 Β· β 4.4K) - Bring your favorite shell wherever you go through the ssh. Xonsh shell,.. BSD-2
Show 1 hidden projects...
- xonsh (
π₯ 28 Β·β 7.1K) - Python-powered, cross-platform, Unix-gazing shell.βUnlicensed
Documentation
mkdocs-material (π₯ 42 Β· β 14K) - Documentation that simply works. MIT

sphinx_rtd_theme (π₯ 37 Β· β 4.4K) - Sphinx theme for readthedocs.org. MIT

-
GitHub (
π¨βπ» 120 Β·π 1.8K Β·π¦ 16 Β·π 850 - 28% open Β·β±οΈ 07.06.2023):git clone https://github.com/readthedocs/sphinx_rtd_theme
-
PyPi (
π₯ 3.5M / month Β·π¦ 6.6K Β·β±οΈ 13.09.2021):pip install sphinx_rtd_theme
-
Conda (
π₯ 3.4M Β·β±οΈ 23.05.2023):conda install -c conda-forge sphinx_rtd_theme
alabaster (π₯ 34 Β· β 690) - Lightweight, configurable Sphinx theme. BSD-3

-
GitHub (
π¨βπ» 29 Β·π 180 Β·π¦ 100K Β·π 120 - 52% open Β·β±οΈ 21.04.2023):git clone https://github.com/bitprophet/alabaster
-
PyPi (
π₯ 6.3M / month Β·π¦ 7.7K Β·β±οΈ 13.01.2023):pip install alabaster
-
Conda (
π₯ 6.1M Β·β±οΈ 13.01.2023):conda install -c conda-forge alabaster
mkdocstrings (π₯ 31 Β· β 1.2K) - Automatic documentation from sources, for MkDocs. ISC

-
GitHub (
π¨βπ» 36 Β·π 94 Β·π¦ 8K Β·π 340 - 13% open Β·β±οΈ 04.06.2023):git clone https://github.com/mkdocstrings/mkdocstrings
-
PyPi (
π₯ 390K / month Β·π¦ 550 Β·β±οΈ 27.12.2021):pip install mkdocstrings
-
Conda (
π₯ 67K Β·β±οΈ 27.05.2023):conda install -c conda-forge mkdocstrings
breathe (π₯ 31 Β· β 680) - ReStructuredText and Sphinx bridge to Doxygen. BSD-3
-
GitHub (
π¨βπ» 110 Β·π 180 Β·π₯ 510 Β·π¦ 9.9K Β·π 560 - 29% open Β·β±οΈ 28.02.2023):git clone https://github.com/michaeljones/breathe
-
PyPi (
π₯ 340K / month Β·π¦ 1K Β·β±οΈ 20.06.2022):pip install breathe
-
Conda (
π₯ 480K Β·β±οΈ 01.03.2023):conda install -c conda-forge breathe
sphinx-autodoc-typehints (π₯ 31 Β· β 480) - Type hints support for the Sphinx autodoc extension. MIT

-
GitHub (
π¨βπ» 52 Β·π 94 Β·π¦ 38K Β·π 170 - 16% open Β·β±οΈ 03.05.2023):git clone https://github.com/tox-dev/sphinx-autodoc-typehints
-
PyPi (
π₯ 1.1M / month):pip install sphinx-autodoc-typehints
-
Conda (
π₯ 510K Β·β±οΈ 25.01.2023):conda install -c conda-forge sphinx-autodoc-typehints
Griffe (π₯ 29 Β· β 170) - Signatures for entire Python programs. Extract the structure, the frame,.. ISC
sphinx-autobuild (π₯ 27 Β· β 470) - Watch a Sphinx directory and rebuild the documentation.. MIT

mkdocs-awesome-pages-plugin (π₯ 26 Β· β 330) - An MkDocs plugin that simplifies configuring page.. MIT

pdoc3 (π₯ 25 Β· β 970) - Auto-generate API documentation for Python projects. βοΈAGPL-3.0
blacken-docs (π₯ 24 Β· β 520) - Run `black` on python code blocks in documentation files. MIT
interrogate (π₯ 23 Β· β 480 Β· π€ ) - Explain yourself! Interrogate a codebase for docstring coverage. MIT
sphinx-markdown-builder (π₯ 20 Β· β 160) - sphinx builder that outputs markdown files. MIT

lazydocs (π₯ 20 Β· β 140 Β· π ) - Generate markdown API documentation from Google-style Python.. MIT
mkdocs-print-site-plugin (π₯ 20 Β· β 77) - MkDocs Plugin that adds an additional page that.. MIT

Show 8 hidden projects...
- sphinx-bootstrap-theme (
π₯ 26 Β·β 590 Β·π ) - Sphinx Bootstrap Theme.MIT
- numpydoc (
π₯ 25 Β·β 240 Β·π ) - Numpys Sphinx extensions.βUnlicensed
- mkdocs-with-pdf (
π₯ 23 Β·β 240 Β·π ) - Generate a single PDF file from MkDocs repository.MIT
- pytkdocs (
π₯ 23 Β·β 48 Β·π ) - Load Python objects documentation.ISC
- pycco (
π₯ 22 Β·β 820 Β·π ) - Literate-style documentation generator.MIT
- mkdocs-pdf-export-plugin (
π₯ 21 Β·β 280 Β·π ) - An MkDocs plugin to export content pages as PDF files.MIT
- mkdocs-git-revision-date-plugin (
π₯ 19 Β·β 52 Β·π ) - MkDocs plugin for setting revision date from git per..MIT
- mkdocs-versioning (
π₯ 17 Β·β 40 Β·π ) - A tool that allows for versioning sites built with..MIT
Debugging Tools
gdbgui (π₯ 29 Β· β 9.3K Β· π€ ) - Browser-based frontend to gdb (gnu debugger). Add breakpoints,.. βοΈGPL-3.0
pdbpp (π₯ 28 Β· β 1.1K Β· π€ ) - pdb++, a drop-in replacement for pdb (the Python debugger). BSD-3
python-hunter (π₯ 23 Β· β 740) - Hunter is a flexible code tracing toolkit. BSD-2
pyrasite (π₯ 21 Β· β 2.7K) - Inject code into running Python processes. βοΈGPL-3.0
python-manhole (π₯ 21 Β· β 340) - Debugging manhole for python applications. BSD-2
Show 2 hidden projects...
- pyelftools (
π₯ 28 Β·β 1.7K) - Parsing ELF and DWARF in Python.βUnlicensed
- Birdseye (
π₯ 20 Β·β 1.6K Β·π ) - Graphical Python debugger which lets you easily view the values of..MIT
Testing Tools
pytest (π₯ 47 Β· β 10K) - The pytest framework makes it easy to write small tests, yet scales to.. MIT

robotframework (π₯ 42 Β· β 8.1K) - Generic automation framework for acceptance testing and RPA. Apache-2
-
GitHub (
π¨βπ» 180 Β·π 2.1K Β·π₯ 550 Β·π¦ 7.8K Β·π 4.1K - 6% open Β·β±οΈ 05.06.2023):git clone https://github.com/robotframework/robotframework
-
PyPi (
π₯ 1.7M / month):pip install robotframework
-
Conda (
π₯ 130K Β·β±οΈ 12.01.2023):conda install -c conda-forge robotframework
tox (π₯ 39 Β· β 3.3K) - Command line driven CI frontend and development task automation tool. MIT

pytest-cov (π₯ 36 Β· β 1.5K) - Coverage plugin for pytest. MIT

pytest-html (π₯ 35 Β· β 600) - Plugin for generating HTML reports for pytest results. MPL-2.0

-
GitHub (
π¨βπ» 49 Β·π 220 Β·π¦ 34K Β·π 360 - 41% open Β·β±οΈ 13.05.2023):git clone https://github.com/pytest-dev/pytest-html
-
PyPi (
π₯ 3.4M / month Β·π¦ 750 Β·β±οΈ 25.10.2022):pip install pytest-html
-
Conda (
π₯ 430K Β·β±οΈ 25.10.2022):conda install -c conda-forge pytest-html
pyautogui (π₯ 34 Β· β 8.2K) - A cross-platform GUI automation Python module for human beings. Used.. BSD-3
mimesis (π₯ 34 Β· β 4K) - Mimesis is a robust data generator for Python, capable of rapidly producing.. MIT
pytest-mock (π₯ 32 Β· β 1.6K) - Thin-wrapper around the mock package for easier use with pytest. MIT

asv (π₯ 31 Β· β 770) - Airspeed Velocity: A simple Python benchmarking tool with web-based reporting. BSD-3
pytest-bdd (π₯ 30 Β· β 1.2K) - BDD library for the py.test runner. MIT

-
GitHub (
π¨βπ» 54 Β·π 190 Β·π¦ 2.9K Β·π 320 - 39% open Β·β±οΈ 04.04.2023):git clone https://github.com/pytest-dev/pytest-bdd
-
PyPi (
π₯ 690K / month Β·π¦ 180 Β·β±οΈ 08.11.2022):pip install pytest-bdd
-
Conda (
π₯ 53K Β·β±οΈ 30.05.2023):conda install -c conda-forge pytest-bdd
playwright-python (π₯ 29 Β· β 8.8K) - Python version of the Playwright testing and automation.. Apache-2
coveralls-python (π₯ 29 Β· β 520) - Show coverage stats online via coveralls.io. MIT

-
GitHub (
π¨βπ» 64 Β·π 190 Β·π¦ 31K Β·π 170 - 13% open Β·β±οΈ 03.05.2023):git clone https://github.com/TheKevJames/coveralls-python
-
PyPi (
π₯ 450K / month Β·π¦ 9.6K Β·β±οΈ 11.11.2021):pip install coveralls
-
Conda (
π₯ 930K Β·β±οΈ 03.08.2022):conda install -c conda-forge coveralls
pytest-asyncio (π₯ 28 Β· β 1.2K) - Asyncio support for pytest. Apache-2

pytest-benchmark (π₯ 28 Β· β 1.1K) - py.test fixture for benchmarking code. BSD-2

-
GitHub (
π¨βπ» 39 Β·π 110 Β·π¦ 7K Β·π 180 - 51% open Β·β±οΈ 27.04.2023):git clone https://github.com/ionelmc/pytest-benchmark
-
PyPi (
π₯ 720K / month Β·π¦ 710 Β·β±οΈ 17.04.2021):pip install pytest-benchmark
-
Conda (
π₯ 1.8M Β·β±οΈ 26.10.2022):conda install -c conda-forge pytest-benchmark
pytest-testinfra (π₯ 27 Β· β 2.2K) - Testinfra test your infrastructures. Apache-2

pytest-xdist (π₯ 27 Β· β 1.2K Β· π ) - pytest plugin for distributed testing and loop-on-.. MIT

pytest-testmon (π₯ 27 Β· β 670) - Selects tests affected by changed files. Executes the.. βοΈAGPL-3.0

-
GitHub (
π¨βπ» 23 Β·π 47 Β·π¦ 1.1K Β·π 150 - 19% open Β·β±οΈ 01.06.2023):git clone https://github.com/tarpas/pytest-testmon
-
PyPi (
π₯ 120K / month Β·π¦ 6 Β·β±οΈ 25.01.2023):pip install pytest-testmon
-
Conda (
π₯ 39K Β·β±οΈ 03.08.2019):conda install -c conda-forge pytest-testmon
pytest-mypy (π₯ 27 Β· β 230) - Mypy static type checker plugin for Pytest. MIT

-
GitHub (
π¨βπ» 16 Β·π 33 Β·π¦ 3.5K Β·π 62 - 16% open Β·β±οΈ 08.05.2023):git clone https://github.com/dbader/pytest-mypy
-
PyPi (
π₯ 250K / month Β·π¦ 420 Β·β±οΈ 07.02.2022):pip install pytest-mypy
-
Conda (
π₯ 68K Β·β±οΈ 24.11.2020):conda install -c conda-forge pytest-mypy
factory_boy (π₯ 26 Β· β 3.1K) - A test fixtures replacement for Python. MIT
pytest-randomly (π₯ 26 Β· β 520 Β· π ) - Pytest plugin to randomly order tests and control random.seed. MIT
-
GitHub (
π¨βπ» 19 Β·π 26 Β·π 58 - 10% open Β·β±οΈ 06.06.2023):git clone https://github.com/pytest-dev/pytest-randomly
-
PyPi (
π₯ 720K / month Β·π¦ 240 Β·β±οΈ 11.05.2022):pip install pytest-randomly
-
Conda (
π₯ 130K Β·β±οΈ 12.05.2022):conda install -c conda-forge pytest-randomly
pytest-plugins (π₯ 24 Β· β 510 Β· π€ ) - A grab-bag of nifty pytest plugins. MIT
-
GitHub (
π¨βπ» 62 Β·π 72 Β·π 110 - 45% open Β·β±οΈ 03.11.2022):git clone https://github.com/man-group/pytest-plugins
-
PyPi (
π₯ 43K / month Β·π¦ 67 Β·β±οΈ 28.05.2019):pip install pytest-virtualenv
-
Conda (
π₯ 42K Β·β±οΈ 18.10.2021):conda install -c conda-forge pytest-shutil
pytest-docker (π₯ 20 Β· β 340 Β· π€ ) - Docker-based integration tests. MIT

xdoctest (π₯ 19 Β· β 190) - A rewrite of Pythons builtin doctest module (with pytest plugin.. Apache-2
Show 13 hidden projects...
- hypothesis (
π₯ 39 Β·β 6.7K) - Hypothesis is a powerful, flexible, and easy to use library..βUnlicensed
- nose (
π₯ 33 Β·β 1.4K Β·π ) - nose is nicer testing for python.βοΈLGPL-2.1+
- pytest-sugar (
π₯ 29 Β·β 1.1K) - a plugin for py.test that changes the default look..βUnlicensed
- PyHamcrest (
π₯ 28 Β·β 710) - Hamcrest matchers for Python.βUnlicensed
- uiautomator (
π₯ 26 Β·β 1.9K Β·π ) - Python wrapper of Android uiautomator test tool.MIT
- Mamba Test Runner (
π₯ 25 Β·β 510 Β·π ) - The definitive testing tool for Python. Born under the..MIT
- pytest-watch (
π₯ 23 Β·β 700 Β·π ) - Local continuous test runner with pytest and watchdog.MIT
- sixpack (
π₯ 22 Β·β 1.7K Β·π ) - Sixpack is a language-agnostic a/b-testing framework.BSD-2
- pytest-lazy-fixture (
π₯ 22 Β·β 330 Β·π ) - It helps to use fixtures in pytest.mark.parametrize.MIT
- pytest-datadir (
π₯ 19 Β·β 210) - pytest plugin for manipulating test data directories..βUnlicensed
- fake2db (
π₯ 18 Β·β 2.2K Β·π ) - create custom test databases that are populated with fake data.βοΈGPL-2.0
- pytest-play (
π₯ 13 Β·β 68 Β·π ) - pytest plugin that let you automate actions and..Apache-2
- assertpy (
π₯ 12 Β·β 19 Β·π ) - Simple assertion library for unit testing in python with a fluent API.BSD-3
Code Packaging
pyinstaller (π₯ 42 Β· β 10K) - Freeze (package) Python programs into stand-alone executables. βοΈGPL-2.0
-
GitHub (
π¨βπ» 450 Β·π 1.9K Β·π₯ 740K Β·π¦ 44K Β·π 4.9K - 5% open Β·β±οΈ 08.06.2023):git clone https://github.com/pyinstaller/pyinstaller
-
PyPi (
π₯ 1.2M / month Β·π¦ 280 Β·β±οΈ 17.05.2022):pip install pyinstaller
-
Conda (
π₯ 450K Β·β±οΈ 13.05.2023):conda install -c conda-forge pyinstaller
Nuitka (π₯ 38 Β· β 8.9K) - Nuitka is a Python compiler written in Python. Its fully compatible.. Apache-2
pex (π₯ 32 Β· β 2.3K) - A tool for generating .pex (Python EXecutable) files, lock files and venvs. Apache-2
briefcase (π₯ 30 Β· β 1.8K) - Tools to support converting a Python project into a standalone.. BSD-3
PyOxidizer (π₯ 28 Β· β 4.8K) - A modern Python application packaging and distribution tool. MPL-2.0
cx_Freeze (π₯ 26 Β· β 1.1K Β· π ) - Create standalone executables from Python scripts, with.. βUnlicensed
shiv (π₯ 23 Β· β 1.6K Β· π€ ) - shiv is a command line utility for building fully self contained Python.. BSD-2
subpar (π₯ 13 Β· β 560) - Subpar is a utility for creating self-contained python executables. It.. Apache-2
-
GitHub (
π¨βπ» 16 Β·π 66 Β·π 64 - 53% open Β·β±οΈ 19.12.2022):git clone https://github.com/google/subpar
Show 6 hidden projects...
- packaging (
π₯ 34 Β·β 500) - Core utilities for Python packages.βUnlicensed
- py2app (
π₯ 24 Β·β 250) - py2app is a Python setuptools command which will allow you to make..βUnlicensed
- constructor (
π₯ 23 Β·β 410) - tool for creating installers from conda packages.βUnlicensed
- py2exe (
π₯ 21 Β·β 600) - Create standalone Windows programs from Python code.βUnlicensed
- pynsist (
π₯ 19 Β·β 840 Β·π ) - Build Windows installers for Python applications.βUnlicensed
- pyship (
π₯ 13 Β·β 34) - pyship - ship Python desktop apps to end users.MIT
Build Tools
setuptools (π₯ 44 Β· β 2K) - Official project repository for the Setuptools build system. MIT
buildbot (π₯ 36 Β· β 5K) - Python-based continuous integration testing framework; your pull.. βοΈGPL-2.0
-
GitHub (
π¨βπ» 840 Β·π 1.6K Β·π₯ 31K Β·π¦ 330 Β·π 1.5K - 46% open Β·β±οΈ 04.06.2023):git clone https://github.com/buildbot/buildbot
-
PyPi (
π₯ 31K / month Β·π¦ 460 Β·β±οΈ 06.03.2022):pip install buildbot
-
Conda (
π₯ 81K Β·β±οΈ 17.04.2023):conda install -c conda-forge buildbot
setuptools_scm (π₯ 29 Β· β 720) - the blessed package to manage your versions by scm tags. MIT
universal-build (π₯ 14 Β· β 19 Β· π€ ) - Universal build utilities for containerized build pipelines. MIT
Show 3 hidden projects...
System Monitoring & Profiling
pyinstrument (π₯ 33 Β· β 5.4K) - Call stack profiler for Python. Shows you why your code is slow!. BSD-3
py-spy (π₯ 32 Β· β 10K) - Sampling profiler for Python programs. MIT
-
GitHub (
π¨βπ» 32 Β·π 340 Β·π₯ 12K Β·π¦ 2.7K Β·π 300 - 38% open Β·β±οΈ 02.06.2023):git clone https://github.com/benfred/py-spy
-
PyPi (
π₯ 2.2M / month):pip install py-spy
-
Conda (
π₯ 450K Β·β±οΈ 09.09.2022):conda install -c conda-forge py-spy
-
Cargo (
π₯ 610 / month):cargo install py-spy
Scalene (π₯ 30 Β· β 7.8K) - Scalene: a high-performance, high-precision CPU, GPU, and memory.. Apache-2
memory-profiler (π₯ 29 Β· β 3.9K Β· π ) - Monitor Memory usage of Python code. BSD-3
-
GitHub (
π¨βπ» 100 Β·π 370 Β·π 240 - 52% open Β·β±οΈ 06.12.2022):git clone https://github.com/pythonprofilers/memory_profiler
-
PyPi (
π₯ 720K / month Β·π¦ 220 Β·β±οΈ 15.11.2022):pip install memory_profiler
-
Conda (
π₯ 330K Β·β±οΈ 16.11.2022):conda install -c conda-forge memory_profiler
Yappi (π₯ 28 Β· β 1.2K) - Yet Another Python Profiler, but this time multithreading, asyncio and.. MIT
Diamond (π₯ 26 Β· β 1.7K) - Diamond is a python daemon that collects system metrics and publishes.. MIT
pympler (π₯ 25 Β· β 1K Β· π€ ) - Development tool to measure, monitor and analyze the memory.. Apache-2
Show 8 hidden projects...
- Glances (
π₯ 36 Β·β 23K) - Glances an Eye on your system. A top/htop alternative for..βUnlicensed
- Bpytop (
π₯ 26 Β·β 9.4K Β·π ) - Linux/OSX/FreeBSD resource monitor.Apache-2
- Profiling (
π₯ 21 Β·β 3K Β·π ) - Was an interactive continuous Python profiler.BSD-3
- line_profiler (
π₯ 21 Β·β 1.9K) - Line-by-line profiling for Python.βUnlicensed
- heartrate (
π₯ 19 Β·β 1.6K Β·π ) - Simple real time visualisation of the execution of a Python program.MIT
- pyheat (
π₯ 16 Β·β 770 Β·π ) - pprofile + matplotlib = Python program profiled as an awesome heatmap!.MIT
- memory_profiler (
π₯ 15 Β·β 81 Β·π ) - Monitor Memory usage of Python code.βUnlicensed
- livepython (
π₯ 12 Β·β 2.5K Β·π ) - Visually trace Python code in real-time.MIT
AST Tools
typed_ast (π₯ 28 Β· β 220 Β· π€ ) - Modified fork of CPythons ast module that parses `# type:`.. Apache-2
Show 1 hidden projects...
- astunparse (
π₯ 29 Β·β 200 Β·π ) - An AST unparser for Python.BSD-3
Others
pre-commit (π₯ 42 Β· β 10K) - A framework for managing and maintaining multi-language pre-commit.. MIT
Related Resources
- Best-of lists: Discover other best-of lists with awesome open-source projects on all kinds of topics.
Contribution
Contributions are encouraged and always welcome! If you like to add or update projects, choose one of the following ways:
- Open an issue by selecting one of the provided categories from the issue page and fill in the requested information.
- Modify the projects.yaml with your additions or changes, and submit a pull request. This can also be done directly via the Github UI.
If you like to contribute to or share suggestions regarding the project metadata collection or markdown generation, please refer to the best-of-generator repository. If you like to create your own best-of list, we recommend to follow this guide.
For more information on how to add or update projects, please read the contribution guidelines. By participating in this project, you agree to abide by its Code of Conduct.