Vinta ChenandClaude 38a4641e09 feat: improve subcategory page titles and meta descriptions
Subcategory titles such as "JWT for Authentication" lacked searchable words, and their boilerplate descriptions never named the listed projects and said "1 projects".

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 19:54:02 +08:00
2026-09-27 09:12:30 +08:00
…
…
2026-09-29 22:40:55 +08:00
…

Awesome Python

An opinionated guide to the best Python frameworks, libraries, and tools.

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

Web Development

HTTP & Scraping

Database & Storage

Data & Science

Developer Tools

DevOps

CLI & GUI

Text & Documents

Media

Python Language

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.
    • sentry-skills - Agent skills the Sentry team uses for code review, pull requests, and Django reviews.
    • trailofbits-skills - Security skills for vulnerability detection, auditing, and testing.
  • Orchestration
    • langchain - A framework for building agents and LLM-powered applications.
    • langgraph - Low-level orchestration framework for building stateful, long-running LLM agents.
    • pydantic-ai - A Python agent framework for building generative AI applications with structured schemas.
    • crewai - A framework for orchestrating role-playing autonomous AI agents for collaborative task solving.
  • Vendor Agent SDKs
    • claude-agent-sdk - Anthropic's Python SDK for building AI agents on Claude Code's harness — custom tools, in-process MCP servers, hooks.
    • openai-agents - OpenAI's framework for building and managing AI agents.
    • google-adk - Google's code-first toolkit for building, evaluating, and deploying AI agents.
  • Model Context Protocol
    • mcp - The official Python SDK for building Model Context Protocol servers and clients.
    • fastmcp - A high-level, Pythonic framework for building MCP servers and clients.
  • Personal Assistants
    • hermes-agent - An adaptive personal AI assistant that grows with you.
    • AstrBot - A multi-platform AI assistant that connects LLMs to chat apps like Telegram, Slack, and QQ, extensible with Python plugins.
  • Prompt Optimization
    • dspy - A framework for programming, not prompting, language models.
  • Data Layer
    • instructor - A library for extracting structured data from LLMs, powered by Pydantic.
    • llama-index - A toolkit for building RAG pipelines and agents over your data.
    • mem0 - An intelligent memory layer for AI agents enabling personalized interactions.
    • openviking - A context database for AI agents that unifies memory, resources, and skills.
    • semantica - A graph-native context and knowledge layer for AI agents with reasoning, provenance, and governance.
  • Pre-trained Models
    • transformers - The model-definition framework for pretrained models in text, computer vision, audio, video, and multimodal tasks, for inference and training.
  • LLM Inference and Serving
    • sglang - A high-performance serving framework for large language models and multimodal models.
    • vllm - A high-throughput and memory-efficient inference and serving engine for LLMs.
    • mlx-lm - Run and fine-tune large language models on Apple Silicon with MLX.
  • LLM Gateways
    • litellm - Call 100+ LLMs using OpenAI format.
  • Image and Video Generation
    • diffusers - A library that provides pre-trained diffusion models for generating and editing images, audio, and video.
  • Fine-tuning
    • peft - A library for parameter-efficient fine-tuning of large pretrained models.
    • trl - A library for post-training transformer language models with SFT, DPO, GRPO, and other trainers.
    • unsloth - Faster, lower-memory LLM fine-tuning, as a Python library or a desktop app.
    • axolotl - A framework for fine-tuning and post-training large language models.
  • Speech
    • faster-whisper - A Whisper reimplementation on CTranslate2, up to 4 times faster than openai-whisper with less memory.
    • openai-whisper - A general-purpose automatic speech recognition model trained on 680k hours of multilingual and multitask supervised data.
    • gTTS - Python library and CLI tool for converting text to speech using Google Translate TTS.
    • funasr - Industrial-grade speech recognition toolkit with speaker diarization and emotion detection.

Deep Learning

Frameworks for Neural Networks and Deep Learning. Also see awesome-deep-learning.

  • Frameworks
    • 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.
    • 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.
    • tensorflow - An end-to-end machine learning platform from Google.
  • Reinforcement Learning
    • gymnasium - A standard API for reinforcement learning environments with popular reference environments (gym successor).
    • stable-baselines3 - PyTorch implementations of Stable Baselines (deep) reinforcement learning algorithms.

Machine Learning

Libraries for Machine Learning. Also see awesome-machine-learning.

  • General
    • scikit-learn - The most popular Python library for Machine Learning with extensive documentation and community support.
    • pgmpy - A Python library for causal and probabilistic reasoning with graphical models.
    • feature-engine - sklearn compatible API with the widest toolset for feature engineering and selection.
  • Gradient Boosting
    • xgboost - A scalable, portable, and distributed gradient boosting library.
    • lightgbm - A fast, distributed, high performance gradient boosting framework.
    • catboost - A fast, scalable, high performance gradient boosting on decision trees library.
  • Time Series Forecasting
    • prophet - A tool for producing forecasts for time series with multiple seasonality and trend changes.
    • statsforecast - Fast statistical forecasting models such as ARIMA, ETS, and Theta, compiled with numba.
    • sktime - A unified scikit-learn-style framework for forecasting and other time-series learning tasks.
    • timesfm - A pretrained foundation model from Google Research for time-series forecasting, with non-commercial default weights.

