An opinionated list of Python frameworks, libraries, tools, and resources

← 返回排行榜

vinta/awesome-python

302.9k

星标

28.1k

分支

302.9k

关注者

Python

语言

📖 项目介绍

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

- HTTP Clients

- Web Scraping

- Email

Database & Storage

- ORM

- Database Drivers

- Database

- Caching

- Search

- Serialization

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

- CLI Development

- CLI Tools

- GUI Development

Text & Documents

- Text Processing

- HTML Manipulation

- File Format Processing

- File Manipulation

Media

- Image Processing

- Audio & Video Processing

- Game Development

Python Language

- Implementations

- Built-in Classes Enhancement

- Functional Programming

- Asynchronous Programming

- Date and Time

Python Toolchain

- Environment Management

- Package Management

- Package Repositories

- Distribution

- Configuration Files

Security

- Cryptography

- Penetration Testing

- Web Security

Other

- Hardware

- Microsoft Windows

- Miscellaneous

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

- instructor - A library for extracting structured data from LLMs, powered by Pydantic.

- llama-index - A data framework for your LLM application.

- 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.

- 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

- openai-whisper - A general-purpose automatic speech recognition model trained on 680k hours of multilingual and multitask supervised data.

- funasr - Industrial-grade speech recognition toolkit with 170x realtime speed, 50+ languages, speaker diarization, and emotion 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-lightning - Deep learning framework to train, deploy, and ship AI products Lightning fast.

- pytorch - Tensors and Dynamic neural networks in Python with strong GPU acceleration.

- 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.

- 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, pydantic and 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 - JavaScript Object Signing and Encryption draft implementation.

- 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.

- mechanicalsoup - A Python library for automating interaction with websites.

- scrapy - A fast high-level screen scraping and web crawling framework.

- 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.

Email

_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.

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.

- datasette - An open source multi-tool for exploring and publishing data.

- data-profiling - Generate detailed data profiling reports for pandas DataFrames.

- 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.

- 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, pyflakes and 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.

- 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.

- doit - A task runner and build tool.

- scons - A software construction tool.

Documentation

_Libraries for generating project documentation._

- sphinx - Python Documentation generator.

- awesome-sphinxdoc

- diagrams - Diagram as Code.

- mkdocs - Markdown friendly documentation generator.

- pdoc - Epydoc replacement to auto generate API documentation for Python libraries.

DevOps

DevOps Tools

_Software and libraries for DevOps._

- Cloud Providers

- awscli - Universal Command Line Interface for Amazon Web Services.

- boto3 - Python interface to Amazon Web Services.

- Configuration Management

- ansible - A radically simple IT automation platform.

- cloudinit - A multi-distribution package that handles early initialization of a cloud instance.

- openstack - Open source software for building private and public clouds.

- pyinfra - A versatile CLI tools and python libraries to automate infrastructure.

- saltstack - Infrastructure automation and management system.

- Deployment

- chalice - A Python serverless microframework for AWS.

- fabric - A simple, Pythonic tool for remote execution and deployment.

- Monitoring and Processes

- psutil - A cross-platform process and system utilities module.

- sentry-python - Sentry SDK for Python.

- sh - A full-fledged subprocess replacement for Python.

- supervisor - Supervisor process control system for UNIX.

- Other

- borg - A deduplicating archiver with compression and encryption.

- chaostoolkit - A Chaos Engineering toolkit & Orchestration for Developers.

- kubesdk - A modern async-first Kubernetes client and API model generator.

- pre-commit - A framework for managing and maintaining multi-language pre-commit hooks.

Distributed Computing

_Frameworks and libraries for Distributed Computing._

- Batch Processing

- dask - A flexible parallel computing library for analytic computing.

- luigi - A module that helps you build complex pipelines of batch jobs.

- mpi4py - Python bindings for MPI.

- pyspark - Apache Spark Python API.

- joblib - A set of tools to provide lightweight pipelining in Python.

- ray - A system for parallel and distributed Python that unifies the machine learning ecosystem.

Task Queues

_Libraries for working with task queues._

- celery - An asynchronous task queue/job queue based on distributed message passing.

- dramatiq - A fast and reliable background task processing library for Python 3.

- huey - Little multi-threaded task queue.

- rq - Simple job queues for Python.

- taskiq - Distributed task queue with native asyncio support and pluggable brokers.

Messaging

_Libraries for working with message brokers and event streaming._

