awesome-python – vinta
一个包含 Python 框架、库、工具和资源的精选列表
关键指标一览
主题标签
README 详细介绍
Awesome Python
An opinionated guide to the best Python frameworks, libraries, tools, and resources.
Visit the website to search and filter projects more easily.
Sponsors
> The #10 most-starred repo on GitHub. Put your product in front of Python developers. Become a sponsor.
Categories
AI & ML
- AI and Agents
- Deep Learning
- Machine Learning
- Natural Language Processing
- Computer Vision
- Recommender Systems
Web Development
- Web Frameworks
- Web APIs
- Web Servers
- WebSocket
- Template Engines
- Web Asset Management
- Authentication
- Admin Panels
- CMS
- Static Site Generators
HTTP & Scraping
Database & Storage
Data & Science
- Data Analysis
- Data Ingestion / ETL
- Data Validation
- Data Visualization
- Geolocation
- Science
- Quantum Computing
Developer Tools
- Algorithms and Design Patterns
- Interactive Interpreter
- Code Analysis
- Testing
- Debugging Tools
- Build Tools
- Documentation
DevOps
- DevOps Tools
- Distributed Computing
- Task Queues
- Messaging
- Job Schedulers
- Logging
- Network Virtualization
CLI & GUI
Text & Documents
Media
Python Language
- Implementations
- Built-in Classes Enhancement
- Functional Programming
- Asynchronous Programming
- Date and Time
Python Toolchain
Security
Other
Projects
AI & ML
AI and Agents
_Libraries for building AI applications, LLM integrations, and autonomous agents._
- Agent Skills
- django-ai-plugins - Django backend agent skills for Django, DRF, Celery, and Django-specific code review.
- graphify - Turn any folder of code, SQL schemas, docs, papers, images, or videos into a queryable knowledge graph.
- nuwa-skill - Nuwa distills the thinking of anyone — let Musk, Naval, Munger, and Feynman work for you.
- sentry-skills - Python-focused engineering skills for code review, debugging, and backend workflows.
- trailofbits-skills - Python-friendly security skills for auditing, testing, and safer backend development.
- Orchestration
- ag2 - An open-source AgentOS for multi-agent orchestration and building agentic AI systems.
- autogen - A programming framework for building agentic AI applications.
- bernstein - A deterministic Python orchestrator for CLI coding agents (Claude Code, Codex, Gemini CLI, and 40+ more) with parallel git worktrees and an HMAC-signed audit chain.
- bindu - A framework that wraps any agent handler with DID-based cryptographic identity, A2A JSON-RPC over HTTP, OAuth2 auth, x402 (USDC) payments, and a built-in operator inbox.
- bub - A lightweight, hook-first Python framework for channel-native agents that live alongside people.
- crewai - A framework for orchestrating role-playing autonomous AI agents for collaborative task solving.
- dspy - A framework for programming, not prompting, language models.
- hermes-agent - An adaptive AI agent framework that grows with you.
- langchain - Building applications with LLMs through composability.
- langgraph - Low-level orchestration framework for building stateful, long-running LLM agents.
- openai-agents - OpenAI's framework for building and managing AI agents.
- OpenChronicle - Open-source, local-first memory for any tool-capable LLM agent.
- promptise - A framework for building end-to-end production-ready agentic systems, scalable & secure MCP's and autonomous agents.
- pydantic-ai - A Python agent framework for building generative AI applications with structured schemas.
- TradingAgents - A multi-agents LLM financial trading framework.
- Data Layer
- entroly - An auditable context control plane that optimizes prompt context, stabilizes cache prefixes, and verifies answers locally with WITNESS.
- instructor - A library for extracting structured data from LLMs, powered by Pydantic.
- llama-index - A data framework for your LLM application.
- lumen - An agent framework for conversational analysis of SQL, dataframe and multidimensional array data.
- mem0 - An intelligent memory layer for AI agents enabling personalized interactions.
- outlines - Structured text generation for LLMs with JSON schema, regex, and grammar-constrained decoding.
- Pre-trained Models and Inference
- diffusers - A library that provides pre-trained diffusion models for generating and editing images, audio, and video.
- LiteLLM - Call 100+ LLMs using OpenAI format.
- liter-llm - A universal LLM API client with a Rust core, calling 142+ providers through a single OpenAI-compatible interface, with a built-in proxy and MCP server.
- mlx-lm - Run and fine-tune large language models on Apple Silicon with MLX.
- sglang - A high-performance serving framework for large language models and multimodal models.
- transformers - A framework that lets you easily use pre-trained transformer models for NLP, vision, and audio tasks.
- unsloth - A library for faster LLM fine-tuning and training with reduced memory usage.
- vllm - A high-throughput and memory-efficient inference and serving engine for LLMs.
- Speech
- funasr - Industrial-grade speech recognition toolkit with 170x realtime speed, 50+ languages, speaker diarization, and emotion detection.
- openai-whisper - A general-purpose automatic speech recognition model trained on 680k hours of multilingual and multitask supervised data.
- SenseVoice - A multilingual speech understanding model for speech recognition, language identification, emotion recognition, and audio event detection.
- vibevoice - A family of open-source voice AI models from Microsoft for text-to-speech and long-form speech recognition.
- voxcpm - A tokenizer-free text-to-speech foundation model for multilingual speech generation and voice cloning.
Deep Learning
_Frameworks for Neural Networks and Deep Learning. Also see awesome-deep-learning._
- jax - A library for high-performance numerical computing with automatic differentiation and JIT compilation.
- keras - A high-level deep learning library with support for JAX, TensorFlow, and PyTorch backends.
- pytorch - Tensors and Dynamic neural networks in Python with strong GPU acceleration.
- pytorch-lightning - Deep learning framework to train, deploy, and ship AI products Lightning fast.
- stable-baselines3 - PyTorch implementations of Stable Baselines (deep) reinforcement learning algorithms.
- tensorflow - The most popular Deep Learning framework created by Google.
Machine Learning
_Libraries for Machine Learning. Also see awesome-machine-learning._
- catboost - A fast, scalable, high performance gradient boosting on decision trees library.
- feature_engine - sklearn compatible API with the widest toolset for feature engineering and selection.
- h2o - Open Source Fast Scalable Machine Learning Platform.
- lightgbm - A fast, distributed, high performance gradient boosting framework.
- mindsdb - MindsDB is an open source AI layer for existing databases that allows you to effortlessly develop, train and deploy state-of-the-art machine learning models using standard queries.
- pgmpy - A Python library for probabilistic graphical models and Bayesian networks.
- scikit-learn - The most popular Python library for Machine Learning with extensive documentation and community support.
- scikit-lego - A collection of lego bricks for scikit-learn pipelines.
- spark.ml - Apache Spark's scalable Machine Learning library for distributed computing.
- TabGAN - Synthetic tabular data generation using GANs, Diffusion Models, and LLMs.
- timesfm - A pretrained foundation model from Google Research for time-series forecasting.
- xgboost - A scalable, portable, and distributed gradient boosting library.
Natural Language Processing
_Libraries for working with human languages._
- General
- gensim - Topic Modeling for Humans.
- nltk - A leading platform for building Python programs to work with human language data.
- spacy - A library for industrial-strength natural language processing in Python and Cython.
- stanza - The Stanford NLP Group's official Python library, supporting 60+ languages.
- Chinese
- funnlp - A collection of tools and datasets for Chinese NLP.
- jieba - The most popular Chinese text segmentation library.
Computer Vision
_Libraries for Computer Vision._
- easyocr - Ready-to-use OCR with 40+ languages supported.
- fiftyone - The open-source tool for building high-quality datasets and computer vision models.
- kornia - Open Source Differentiable Computer Vision Library for PyTorch.
- opencv - Open Source Computer Vision Library.
- pytesseract - A wrapper for Google Tesseract OCR.
- ultralytics - Ultralytics YOLO for object detection, segmentation, pose estimation, and classification with state-of-the-art accuracy and speed.
Recommender Systems
_Libraries for building recommender systems._
- annoy - Approximate Nearest Neighbors in C++/Python optimized for memory usage.
- implicit - A fast Python implementation of collaborative filtering for implicit datasets.
- scikit-surprise - A scikit for building and analyzing recommender systems.
Web Development
Web Frameworks
_Traditional full stack web frameworks. Also see Web APIs._
- Synchronous
- bottle - A fast and simple micro-framework distributed as a single file with no dependencies.
- django - The most popular web framework in Python.
- awesome-django
- flask - A microframework for Python.
- awesome-flask
- pyramid - A small, fast, down-to-earth, open source Python web framework.
- awesome-pyramid
- fasthtml - The fastest way to create an HTML app.
- awesome-fasthtml
- masonite - The modern and developer centric Python web framework.
- Asynchronous
- litestar - Production-ready, capable and extensible ASGI Web framework.
- microdot - The impossibly small web framework for Python and MicroPython.
- reflex - A framework for building reactive, full-stack web applications entirely with Python.
- robyn - A high-performance async Python web framework with a Rust runtime.
- starlette - A lightweight ASGI framework and toolkit for building high-performance async services.
- tornado - A web framework and asynchronous networking library.
Web APIs
_Libraries for building RESTful and GraphQL APIs._
- Django
- django-modern-rest - Modern REST with speed, types, async,
msgspec,pydanticand other goodies! - django-ninja - Fast, Django REST framework based on type hints and Pydantic.
- django-rest-framework - A powerful and flexible toolkit to build web APIs.
- strawberry-django - Strawberry GraphQL integration with Django.
- Flask
- apiflask - A lightweight Python web API framework based on Flask and Marshmallow.
- Framework Agnostic
- connexion - A spec-first framework that automatically handles requests based on your OpenAPI specification.
- falcon - A high-performance framework for building cloud APIs and web app backends.
- fastapi - A modern, fast, web framework for building APIs with standard Python type hints.
- sanic - A Python web server and web framework that's written to go fast.
- strawberry - A GraphQL library that leverages Python type annotations for schema definition.
- webargs - A friendly library for parsing HTTP request arguments with built-in support for popular web frameworks.
Web Servers
_ASGI and WSGI compatible web servers._
- ASGI
- daphne - An HTTP, HTTP/2 and WebSocket protocol server for ASGI and ASGI-HTTP.
- granian - A Rust HTTP server for Python applications built on top of Hyper and Tokio, supporting WSGI/ASGI/RSGI.
- hypercorn - An ASGI and WSGI Server based on Hyper libraries and inspired by Gunicorn.
- uvicorn - A lightning-fast ASGI server implementation, using uvloop and httptools.
- WSGI
- gunicorn - Pre-forked, ported from Ruby's Unicorn project.
- uwsgi - A project aims at developing a full stack for building hosting services, written in C.
- waitress - Multi-threaded, powers Pyramid.
- RPC
- grpcio - HTTP/2-based RPC framework with Python bindings, built by Google.
- rpyc (Remote Python Call) - A transparent and symmetric RPC library for Python.
WebSocket
_Libraries for working with WebSocket._
- autobahn-python - WebSocket & WAMP for Python on Twisted and asyncio.
- channels - Developer-friendly asynchrony for Django.
- flask-socketio - Socket.IO integration for Flask applications.
- picows - Fastest WebSocket clients and servers with a frame level interface for the most demanding use-cases.
- websockets - A library for building WebSocket servers and clients with a focus on correctness and simplicity.
Template Engines
_Libraries and tools for templating and lexing._
- jinja - A modern and designer friendly templating language.
- mako - Hyperfast and lightweight templating for the Python platform.
Web Asset Management
_Tools for managing, compressing and minifying website assets._
- django-compressor - Compresses linked and inline JavaScript or CSS into a single cached file.
- django-storages - A collection of custom storage back ends for Django.
Authentication
_Libraries for implementing authentication schemes._
- OAuth
- authlib - A comprehensive library for building OAuth, OpenID Connect, and JWT/JWS/JWE/JWK/JWA.
- django-allauth - Authentication app for Django that "just works."
- django-oauth-toolkit - OAuth 2 goodies for Django.
- oauthlib - A generic and thorough implementation of the OAuth request-signing logic.
- JWT
- pyjwt - JSON Web Token implementation in Python.
- Permissions
- django-guardian - Implementation of per-object permissions for Django.
- django-rules - A tiny but powerful app providing object-level permissions to Django, without requiring a database.
Admin Panels
_Libraries for administrative interfaces._
- ajenti - The admin panel your servers deserve.
- django-grappelli - A jazzy skin for the Django Admin-Interface.
- django-unfold - Elevate your Django admin with a stunning modern interface, powerful features, and seamless user experience.
- flask-admin - Simple and extensible administrative interface framework for Flask.
- flower - Real-time monitor and web admin for Celery.
- func-to-web - Instantly create web UIs from Python functions using type hints. Zero frontend code required.
- jet-bridge - Admin panel framework for any application with nice UI (ex Jet Django).
CMS
_Content Management Systems._
- django-cms - The easy-to-use and developer-friendly enterprise CMS powered by Django.
- indico - A feature-rich event management system, made @ CERN.
- wagtail - A Django content management system.
Static Site Generators
_Static site generator is a software that takes some text + templates as input and produces HTML files on the output._
- lektor - An easy to use static CMS and blog engine.
- nikola - A static website and blog generator.
- pelican - Static site generator that supports Markdown and reST syntax.
HTTP & Scraping
HTTP Clients
_Libraries for working with HTTP._
- aiohttp - Asynchronous HTTP client/server framework for asyncio and Python.
- furl - A small Python library that makes parsing and manipulating URLs easy.
- httptap - Dissects an HTTP request into DNS, TCP, TLS, wait, and transfer phases and renders the timings as a waterfall.
- httpx - A next generation HTTP client for Python.
- requests - HTTP Requests for Humans.
- urllib3 - A HTTP library with thread-safe connection pooling, file post support, sanity friendly.
Web Scraping
_Libraries to automate web scraping and extract web content._
- Frameworks
- browser-use - Make websites accessible for AI agents with easy browser automation.
- crawl4ai - An open-source, LLM-friendly web crawler that provides lightning-fast, structured data extraction specifically designed for AI agents.
- crawlberg - A high-performance web crawling engine with a Rust core, headless-browser fallback, and built-in robots.txt and sitemap parsing.
- mechanicalsoup - A Python library for automating interaction with websites.
- scrapy - A fast high-level screen scraping and web crawling framework.
- website-downloader - A modern wget --mirror / HTTrack alternative that turns whole websites into browsable offline copies.
- Content Extraction
- feedparser - Universal feed parser.
- html2text - Convert HTML to Markdown-formatted text.
- micawber - A small library for extracting rich content from URLs.
- sumy - A module for automatic summarization of text documents and HTML pages.
- trafilatura - A tool for gathering text and metadata from the web, with built-in content filtering.
_Libraries for sending and parsing email, and mail server management._
- modoboa - A mail hosting and management platform including a modern Web UI.
- yagmail - Yet another Gmail/SMTP client.
Database & Storage
ORM
_Libraries that implement Object-Relational Mapping or data mapping techniques._
- Relational Databases
- django.db.models - The Django ORM.
- sqlalchemy - The Python SQL Toolkit and Object Relational Mapper.
- awesome-sqlalchemy
- dataset - Store Python dicts in a database - works with SQLite, MySQL, and PostgreSQL.
- peewee - A small, expressive ORM.
- pony - ORM that provides a generator-oriented interface to SQL.
- sqlmodel - SQLModel is based on Python type annotations, and powered by Pydantic and SQLAlchemy.
- tortoise-orm - An easy-to-use asyncio ORM inspired by Django, with relations support.
- NoSQL Databases
- beanie - An asynchronous Python object-document mapper (ODM) for MongoDB.
- mongoengine - A Python Object-Document-Mapper for working with MongoDB.
- pynamodb - A Pythonic interface for Amazon DynamoDB.
Database Drivers
_Libraries for connecting and operating databases._
- MySQL - awesome-mysql
- mysqlclient - MySQL connector with Python 3 support (mysql-python fork).
- pymysql - A pure Python MySQL driver compatible to mysql-python.
- PostgreSQL - awesome-postgres
- psycopg - The most popular PostgreSQL adapter for Python.
- SQLite - awesome-sqlite
- sqlite-utils - Python CLI utility and library for manipulating SQLite databases.
- sqlite3 - (Python standard library) SQLite interface compliant with DB-API 2.0.
- Other Relational Databases
- clickhouse-driver - Python driver with native interface for ClickHouse.
- mssql-python - Official Microsoft driver for SQL Server and Azure SQL, built on ODBC for high performance and low memory usage.
- NoSQL Databases
- cassandra-driver - The Python Driver for Apache Cassandra.
- django-mongodb-backend - Official MongoDB database backend for Django.
- pymongo - The official Python client for MongoDB.
- redis-py - The Python client for Redis.
Database
_Databases implemented in Python._
- chdb - In-process OLAP SQL engine with the full ClickHouse dialect, zero-copy pandas/Arrow interop, and federation to remote ClickHouse clusters via
remoteSecure(). - chromadb - An open-source embedding database for building AI applications with embeddings and semantic search.
- duckdb - An in-process SQL OLAP database management system; optimized for analytics and fast queries, similar to SQLite but for analytical workloads.
- pickledb - A simple and lightweight key-value store for Python.
- tinydb - A tiny, document-oriented database.
- ZODB - A native object database for Python. A key-value and object graph database.
- zvec - An embedded vector database for on-device RAG and edge AI, the SQLite of vector databases.
Caching
_Libraries for caching data._
- cachetools - Extensible memoizing collections and decorators.
- django-cacheops - A slick ORM cache with automatic granular event-driven invalidation.
- dogpile.cache - dogpile.cache is a next generation replacement for Beaker made by the same authors.
- python-diskcache - SQLite and file backed cache backend with faster lookups than memcached and redis.
Search
_Libraries and software for indexing and performing search queries on data._
- django-haystack - Modular search for Django.
- elasticsearch-py - The official low-level Python client for Elasticsearch.
- pysolr - A lightweight Python wrapper for Apache Solr.
Serialization
_Libraries for serializing complex data types._
- marshmallow - A lightweight library for converting complex objects to and from simple Python datatypes.
- msgpack - MessagePack serializer implementation for Python.
- orjson - Fast, correct JSON library.
Data & Science
Data Analysis
_Libraries for data analysis._
- aws-sdk-pandas - Pandas on AWS.
- data-profiling - Generate detailed data profiling reports for pandas DataFrames.
- datasette - An open source multi-tool for exploring and publishing data.
- desbordante - An open source data profiler for complex pattern discovery.
- ibis - A portable Python dataframe library with a single API for 20+ backends.
- modin - A drop-in pandas replacement that scales workflows by changing a single line of code.
- pandas - A library providing high-performance, easy-to-use data structures and data analysis tools.
- pathway - Real-time data processing framework for Python with reactive dataflows.
- percentify - Exploratory stats and data-quality diagnostics/profiler, that supports both pandas and Polars DataFrames inputs.
- polars - A fast DataFrame library implemented in Rust with a Python API.
Data Ingestion / ETL
_Libraries for data extraction, transformation, and loading pipelines across multiple sources and destinations._
- General
- dlt - A Python library for building data pipelines with automatic schema inference, incremental loading, and support for multiple sources and destinations.
- Financial Data
- akshare - A financial data interface library, built for human beings!
- edgartools - Library for downloading structured data from SEC EDGAR filings and XBRL financial statements.
- lumibot - Algorithmic trading framework for backtesting and live deployment across stocks, options, crypto, futures, and forex.
- openbb - A financial data platform for analysts, quants and AI agents.
- yfinance - Easy Pythonic way to download market and financial data from Yahoo Finance.
Data Validation
_Libraries for validating data. Used for forms in many cases._
- cerberus - A lightweight and extensible data validation library.
- jsonschema - An implementation of JSON Schema for Python.
- pandera - A data validation library for dataframes, with support for pandas, polars, and Spark.
- pydantic - Data validation using Python type hints.
- voluptuous - A Python data validation library primarily intended for validating data from untrusted sources.
Data Visualization
_Libraries for visualizing data. Also see awesome-javascript._
- Plotting
- altair - Declarative statistical visualization library for Python.
- bokeh - Interactive Web Plotting for Python.
- bqplot - Interactive Plotting Library for the Jupyter Notebook.
- matplotlib - A Python 2D plotting library.
- plotly - Interactive graphing library for Python.
- plotnine - A grammar of graphics for Python based on ggplot2.
- pygal - A Python SVG Charts Creator.
- pyqtgraph - Interactive and realtime 2D/3D/Image plotting and science/engineering widgets.
- seaborn - Statistical data visualization using Matplotlib.
- ultraplot - Matplotlib wrapper for publication-ready scientific figures with minimal code. Includes advanced subplot management, panel layouts, and batteries-included geoscience plotting.
- vispy - High-performance scientific visualization based on OpenGL.
- Specialized
- cartopy - A cartographic python library with matplotlib support.
- pygraphviz - Python interface to Graphviz.
- Dashboards and Apps
- gradio - Build and share machine learning apps, all in Python.
- streamlit - A framework which lets you build dashboards, generate reports, or create chat apps in minutes.
Geolocation
_Libraries for geocoding addresses and working with latitudes and longitudes._
- django-countries - A Django app that provides a country field for models and forms.
- geodjango - A world-class geographic web framework that is part of Django.
- geojson - Python bindings and utilities for GeoJSON.
- geopandas - Python tools for geographic data (GeoSeries/GeoDataFrame) built on pandas.
- geopy - Python Geocoding Toolbox.
Science
_Libraries for scientific computing. Also see Python-for-Scientists._
- Core
- numba - Python JIT compiler to LLVM aimed at scientific Python.
- numpy - A fundamental package for scientific computing with Python.
- scipy - A Python-based ecosystem of open-source software for mathematics, science, and engineering.
- statsmodels - Statistical modeling and econometrics in Python.
- sympy - A Python library for symbolic mathematics.
- Biology and Chemistry
- biopython - Biopython is a set of freely available tools for biological computation.
- cclib - A library for parsing and interpreting the results of computational chemistry packages.
- openbabel - A chemical toolbox designed to speak the many languages of chemical data.
- rdkit - Cheminformatics and Machine Learning Software.
- Physics and Engineering
- astropy - A community Python library for Astronomy.
- obspy - A Python toolbox for seismology.
- pydy - Short for Python Dynamics, used to assist with workflow in the modeling of dynamic motion.
- PythonRobotics - This is a compilation of various robotics algorithms with visualizations.
- Simulation and Modeling
- mesa - An agent-based modeling framework for building, analyzing, and visualizing complex system simulations.
- pathsim - A block-based system modeling and simulation framework with a browser-based visual editor.
- pymc - Probabilistic programming and Bayesian modeling in Python.
- simpy - A process-based discrete-event simulation framework.
- Other
- colour - Implementing a comprehensive number of colour theory transformations and algorithms.
- manim - An animation engine for explanatory math videos.
- networkx - A high-productivity software for complex networks.
- shapely - Manipulation and analysis of geometric objects in the Cartesian plane.
Quantum Computing
_Libraries for quantum computing._
- Cirq — A Google-developed framework focused on hardware-aware quantum circuit design for NISQ devices.
- pennylane — A hybrid quantum-classical machine learning library with automatic differentiation support.
- qiskit — An IBM-backed quantum SDK for building, simulating, and running circuits on real quantum hardware.
- qutip - Quantum Toolbox in Python.
Developer Tools
Algorithms and Design Patterns
_Python implementation of data structures, algorithms and design patterns. Also see awesome-algorithms._
- Algorithms
- algorithms - Minimal examples of data structures and algorithms.
- sortedcontainers - Fast and pure-Python implementation of sorted collections.
- thealgorithms - All Algorithms implemented in Python.
- Design Patterns
- python-patterns - A collection of design patterns in Python.
- transitions - A lightweight, object-oriented finite state machine implementation.
Interactive Interpreter
_Interactive Python interpreters (REPL)._
- jupyter - A rich toolkit to help you make the most out of using Python interactively.
- awesome-jupyter
- marimo - Transform data and train models, feels like a next-gen notebook, stored as Git-friendly Python.
- ptpython - Advanced Python REPL built on top of the python-prompt-toolkit.
Code Analysis
_Tools of static analysis, linters and code quality checkers. Also see awesome-static-analysis._
- Code Analysis
- code2flow - Turn your Python and JavaScript code into DOT flowcharts.
- prospector - A tool to analyze Python code.
- repowise - Codebase intelligence that indexes repos into dependency graphs, git history, and auto-generated docs with dead code detection.
- vulture - A tool for finding and analyzing dead Python code.
- Code Linters
- bandit - A tool designed to find common security issues in Python code.
- flake8 - A wrapper around
pycodestyle,pyflakesand McCabe. - awesome-flake8-extensions
- pylint - A fully customizable source code analyzer.
- Code Formatters
- black - The uncompromising Python code formatter.
- isort - A Python utility / library to sort imports.
- ruff - An extremely fast Python linter and code formatter.
- Refactoring
- rope - Rope is a python refactoring library.
- Type Checkers - awesome-python-typing
- mypy - Check variable types during compile time.
- pyrefly - A fast type checker and language server for Python.
- ty - An extremely fast Python type checker and language server.
- typeshed - Collection of library stubs for Python, with static types.
- Type Annotations Generators
- monkeytype - A system for Python that generates static type annotations by collecting runtime types.
- pytype - Pytype checks and infers types for Python code - without requiring type annotations.
Testing
_Libraries for testing codebases and generating test data. Also see awesome-python-testing._
- Frameworks
- hypothesis - Hypothesis is an advanced Quickcheck style property based testing library.
- pytest - A mature full-featured Python testing tool.
- awesome-pytest
- robotframework - A generic test automation framework.
- scanapi - Automated Testing and Documentation for your REST API.
- unittest - (Python standard library) Unit testing framework.
- Test Runners
- nox - Flexible test automation for Python.
- tox - Auto builds and tests distributions in multiple Python versions
- GUI / Web Testing
- locust - Scalable user load testing tool written in Python.
- playwright-python - Python version of the Playwright testing and automation library.
- pyautogui - PyAutoGUI is a cross-platform GUI automation Python module for human beings.
- schemathesis - A tool for automatic property-based testing of web applications built with Open API / Swagger specifications.
- selenium - Python bindings for Selenium WebDriver.
- Mock
- freezegun - Travel through time by mocking the datetime module.
- mock - (Python standard library) A mocking and patching library.
- mocket - A socket mock framework with gevent/asyncio/SSL support.
- responses - A utility library for mocking out the requests Python library.
- respx - Mock HTTPX with awesome request patterns and response side effects.
- vcrpy - Record and replay HTTP interactions on your tests.
- Object Factories
- factory_boy - A test fixtures replacement for Python.
- polyfactory - mock data generation library with support to classes (continuation of
pydantic-factories) - Code Coverage
- coverage - Code coverage measurement.
- Fake Data
- faker - A Python package that generates fake data.
- mimesis - is a Python library that help you generate fake data.
Debugging Tools
_Libraries for debugging code._
- pdb-like Debugger
- ipdb - IPython-enabled pdb.
- pudb - A full-screen, console-based Python debugger.
- Tracing
- manhole - Debugging UNIX socket connections and present the stacktraces for all threads and an interactive prompt.
- python-hunter - A flexible code tracing toolkit.
- Profiler
- py-spy - A sampling profiler for Python programs. Written in Rust.
- scalene - A high-performance, high-precision CPU, GPU, and memory profiler for Python.
- Others
- django-debug-toolbar - Display various debug information for Django.
- flask-debugtoolbar - A port of the django-debug-toolbar to flask.
- icecream - Inspect variables, expressions, and program execution with a single, simple function call.
- memory_graph - Visualize Python data at runtime to debug references, mutability, and aliasing.
Build Tools
_Compile software from source code._
- bitbake - A make-like build tool for embedded Linux.
- doit - A task runner and build tool.
- invoke - A tool for managing shell-oriented subprocesses and organizing executable Python code into CLI-invokable tasks.
- platformio - A console tool to build code with different development platforms.
- pybuilder - A continuous build tool written in pure Python.
- scons - A software construction tool.
Documentation
_Libraries for generating project documentation._
- diagrams - Diagram as Code.
- mkdocs - Markdown friendly documentation generator.
- pdoc - Epydoc replacement to auto generate API documentation for Python libraries.
- sphinx - Python Documentation generator.
- awesome-sphinxdoc
DevOps
DevOps Tools
_Software and libraries for DevOps._
- Cloud Providers
- awscli - Universal C