Natural Language Processing

Libraries for working with human languages.

  • General
    • 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.
    • gensim - Topic Modeling for Humans.
    • stanza - The Stanford NLP Group's official Python library, supporting 60+ languages.
  • Chinese
    • jieba - The most popular Chinese text segmentation library.
    • pypinyin - Convert Chinese hanzi (漢字) to pinyin (拼音).
    • pangu.py - Paranoid text spacing.

Computer Vision

Libraries for image and video analysis, object detection, and OCR.

  • General
    • opencv-python - Open Source Computer Vision Library.
    • ultralytics - Ultralytics YOLO for object detection, segmentation, pose estimation, classification, and tracking.
    • kornia - Open Source Differentiable Computer Vision Library for PyTorch.
    • fiftyone - The open-source tool for building high-quality datasets and computer vision models.
  • OCR

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
    • flask - A microframework for Python.
    • django - A high-level web framework that encourages rapid development and clean, pragmatic design.
    • bottle - A fast and simple micro-framework distributed as a single file with no dependencies.
    • pyramid - A small, fast, down-to-earth, open source Python web framework.
    • fasthtml - The fastest way to create an HTML app.
  • Asynchronous
    • starlette - A lightweight ASGI framework and toolkit for building high-performance async services.
    • tornado - A web framework and asynchronous networking library.
    • litestar - Production-ready, capable and extensible ASGI Web framework.
    • reflex - A framework for building reactive, full-stack web applications entirely with Python.

Web APIs

Libraries for building RESTful, GraphQL, and RPC APIs.

  • Django
  • Flask
    • flask-restx - Fully featured framework for fast, easy and documented API development with Flask.
    • flask-smorest - A Flask/Marshmallow-based REST API framework with automatic OpenAPI documentation.
    • apiflask - A lightweight Python web API framework based on Flask, supporting marshmallow schemas and Pydantic models.
  • Framework Agnostic
    • fastapi - A modern, fast, web framework for building APIs with standard Python type hints.
    • strawberry - A GraphQL library that leverages Python type annotations for schema definition.
    • connexion - A spec-first framework that automatically handles requests based on your OpenAPI specification.
  • RPC
    • grpcio - HTTP/2-based RPC framework with Python bindings, built by Google.

Web Servers

ASGI and WSGI compatible web servers.

  • ASGI
    • uvicorn - A lightning-fast ASGI server implementation.
    • 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.
  • WSGI
    • gunicorn - A pre-fork WSGI server with a native ASGI worker, ported from Ruby's Unicorn project.
    • waitress - Multi-threaded, powers Pyramid.

WebSocket

Libraries for working with WebSocket.

  • websockets - A library for building WebSocket servers and clients with a focus on correctness and simplicity.
  • channels - Brings WebSocket, long-poll HTTP, and other async support to Django.
  • flask-socketio - Socket.IO integration for Flask applications.
  • autobahn-python - WebSocket & WAMP for Python on Twisted and asyncio.

Template Engines

Libraries for rendering text and HTML from templates.

  • jinja - A modern and designer friendly templating language.
  • mako - Hyperfast and lightweight templating for the Python platform.

Web Asset Management

Tools for managing, storing, compressing and minifying website assets.

  • whitenoise - Radically simplified static file serving for WSGI applications, with compression and caching headers.
  • django-storages - A collection of custom storage back ends for Django.
  • django-compressor - Compresses linked and inline JavaScript or CSS into a single cached file.

Authentication

Libraries for implementing authentication schemes.

  • OAuth
    • oauthlib - A generic and thorough implementation of the OAuth request-signing logic.
    • 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 - An OAuth 2.0 authorization server for Django.
  • 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.

  • flask-admin - Simple and extensible administrative interface framework for Flask.
  • django-unfold - A modern Django admin theme for building dashboards, internal tools, and business applications.
  • sqladmin - An admin interface for SQLAlchemy models in FastAPI and Starlette.
  • django-grappelli - A jazzy skin for the Django Admin-Interface.

CMS

Content Management Systems.

  • wagtail - A Django content management system.
  • django-cms - The easy-to-use and developer-friendly enterprise CMS powered by Django.

ERP

Enterprise resource planning frameworks.

  • odoo - A suite of open source business apps: CRM, e-commerce, accounting, inventory, and thousands of community modules.

Static Site Generators

Static site generator is a software that takes some text + templates as input and produces HTML files on the output.

  • pelican - Static site generator that supports Markdown and reST syntax.
  • nikola - A static website and blog generator.

HTTP & Scraping

HTTP Clients

Libraries for working with HTTP.

  • Clients
    • requests - HTTP Requests for Humans.
    • aiohttp - Asynchronous HTTP client/server framework for asyncio and Python.
    • httpx2 - HTTP/1.1 and HTTP/2 client with sync and async APIs, maintained by Pydantic (httpx fork).
    • urllib3 - An HTTP library with thread-safe connection pooling, file post, and more.
    • httpx - A next generation HTTP client for Python.
  • URL Manipulation
    • yarl - Yet another URL library.