- faststream - A framework for building asynchronous services over Apache Kafka, RabbitMQ, NATS, MQTT and Redis.

Job Schedulers

_Libraries for scheduling jobs._

- airflow - Airflow is a platform to programmatically author, schedule and monitor workflows.

- apscheduler - A light but powerful in-process task scheduler that lets you schedule functions.

- dagster - An orchestration platform for the development, production, and observation of data assets.

- prefect - A modern workflow orchestration framework that makes it easy to build, schedule and monitor robust data pipelines.

- schedule - Python job scheduling for humans.

- SpiffWorkflow - A powerful workflow engine implemented in pure Python.

Logging

_Libraries for generating and working with logs._

- logfmter - A standard library compatible logfmt formatter.

- logging - (Python standard library) Logging facility for Python.

- loguru - Library which aims to bring enjoyable logging in Python.

- structlog - Structured logging made easy.

Network Virtualization

_Tools and libraries for Virtual Networking and SDN (Software Defined Networking)._

- mininet - A popular network emulator and API written in Python.

- napalm - Cross-vendor API to manipulate network devices.

- scapy - A brilliant packet manipulation library.

CLI & GUI

CLI Development

_Libraries for building command-line applications._

- CLI Development

- argparse - (Python standard library) Command-line option and argument parsing.

- cement - CLI Application Framework for Python.

- click - A package for creating beautiful command line interfaces in a composable way.

- python-fire - A library for creating command line interfaces from absolutely any Python object.

- python-prompt-toolkit - A library for building powerful interactive command lines.

- typer - Modern CLI framework that uses Python type hints. Built on Click and Pydantic.

- Terminal Rendering

- alive-progress - A new kind of Progress Bar, with real-time throughput, eta and very cool animations.

- asciimatics - A package to create full-screen text UIs (from interactive forms to ASCII animations).

- colorama - Cross-platform colored terminal text.

- rich - Python library for rich text and beautiful formatting in the terminal. Also provides a great RichHandler log handler.

- textual - A framework for building interactive user interfaces that run in the terminal and the browser.

- tqdm - Fast, extensible progress bar for loops and CLI.

CLI Tools

_Useful CLI-based tools for productivity._

- Productivity Tools

- cookiecutter - A command-line utility that creates projects from cookiecutters (project templates).

- copier - A library and command-line utility for rendering projects templates.

- doitlive - A tool for live presentations in the terminal.

- thefuck - Correcting your previous console command.

- tmuxp - A tmux session manager.

- xonsh - A Python-powered shell. Full-featured and cross-platform.

- yt-dlp - A command-line program to download videos from YouTube and other video sites, a fork of youtube-dl.

- CLI Enhancements

- httpie - A command line HTTP client, a user-friendly cURL replacement.

- iredis - Redis CLI with autocompletion and syntax highlighting.

- litecli - SQLite CLI with autocompletion and syntax highlighting.

- mycli - MySQL CLI with autocompletion and syntax highlighting.

- pgcli - PostgreSQL CLI with autocompletion and syntax highlighting.

GUI Development

_Libraries for working with graphical user interface applications._

- Desktop

- customtkinter - A modern and customizable python UI-library based on Tkinter.

- dearpygui - A Simple GPU accelerated Python GUI framework

- enaml - Creating beautiful user-interfaces with Declarative Syntax like QML.

- kivy - A library for creating NUI applications, running on Windows, Linux, Mac OS X, Android and iOS.

- pyglet - A cross-platform windowing and multimedia library for Python.

- pygobject - Python Bindings for GLib/GObject/GIO/GTK+ (GTK+3).

- PyQt - Python bindings for the Qt cross-platform application and UI framework.

- pyside - Qt for Python offers the official Python bindings for Qt, this is same as PyQt but it's the official binding with different licensing.

- tkinter - (Python standard library) The standard Python interface to the Tcl/Tk GUI toolkit.

- toga - A Python native, OS native GUI toolkit.

- wxPython - A blending of the wxWidgets C++ class library with the Python.

- Web-based

- flet - Cross-platform GUI framework for building modern apps in pure Python.

- nicegui - An easy-to-use, Python-based UI framework, which shows up in your web browser.

- pywebview - A lightweight cross-platform native wrapper around a webview component.

- Terminal

- curses - (Python standard library) The built-in wrapper for ncurses used to create terminal GUI applications.