Web Scraping

Libraries to automate web scraping and extract web content.

  • Frameworks
    • browser-use - Make websites accessible for AI agents with easy browser automation.
    • scrapy - A fast high-level web crawling and scraping framework.
    • crawl4ai - An open-source, LLM-friendly web crawler that provides lightning-fast, structured data extraction specifically designed for AI agents.
    • stagehand - A fast and token-efficient browser automation SDK to extract data and perform self-healing actions on web pages.
    • jev-ultrafast - A fast browser agent that picks actions from an indexed table of page elements through TypeSafe's hosted Jev API, using a small LLM only to type text.
  • Content Extraction
    • markdownify - Convert HTML to Markdown, with customizable tag handling.
    • feedparser - Universal feed parser.
    • trafilatura - A tool for gathering text and metadata from the web, with built-in content filtering.

Email

Libraries for sending email.

  • aiosmtplib - An asyncio SMTP client.
  • django-anymail - Django email backends and webhooks for transactional email services such as Amazon SES, Brevo, Mailgun, Postmark, and Resend.
  • yagmail - Yet another Gmail/SMTP client.

Database & Storage

ORM

Libraries that implement Object-Relational Mapping or data mapping techniques.

Database Drivers

Libraries for connecting and operating databases.

  • MySQL - awesome-mysql
    • pymysql - A pure-Python MySQL and MariaDB client library, based on PEP 249.
    • mysqlclient - MySQL and MariaDB connector (MySQLdb1 fork).
  • PostgreSQL - awesome-postgres
    • psycopg - A PostgreSQL adapter for Python, the successor to psycopg2.
    • asyncpg - A fast PostgreSQL Database Client Library for Python/asyncio.
  • SQLite - awesome-sqlite
    • sqlite3 - (Python standard library) SQLite interface compliant with DB-API 2.0.
    • sqlite-utils - Python CLI utility and library for manipulating SQLite databases.
  • ClickHouse
  • Other Relational Databases
    • pyodbc - An ODBC bridge for connecting to SQL Server and any other ODBC-accessible database.
    • oracledb - The official Python driver for Oracle Database, successor to cx_Oracle.
    • mssql-python - Official Microsoft driver for SQL Server and Azure SQL, built on ODBC for high performance.
  • NoSQL Databases
    • redis - The Python client for Redis.
    • pymongo - The official Python client for MongoDB.
    • cassandra-driver - The Python Driver for Apache Cassandra.

Database

In-process databases usable directly from Python.

  • Analytical
    • duckdb - An in-process SQL OLAP database management system; optimized for analytics and fast queries, similar to SQLite but for analytical workloads.
    • chdb - In-process OLAP SQL engine with the full ClickHouse dialect, zero-copy pandas/Arrow interop, and federation to remote ClickHouse clusters via remoteSecure().
  • Vector
    • lancedb - A developer-friendly embedded retrieval database for multimodal AI.
    • chromadb - An open-source embedding database for building AI applications with embeddings and semantic search.
    • zvec - A lightweight, in-process vector database that embeds directly into applications.
  • Key-Value & Document
    • tinydb - A tiny, document-oriented database.

Caching

Libraries for caching data.

  • cachetools - Extensible memoizing collections and decorators.
  • diskcache - SQLite and file backed cache backend, compatible with Django.
  • hishel - RFC 9111 compliant HTTP caching for clients like httpx and requests and servers like FastAPI, with sync and async support.
  • 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.

Libraries and software for indexing and performing search queries on data.

Serialization

Libraries for serializing complex data types.

  • msgpack - MessagePack serializer implementation for Python.
  • orjson - Fast, correct JSON library.
  • marshmallow - A lightweight library for converting complex objects to and from simple Python datatypes.
  • msgspec - A fast serialization and validation library with built-in support for JSON, MessagePack, YAML, and TOML.

Data & Science

Data Analysis

Libraries for data analysis.

  • pandas - A library providing high-performance, easy-to-use data structures and data analysis tools.
  • polars - A fast DataFrame library implemented in Rust with a Python API.
  • ibis-framework - A portable Python dataframe library with a single API for 20+ backends.

Data Ingestion / ETL

Libraries for data extraction, transformation, and loading pipelines across multiple sources and destinations.

  • General
    • awswrangler - Pandas integration with AWS services like Athena, Glue, Redshift, S3, and DynamoDB.
    • dlt - A Python library for building data pipelines with automatic schema inference, incremental loading, and support for multiple sources and destinations.
  • Financial Data
    • yfinance - Easy Pythonic way to download market and financial data from Yahoo Finance.
    • akshare - A financial data interface library, with data provided for academic research only.
    • edgartools - Library for downloading structured data from SEC EDGAR filings and XBRL financial statements.
    • openbb - A financial data platform for analysts, quants and AI agents.

Data Validation

Libraries for validating data.

  • pydantic - Data validation using Python type hints.
  • jsonschema - An implementation of JSON Schema for Python.
  • great-expectations - A data quality framework for validating, documenting, and profiling data with declarative expectations.
  • pandera - A data validation library for dataframes, with support for pandas, polars, PySpark, and more.

Data Visualization

Libraries for visualizing data. Also see awesome-javascript.

  • Plotting
    • matplotlib - A comprehensive library for creating static, animated, and interactive visualizations.
    • plotly - Interactive graphing library for Python.
    • seaborn - Statistical data visualization using Matplotlib.
    • altair - Declarative statistical visualization library for Python.
    • bokeh - Interactive Web Plotting for Python.
  • Specialized
    • graphviz - Simple Python interface for creating and rendering Graphviz graphs.
    • cartopy - A cartographic python library with matplotlib support.
    • graphify - Turn any folder of code, SQL schemas, docs, papers, images, or videos into a queryable knowledge graph.
  • Dashboards and Apps
    • streamlit - A framework which lets you build dashboards, generate reports, or create chat apps in minutes.
    • dash - A framework for building data apps and dashboards in pure Python, built on Plotly.
    • gradio - Build and share machine learning apps, all in Python.

Geolocation

Libraries for geocoding addresses and working with latitudes and longitudes.

Science

Libraries for scientific computing. Also see Python-for-Scientists.

  • Core
    • numpy - A fundamental package for scientific computing with Python.
    • scipy - Fundamental algorithms for scientific computing in Python.
    • numba - A NumPy-aware JIT compiler for Python, using LLVM.
  • Symbolic Mathematics
    • sympy - A Python library for symbolic mathematics.
  • Statistics
    • statsmodels - Statistical modeling and econometrics in Python.
  • Biology and Chemistry
    • rdkit - Cheminformatics and Machine Learning Software.
    • biopython - Biopython is a set of freely available tools for biological computation.
  • Physics and Engineering
    • pint - Operate and manipulate physical quantities with units and dimensional analysis.
    • astropy - A community Python library for Astronomy.
    • obspy - A Python toolbox for seismology.
  • Simulation and Modeling
    • pymc - Probabilistic programming and Bayesian modeling in Python.
    • simpy - A process-based discrete-event simulation framework.
    • mesa - An agent-based modeling framework for building, analyzing, and visualizing complex system simulations.
  • Graphs and Networks
    • networkx - A high-productivity software for complex networks.
  • Computational Geometry
    • shapely - Manipulation and analysis of geometric objects in the Cartesian plane.
  • Other
    • colour-science - Implementing a comprehensive number of colour theory transformations and algorithms.
    • manim - An animation engine for explanatory math videos.

Quantum Computing

Libraries for quantum computing.

  • qiskit - An IBM-backed quantum SDK for building, simulating, and running circuits on real quantum hardware.
  • qutip - Quantum Toolbox in Python.
  • pennylane - A cross-platform library for quantum computing, quantum machine learning, and quantum chemistry.
  • cirq - A Google-developed framework focused on hardware-aware quantum circuit design for NISQ devices.

Developer Tools

Algorithms and Design Patterns

Python implementation of data structures, algorithms and design patterns. Also see awesome-algorithms.

  • Algorithms
    • sortedcontainers - Fast and pure-Python implementation of sorted collections.
    • algorithms - Minimal examples of data structures and algorithms.
    • thealgorithms - All Algorithms implemented in Python.
  • Design Patterns
    • python-patterns - A collection of design patterns and idioms in Python.
    • python-statemachine - Expressive statecharts and finite state machines with a declarative API, in sync and async codebases.

Interactive Interpreter

Interactive Python interpreters (REPL).

  • ipython - A powerful interactive Python shell, and the kernel behind Jupyter notebooks.
  • notebook - A web-based notebook environment for interactive computing.
  • marimo - A reactive notebook for Python, stored as pure Python and runnable as a script or app.
  • 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.

  • General
    • import-linter - A linter that enforces architectural constraints on imports between Python modules.
    • vulture - A tool for finding and analyzing dead Python code.
    • complexipy - Cognitive complexity analysis for Python code, written in Rust.
    • prospector - A tool to analyze Python code.
  • Git Hooks
    • pre-commit - A framework for managing and maintaining multi-language pre-commit hooks.
  • Linters and Formatters
    • ruff - An extremely fast Python linter and code formatter.
    • black - The uncompromising Python code formatter.
    • isort - A Python utility / library to sort imports.
    • pylint - A fully customizable source code analyzer.
    • flake8 - A wrapper around pycodestyle, pyflakes and McCabe.
    • bandit - A tool designed to find common security issues in Python code.
  • Refactoring
    • rope - Rope is a python refactoring library.
  • Type Checkers - awesome-python-typing
    • mypy - A static type checker for Python.
    • ty - An extremely fast Python type checker and language server.
    • pyright - Full-featured static type checker for Python from Microsoft, the engine behind Pylance.
    • pyrefly - A fast type checker and language server for Python.

Testing