- urwid - A library for creating terminal GUI applications with strong support for widgets, events, rich colors, etc.

- Wrappers

- gooey - Turn command line programs into a full GUI application with one line.

Text & Documents

Text Processing

_Libraries for parsing and manipulating plain texts._

- General

- babel - An internationalization library for Python.

- chardet - Python character encoding detector.

- difflib - (Python standard library) Helpers for computing deltas.

- ftfy - Makes Unicode text less broken and more consistent automagically.

- pangu.py - Paranoid text spacing.

- pyfiglet - An implementation of figlet written in Python.

- pypinyin - Convert Chinese hanzi (漢字) to pinyin (拼音).

- python-slugify - A Python slugify library that translates unicode to ASCII.

- textdistance - Compute distance between sequences with 30+ algorithms.

- unidecode - ASCII transliterations of Unicode text.

- Unique identifiers

- sqids - A library for generating short unique IDs from numbers.

- shortuuid - A generator library for concise, unambiguous and URL-safe UUIDs.

- Parser

- pygments - A generic syntax highlighter.

- pyparsing - A general purpose framework for generating parsers.

- python-nameparser - Parsing human names into their individual components.

- python-phonenumbers - Parsing, formatting, storing and validating international phone numbers.

- python-user-agents - Browser user agent parser.

- sqlparse - A non-validating SQL parser.

HTML Manipulation

_Libraries for working with HTML and XML._

- beautifulsoup - Providing Pythonic idioms for iterating, searching, and modifying HTML or XML.

- justhtml - A pure Python HTML5 parser that just works.

- lxml - A very fast, easy-to-use and versatile library for handling HTML and XML.

- markupsafe - Implements a XML/HTML/XHTML Markup safe string for Python.

- pyquery - A jQuery-like library for parsing HTML.

- tinycss2 - A low-level CSS parser and generator written in Python.

- xmltodict - Working with XML feel like you are working with JSON.

File Format Processing

_Libraries for parsing and manipulating specific text formats._

- General

- docling - Library for converting documents into structured data.

- kreuzberg - High-performance document extraction library with a Rust core, supporting 62+ formats including PDF, Office, images with OCR, HTML, email, and archives.

- pyelftools - Parsing and analyzing ELF files and DWARF debugging information.

- tablib - A module for Tabular Datasets in XLS, CSV, JSON, YAML.

- MS Office

- docxtpl - Editing a docx document by jinja2 template

- openpyxl - A library for reading and writing Excel 2010 xlsx/xlsm/xltx/xltm files.

- pyexcel - Providing one API for reading, manipulating and writing csv, ods, xls, xlsx and xlsm files.

- python-docx - Reads, queries and modifies Microsoft Word 2007/2008 docx files.

- python-pptx - Python library for creating and updating PowerPoint (.pptx) files.

- xlsxwriter - A Python module for creating Excel .xlsx files.

- xlwings - A BSD-licensed library that makes it easy to call Python from Excel and vice versa.

- PDF

- pdf_oxide - A fast PDF library for text extraction, image extraction, and markdown conversion, powered by Rust.

- pdfminer.six - Pdfminer.six is a community maintained fork of the original PDFMiner.

- pikepdf - A powerful library for reading and editing PDF files, based on qpdf.

- pypdf - A library capable of splitting, merging, cropping, and transforming PDF pages.

- reportlab - Allowing Rapid creation of rich PDF documents.

- weasyprint - A visual rendering engine for HTML and CSS that can export to PDF.

- Markdown

- markdown-it-py - Markdown parser with 100% CommonMark support, extensions, and syntax plugins.

- markdown - A Python implementation of John Gruber’s Markdown.

- markitdown - Python tool for converting files and office documents to Markdown.

- mistune - Fastest and full featured pure Python parsers of Markdown.

- Data Formats

- csvkit - Utilities for converting to and working with CSV.

- pyyaml - YAML implementations for Python.

- tomllib - (Python standard library) Parse TOML files.

File Manipulation

_Libraries for file manipulation._

- mimetypes - (Python standard library) Map filenames to MIME types.

- pathlib - (Python standard library) A cross-platform, object-oriented path library.

- python-magic - A Python interface to the libmagic file type identification library.

- watchdog - API and shell utilities to monitor file system events.

- watchfiles - Simple, modern and fast file watching and code reload in python.

Media

Image Processing

_Libraries for manipulating images._