Libraries for testing codebases and generating test data. Also see awesome-python-testing.

  • Frameworks
  • Test Runners
    • tox - Auto builds and tests distributions in multiple Python versions.
    • nox - Flexible test automation for Python.
  • Browser Automation
  • Load Testing
    • locust - Scalable user load testing tool written in Python.
  • API Testing
    • schemathesis - A tool for automatic property-based testing of web APIs from OpenAPI or GraphQL schemas.
  • Mock
    • unittest.mock - (Python standard library) A mocking and patching library.
    • responses - A utility library for mocking out the requests Python library.
    • vcrpy - Record and replay HTTP interactions on your tests.
    • respx - Mock HTTPX with awesome request patterns and response side effects.
    • time-machine - Travel through time in your tests by mocking the current time at the C level.
  • Object Factories
    • factory-boy - A test fixtures replacement for Python.
    • polyfactory - A mock data generation library based on type hints (continuation of pydantic-factories).
  • Code Coverage
  • Fake Data
    • faker - A Python package that generates fake data.
    • mimesis - A Python library for generating fake but realistic data in multiple languages and locales.

Debugging Tools

Libraries for debugging code.

  • pdb-like Debugger
    • ipdb - IPython-enabled pdb.
    • pudb - A full-screen, console-based Python debugger.
  • Tracing
    • viztracer - A low-overhead tool that traces and visualizes Python code execution.
  • Profiler
    • py-spy - A sampling profiler for Python programs. Written in Rust.
    • memray - A memory profiler that tracks allocations in Python code, native extensions, and the interpreter itself.
    • pyinstrument - A statistical wall-clock profiler with low overhead and readable call-tree output.
    • scalene - A high-performance, high-precision CPU, GPU, and memory profiler for Python.
  • Others
    • django-debug-toolbar - Display various debug information for Django.
    • icecream - Inspect variables, expressions, and program execution with a single, simple function call.
    • flask-debugtoolbar - A port of the django-debug-toolbar to flask.

Build Tools

Task runners and software build tools. If you're looking for Python packaging/build tools, see Package Management.

  • invoke - A tool for managing shell-oriented subprocesses and organizing executable Python code into CLI-invokable tasks.
  • poethepoet - A task runner that defines tasks in pyproject.toml and works with poetry or uv.
  • scons - A software construction tool.
  • doit - A task runner and build tool.

Documentation

Libraries for generating project documentation.

  • sphinx - Python Documentation generator.
  • mkdocs-material - A documentation framework and Material Design theme built on MkDocs.
  • diagrams - Diagram as Code.
  • pdoc - Auto-generates API documentation for Python projects.
  • zensical - A modern static site generator for technical documentation.

DevOps

DevOps Tools

Software and libraries for DevOps.

  • Cloud Providers
    • boto3 - Python interface to Amazon Web Services.
    • awscli - Universal Command Line Interface for Amazon Web Services; the PyPI package is v1, in maintenance mode, while v2 ships as AWS's bundled installer.
    • azure-sdk-for-python - Microsoft Azure SDK for Python, published as per-service packages.
    • google-cloud-python - Google Cloud client libraries for Python, published as per-service packages.
  • Configuration Management
    • ansible - A radically simple IT automation platform.
    • cloud-init - A multi-distribution package that handles early initialization of a cloud instance.
    • pyinfra - Turns Python code into shell commands and runs them on your servers.
    • salt - Infrastructure automation and management system.
  • Deployment
    • fabric - A simple, Pythonic tool for remote execution and deployment.
    • chalice - A Python serverless microframework for AWS.
  • Monitoring and Processes
    • psutil - A cross-platform process and system utilities module.
    • sentry-sdk - Sentry SDK for Python.
    • supervisor - Supervisor process control system for UNIX.
    • flower - A real-time monitor and web admin for Celery task queues.
    • sh - A full-fledged subprocess replacement for Python.
  • Other
    • borgbackup - A deduplicating archiver with compression and encryption.

Distributed Computing

Frameworks and libraries for Distributed Computing.

  • pyspark - Apache Spark Python API.
  • dask - A flexible parallel computing library for analytic computing.
  • ray - A unified framework for scaling AI and Python applications.
  • joblib - Parallel computing and disk-based caching for Python functions.
  • mpi4py - Python bindings for MPI.

Task Queues

Libraries for working with task queues.

  • celery - An asynchronous task queue/job queue based on distributed message passing.
  • rq - Simple job queues for Python.
  • dramatiq - A fast and reliable background task processing library for Python 3.
  • huey - A little task queue with multi-process, multi-thread, or greenlet workers.
  • taskiq - Distributed task queue with native asyncio support and pluggable brokers.

Messaging

Libraries for working with message brokers and event streaming.

  • confluent-kafka - Confluent's Python client for Apache Kafka, built on librdkafka.
  • pika - Pure-Python RabbitMQ/AMQP 0-9-1 client library.
  • paho-mqtt - The Eclipse Paho MQTT client for Python.
  • faststream - A framework for building asynchronous services over Apache Kafka, RabbitMQ, NATS, MQTT and Redis.

Job Schedulers

Libraries for scheduling jobs.

  • Task Scheduling
    • apscheduler - A light but powerful in-process task scheduler that lets you schedule functions.
    • schedule - Python job scheduling for humans.
  • Workflow Orchestration
    • dagster - An orchestration platform for the development, production, and observation of data assets.
    • apache-airflow - Airflow is a platform to programmatically author, schedule and monitor workflows.
    • prefect - A modern workflow orchestration framework that makes it easy to build, schedule and monitor robust data pipelines.

Logging

Libraries for generating and working with logs.

  • logging - (Python standard library) Logging facility for Python.
  • structlog - Structured logging made easy.
  • loguru - Library which aims to bring enjoyable logging in Python.
  • logfire - The observability platform for Python, from the makers of Pydantic.

Network Virtualization

Tools and libraries for packet manipulation and network device automation.

  • scapy - A brilliant packet manipulation library.
  • netmiko - Multi-vendor library to simplify CLI connections to network devices.
  • napalm - Cross-vendor API to manipulate network devices.

CLI & GUI

CLI Development

Libraries for building command-line applications.

  • CLI Development
    • argparse - (Python standard library) Command-line option and argument parsing.
    • click - A package for creating beautiful command line interfaces in a composable way.
    • typer - Modern CLI framework that uses Python type hints. Built on Click.
    • prompt_toolkit - A library for building powerful interactive command lines.
    • fire - A library for creating command line interfaces from absolutely any Python object.
  • Terminal Rendering
    • rich - Python library for rich text and beautiful formatting in the terminal. Also provides a great RichHandler log handler.
    • tqdm - Fast, extensible progress bar for loops and CLI.
    • colorama - Cross-platform colored terminal text.
    • alive-progress - A new kind of Progress Bar, with real-time throughput, eta and very cool animations.
  • TUI Frameworks
    • textual - A framework for building interactive user interfaces that run in the terminal and the browser.
    • urwid - A library for creating terminal GUI applications with strong support for widgets, events, rich colors, etc.
    • asciimatics - A package to create full-screen text UIs (from interactive forms to ASCII animations).

CLI Tools

Useful CLI-based tools.

  • Database CLIs
    • pgcli - PostgreSQL CLI with autocompletion and syntax highlighting.
    • mycli - MySQL CLI with autocompletion and syntax highlighting.
    • litecli - SQLite CLI with autocompletion and syntax highlighting.
    • iredis - Redis CLI with autocompletion and syntax highlighting.
  • Downloaders
    • yt-dlp - A command-line program to download videos from YouTube and other video sites, a fork of youtube-dl.
  • HTTP Clients
    • httpie - A command line HTTP client, a user-friendly cURL replacement.
  • Project Scaffolding
    • cookiecutter - A command-line utility that creates projects from cookiecutters (project templates).
    • copier - A library and command-line utility for rendering project templates.
  • Shells
    • xonsh - A Python-powered shell. Full-featured and cross-platform.
  • Terminal Workflow

GUI Development

Libraries for working with graphical user interface applications.

  • Desktop
    • PyGObject - Python Bindings for GLib/GObject/GIO/GTK.
    • dearpygui - A simple GPU-accelerated Python GUI framework.
    • Kivy - An open-source framework for cross-platform GUI apps on desktop, mobile, and embedded platforms.
    • wxPython - A cross-platform GUI toolkit that wraps the wxWidgets C++ library.
    • toga - A Python native, OS native GUI toolkit.
  • Qt
    • PySide6 - Qt for Python offers the official Python bindings for Qt, largely API-compatible with PyQt6 but with different licensing.
    • PyQt6 - Python bindings for the Qt cross-platform application and UI framework.
  • Tkinter
    • tkinter - (Python standard library) The standard Python interface to the Tcl/Tk GUI toolkit.
    • customtkinter - A modern and customizable python UI-library based on Tkinter.
  • Web-based
    • pywebview - A lightweight cross-platform native wrapper around a webview component.
    • nicegui - An easy-to-use, Python-based UI framework, which shows up in your web browser.
    • flet - Cross-platform GUI framework for building modern apps in pure Python.

Text & Documents

Text Processing

Libraries for parsing and manipulating plain texts.

  • Encoding and Unicode
    • charset-normalizer - Universal character encoding detector, and a dependency of requests.
    • chardet - Python character encoding detector.
    • ftfy - Makes Unicode text less broken and more consistent automagically.
  • Fuzzy Matching
    • rapidfuzz - Rapid fuzzy string matching using various string metrics, with a C++ core.
  • General
    • difflib - (Python standard library) Helpers for computing deltas.
    • pyfiglet - An implementation of figlet written in Python.
  • Internationalization
    • babel - An internationalization library for Python.
  • Parser
    • pygments - A generic syntax highlighter.
    • pyparsing - A Python library for creating PEG parsers.
    • sqlparse - A non-validating SQL parser.
    • phonenumbers - Parsing, formatting, storing and validating international phone numbers.
    • parsy - Easy, generic parser combinator library for creating parsers.
  • Transliteration and Slugs
    • python-slugify - A Python slugify library that translates unicode to ASCII.
    • unidecode - ASCII transliterations of Unicode text.
  • Unique identifiers
    • shortuuid - A generator library for concise, unambiguous and URL-safe UUIDs.