- pillow - Pillow is the friendly PIL fork.

- pymatting - A library for alpha matting.

- python-barcode - Create barcodes in Python with no extra dependencies.

- python-qrcode - A pure Python QR Code generator.

- pyvips - A fast image processing library with low memory needs.

- scikit-image - A Python library for (scientific) image processing.

- thumbor - A smart imaging service. It enables on-demand crop, re-sizing and flipping of images.

- wand - Python bindings for MagickWand, C API for ImageMagick.

Audio & Video Processing

_Libraries for manipulating audio, video, and their metadata._

- Audio

- birdnet - Deep learning framework for acoustic species detection; identifies bird species from audio recordings using TensorFlow.

- gtts - Python library and CLI tool for converting text to speech using Google Translate TTS.

- KittenTTS - Lightweight ONNX text-to-speech library with small CPU-friendly models.

- librosa - Python library for audio and music analysis.

- matchering - A library for automated reference audio mastering.

- pydub - Manipulate audio with a simple and easy high level interface.

- Video

- moviepy - A module for script-based movie editing with many formats, including animated GIFs.

- vidgear - Most Powerful multi-threaded Video Processing framework.

- Metadata

- beets - A music library manager and MusicBrainz tagger.

- mutagen - A Python module to handle audio metadata.

- tinytag - A library for reading music meta data of MP3, OGG, FLAC and Wave files.

Game Development

_Awesome game development libraries._

- arcade - Arcade is a modern Python framework for crafting games with compelling graphics and sound.

- panda3d - 3D game engine developed by Disney.

- py-sdl2 - A ctypes based wrapper for the SDL2 library.

- pygame - Pygame is a set of Python modules designed for writing games.

- pyopengl - Python ctypes bindings for OpenGL and it's related APIs.

- renpy - A Visual Novel engine.

Python Language

Implementations

_Implementations of Python._

- cpython - Default, most widely used implementation of the Python programming language written in C.

- cython - Optimizing Static Compiler for Python.

- ironpython - Implementation of the Python programming language written in C#.

- micropython - A lean and efficient Python programming language implementation.

- pyodide - Python distribution for the browser and Node.js based on WebAssembly.

- pypy - A very fast and compliant implementation of the Python language.

Built-in Classes Enhancement

_Libraries for enhancing Python built-in classes._

- attrs - Replacement for __init__, __eq__, __repr__, etc. boilerplate in class definitions.

- bidict - Efficient, Pythonic bidirectional map data structures and related functionality.

- box - Python dictionaries with advanced dot notation access.

- uuid-utils - A fast, Rust-backed drop-in replacement for Python's built-in uuid module, supporting RFC 9562 (UUIDv6, UUIDv7, and UUIDv8).

Functional Programming

_Functional Programming with Python._

- coconut - A variant of Python built for simple, elegant, Pythonic functional programming.

- functools - (Python standard library) Higher-order functions and operations on callable objects.

- funcy - A fancy and practical functional tools.

- more-itertools - More routines for operating on iterables, beyond itertools.

- returns - A set of type-safe monads, transformers, and composition utilities.

- toolz - A collection of functional utilities for iterators, functions, and dictionaries. Also available as cytoolz for Cython-accelerated performance.

Asynchronous Programming

_Libraries for asynchronous, concurrent and parallel execution. Also see awesome-asyncio._

- anyio - A high-level async concurrency and networking framework that works on top of asyncio or trio.

- asyncio - (Python standard library) Asynchronous I/O, event loop, coroutines and tasks.

- awesome-asyncio

- concurrent.futures - (Python standard library) A high-level interface for asynchronously executing callables.

- gevent - A coroutine-based Python networking library that uses greenlet.

- multiprocessing - (Python standard library) Process-based parallelism.

- trio - A friendly library for async concurrency and I/O.

- twisted - An event-driven networking engine.

- uvloop - Ultra fast asyncio event loop.

Date and Time

_Libraries for working with dates and times._

- dateparser - A Python parser for human-readable dates in dozens of languages.

- dateutil - Extensions to the standard Python datetime module.

- pendulum - Python datetimes made easy.

- zoneinfo - (Python standard library) IANA time zone support. Brings the tz database into Python.

Python Toolchain

Environment Management

_Libraries for Python version and virtual environment management._

- KillPy - Analyze, detect, and clean unused Python environments and pipx packages.

- pyenv - Simple Python version management.