HTML Manipulation

Libraries for working with HTML and XML.

  • lxml - A very fast, easy-to-use and versatile library for handling HTML and XML.
  • beautifulsoup4 - Providing Pythonic idioms for iterating, searching, and modifying HTML or XML.
  • xmltodict - Working with XML feel like you are working with JSON.
  • markupsafe - Safely adds untrusted strings to HTML/XML markup.
  • justhtml - A pure Python HTML5 parser that sanitizes untrusted HTML by default.

File Format Processing

Libraries for parsing and manipulating specific file formats.

  • General
    • pyelftools - Parsing and analyzing ELF files and DWARF debugging information.
    • tablib - A module for Tabular Datasets in XLS, CSV, JSON, YAML.
  • File Conversion
    • markitdown - Python tool for converting files and office documents to Markdown.
    • docling - Library for converting documents into structured data.
  • Excel
    • openpyxl - A library for reading and writing Excel 2010 xlsx/xlsm/xltx/xltm files.
    • xlsxwriter - A Python module for creating Excel .xlsx files.
  • Word
    • python-docx - Creates, reads, and updates Microsoft Word (.docx) files.
  • PowerPoint
    • python-pptx - Python library for creating and updating PowerPoint (.pptx) files.
  • PDF
    • pypdf - A library capable of splitting, merging, cropping, and transforming PDF pages.
    • pymupdf - A fast library for extracting, rendering, and editing PDF and other document formats, built on MuPDF.
    • reportlab - An open-source library for generating PDFs and graphics.
    • pdfminer.six - A community-maintained fork of PDFMiner for extracting information from PDF documents.
  • HTML-to-PDF
    • 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.
    • mistune - A fast yet powerful Python Markdown parser with renderers and plugins.
  • Data Formats
    • tomllib - (Python standard library) Parse TOML files.
    • pyyaml - A full-featured YAML framework for Python.

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.
  • watchfiles - Simple, modern and fast file watching and code reload in python.
  • watchdog - API and shell utilities to monitor file system events.
  • python-magic - A Python interface to the libmagic file type identification library.

Media

Image Processing

Libraries for manipulating images.

  • Barcodes and QR Codes
    • qrcode - A pure Python QR Code generator.
    • python-barcode - Create barcodes in Python with no extra dependencies.
  • General
    • pillow - Pillow is the friendly PIL fork.
    • scikit-image - A Python library for (scientific) image processing.
    • rembg - A tool to remove image backgrounds.
    • wand - Python bindings for MagickWand, C API for ImageMagick.
    • pyvips - A binding for libvips, a fast image processing library with low memory needs.
  • Image Serving
    • thumbor - A smart imaging service. It enables on-demand crop, re-sizing and flipping of images.

Audio & Video Processing

Libraries for manipulating audio, video, and their metadata.

  • Audio
    • soundfile - An audio library for reading and writing sound files, based on libsndfile, CFFI, and NumPy.
    • librosa - Python library for audio and music analysis.
    • pydub - Manipulate audio with a simple and easy high level interface.
  • Video
    • av - Pythonic bindings for FFmpeg's libraries.
    • moviepy - A module for script-based movie editing with many formats, including animated GIFs.
  • Metadata
    • mutagen - A Python module to handle audio metadata.
    • tinytag - A library for reading audio file metadata of MP3, MP4, WAV, OGG, FLAC, WMA, and AIFF files.
    • beets - A music library manager and MusicBrainz tagger.

Game Development

Awesome game development libraries.

  • 3D Engines
    • panda3d - 3D game engine developed jointly by Disney and contributors from around the world.
  • Game Frameworks
    • pyglet - A cross-platform windowing and multimedia library for Python.
    • pygame-ce - An actively developed drop-in replacement with new features and performance improvements (pygame fork).
    • pygame - Pygame is a set of Python modules designed for writing games.
    • arcade - An easy-to-use library for creating 2D arcade games.
  • Visual Novels
    • 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.
  • micropython - A lean and efficient Python implementation for microcontrollers and constrained systems.
  • pypy - A very fast and compliant implementation of the Python language.
  • Cython - Optimizing Static Compiler for Python.
  • pyodide - Python distribution for the browser and Node.js based on WebAssembly.

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.
  • uuid-utils - A fast, Rust-backed drop-in replacement for Python's built-in uuid module.
  • python-box - Python dictionaries with advanced dot notation access.

Functional Programming

Functional Programming with Python.

  • functools - (Python standard library) Higher-order functions and operations on callable objects.
  • more-itertools - More routines for operating on iterables, beyond itertools.
  • toolz - A collection of functional utilities for iterators, functions, and dictionaries. Also available as cytoolz for Cython-accelerated performance.
  • funcy - A fancy and practical functional tools.
  • returns - A set of type-safe monads, transformers, and composition utilities.

Asynchronous Programming

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

  • Async I/O
    • asyncio - (Python standard library) Asynchronous I/O, event loop, coroutines and tasks.
    • anyio - A high-level async concurrency and networking framework that works on top of asyncio or trio.
    • uvloop - Ultra fast asyncio event loop.
    • trio - A friendly library for async concurrency and I/O.
    • gevent - A coroutine-based Python networking library that uses greenlet.
    • Twisted - An event-driven networking engine.
  • Parallelism
    • concurrent.futures - (Python standard library) A high-level interface for asynchronously executing callables.
    • multiprocessing - (Python standard library) Process-based parallelism.

Date and Time

Libraries for working with dates and times.

  • zoneinfo - (Python standard library) IANA time zone support. Brings the tz database into Python.
  • python-dateutil - Extensions to the standard Python datetime module.
  • dateparser - A Python parser for human-readable dates in over 200 language locales.
  • pendulum - Python datetimes made easy.
  • whenever - A modern datetime library, type-safe and DST-safe, in Rust or pure Python.

Python Toolchain

Environment Management

Libraries for Python version and virtual environment management.

  • virtualenv - A tool to create isolated Python environments.
  • uv - An extremely fast Python version, package and project manager, written in Rust.
  • pyenv - Simple Python version management.

Package Management

Libraries for package and dependency management.

  • Package Managers
    • pip - The package installer for Python.
    • uv - An extremely fast Python version, package and project manager, written in Rust.
    • poetry - Python dependency management and packaging made easy.
    • hatch - Modern, extensible Python project manager for environments, builds, and publishing.
    • pipx - Install and Run Python Applications in Isolated Environments. Like npx in Node.js.
    • conda - Cross-platform, Python-agnostic binary package manager.
  • Build Backends
    • setuptools - The historical and still most widely used pyproject build backend.
    • hatchling - Modern, extensible build backend from the hatch project.
    • poetry-core - Poetry's PEP 517 build backend, usable without Poetry itself.
    • uv-build - uv's fast, minimal build backend for pure-Python projects.

Package Repositories

Local PyPI repository servers, proxies, and mirrors.

  • pypiserver - A minimal PyPI server for uploading and installing packages with pip.
  • devpi - PyPI server and packaging/testing/release tool.
  • bandersnatch - PyPI mirroring tool provided by Python Packaging Authority (PyPA).

Distribution

Libraries to create packaged executables for release distribution.

  • Executables
    • pyinstaller - Converts Python programs into stand-alone executables (cross-platform).
    • Nuitka - Compiles Python programs into high-performance standalone executables (cross-platform).
    • pex - A tool for building self-contained Python executable environments (PEP 441 zipapps).
    • cx-Freeze - Converts Python scripts into standalone executables and installers for Windows, macOS, and Linux.
  • Obfuscation
    • pyarmor - A tool used to obfuscate python scripts, bind obfuscated scripts to fixed machine or expire obfuscated scripts.

Configuration Files

Libraries for storing and parsing configuration options.

  • configparser - (Python standard library) INI file parser.
  • python-dotenv - Reads key-value pairs from a .env file and sets them as environment variables.
  • pydantic-settings - Settings management using Pydantic models with validation, loading from environment variables and secrets files.
  • hydra-core - Hydra is a framework for elegantly configuring complex applications.
  • dynaconf - Dynaconf is a configuration manager with plugins for Django and Flask.

Security

Cryptography

Libraries for cryptographic primitives and secure protocols.

  • cryptography - A package designed to expose cryptographic primitives and recipes to Python developers.
  • pynacl - Python binding to libsodium, a fork of the Networking and Cryptography (NaCl) library.
  • paramiko - The leading native Python SSHv2 protocol library.
  • itsdangerous - Safely pass trusted data to untrusted environments and back.

Penetration Testing

Frameworks and tools for penetration testing.

  • mitmproxy - An interactive TLS-capable intercepting HTTP proxy for penetration testers and software developers.
  • impacket - A collection of Python classes for working with network protocols, widely used for Windows and Active Directory testing.
  • sqlmap - Automatic SQL injection and database takeover tool.
  • pwntools - A CTF framework and exploit development library.
  • sherlock-project - Hunt down social media accounts by username across social networks.

Supply Chain Security

Tools for auditing dependencies against known vulnerabilities.

Web Security

Libraries for application-layer web security.

  • nh3 - Python binding to the ammonia HTML sanitizer, a fast replacement for bleach.
  • secure - HTTP security headers for Python web applications with ASGI and WSGI middleware.

Other

Hardware

Libraries for programming with hardware.

  • pyserial - Python serial port access library for Windows, macOS, Linux, and BSD.
  • pynput - A library to control and monitor input devices.
  • 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.

Microsoft Windows

Python programming on Microsoft Windows.

  • pywin32 - Python Extensions for Windows.
  • pythonnet - Python Integration with the .NET Common Language Runtime (CLR).
  • pyenv-win - A Python version manager for Windows (rbenv-win fork).
  • winpython - Portable Python distribution for Windows.

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.

Resources

Where to discover learning resources or new Python libraries.

Newsletters

Podcasts

Websites

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

S
Description
An opinionated list of awesome Python frameworks, libraries, software and resources.
Readme
31 MiB
Languages
Python 61%
HTML 18.9%
CSS 14.3%
JavaScript 5.6%
Makefile 0.2%