- pyenv-win - Pyenv for Windows.

- uv - An extremely fast Python version, package and project manager, written in Rust.

- virtualenv - A tool to create isolated Python environments.

Package Management

_Libraries for package and dependency management._

- conda - Cross-platform, Python-agnostic binary package manager.

- pip - The package installer for Python.

- pipx - Install and Run Python Applications in Isolated Environments. Like npx in Node.js.

- poetry - Python dependency management and packaging made easy.

- uv - An extremely fast Python version, package and project manager, written in Rust.

Package Repositories

_Local PyPI repository server and proxies._

- bandersnatch - PyPI mirroring tool provided by Python Packaging Authority (PyPA).

- devpi - PyPI server and packaging/testing/release tool.

- warehouse - Next generation Python Package Repository (PyPI).

Distribution

_Libraries to create packaged executables for release distribution._

- cx-Freeze - It is a Python tool that converts Python scripts into standalone executables and installers for Windows, macOS, and Linux.

- Nuitka - Compiles Python programs into high-performance standalone executables (cross-platform, supports all Python versions).

- pyarmor - A tool used to obfuscate python scripts, bind obfuscated scripts to fixed machine or expire obfuscated scripts.

- pyinstaller - Converts Python programs into stand-alone executables (cross-platform).

- shiv - A command line utility for building fully self-contained zipapps (PEP 441), but with all their dependencies included.

Configuration Files

_Libraries for storing and parsing configuration options._

- configparser - (Python standard library) INI file parser.

- dynaconf - Dynaconf is a configuration manager with plugins for Django, Flask and FastAPI.

- hydra - Hydra is a framework for elegantly configuring complex applications.

- python-decouple - Strict separation of settings from code.

- python-dotenv - Reads key-value pairs from a .env file and sets them as environment variables.

Security

Cryptography

- cryptography - A package designed to expose cryptographic primitives and recipes to Python developers.

- paramiko - The leading native Python SSHv2 protocol library.

- pynacl - Python binding to the Networking and Cryptography (NaCl) library.

Penetration Testing

_Frameworks and tools for penetration testing._

- mitmproxy - An interactive TLS-capable intercepting HTTP proxy for penetration testers and software developers.

- setoolkit - A toolkit for social engineering.

- sherlock - Hunt down social media accounts by username across social networks.

- sqlmap - Automatic SQL injection and database takeover tool.

Web Security

_Libraries for application-layer web security._

- secure - HTTP security headers for Python web applications with ASGI and WSGI middleware.

Other

Hardware

_Libraries for programming with hardware._

- bleak - A cross platform Bluetooth Low Energy Client for Python using asyncio.

- jumpstarter - A hardware-in-the-loop testing framework with a Python client library for automated testing on real and virtual hardware.

- pynput - A library to control and monitor input devices.

- synology-api - Python wrapper for Synology NAS APIs: Surveillance Station, File Station, Download Station, Docker, and 50+ other endpoints.

Microsoft Windows

_Python programming on Microsoft Windows._

- pythonnet - Python Integration with the .NET Common Language Runtime (CLR).

- pywin32 - Python Extensions for Windows.

- winpython - Portable development environment for Windows 10/11.

Miscellaneous

_Useful libraries or tools that don't fit in the categories above._

- blinker - A fast Python in-process signal/event dispatching system.

- boltons - A set of pure-Python utilities.

- itsdangerous - Various helpers to pass trusted data to untrusted environments.

- tryton - A general-purpose business framework.

Resources

Where to discover learning resources or new Python libraries.

Newsletters

- Awesome Python Newsletter

- Pycoder's Weekly

- Python Tricks

- Python Weekly

Podcasts

- Django Chat

- PyPodcats

- Python Bytes

- Talk Python To Me

- The Real Python Podcast

Websites

- Python Developer Tooling Handbook - Comprehensive guide to modern Python developer tools covering package management, linting, type checking, testing, and more.

Contributing

Your contributions are always welcome! Please take a look at the contribution guidelines first.

---

If you have any question about this opinionated list, do not hesitate to contact @vinta on X (Twitter).

🔗 项目信息

创建时间: 2014/6/28

最后更新: 2026/6/15

开源协议: Other

项目大小: 5.7k KB

📊 项目统计

⭐ 星标: 302.9k

🍴 分支: 28.1k

👀 关注者: 302.9k

📝 议题: 21

🌟 访问GitHub仓库