An opinionated guide to the best Python frameworks, libraries, and tools.
Visit the website to search and filter projects more easily.
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 - 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
langchain - Building applications with LLMs through composability.
langgraph - Low-level orchestration framework for building stateful, long-running LLM agents.
crewai - A framework for orchestrating role-playing autonomous AI agents for collaborative task solving.
pydantic-ai - A Python agent framework for building generative AI applications with structured schemas.
Vendor Agent SDKs
openai-agents - OpenAI's framework for building and managing AI agents.
claude-agent-sdk - Anthropic's Python SDK for building AI agents on Claude Code's harness — custom tools, in-process MCP servers, hooks.
Personal Assistants
hermes-agent - An adaptive personal AI assistant that grows with you.
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 data framework for your LLM application.
mem0 - An intelligent memory layer for AI agents enabling personalized interactions.
Pre-trained Models
transformers - A framework that lets you easily use pre-trained transformer models for NLP, vision, and audio tasks.
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
unsloth - A library for faster LLM fine-tuning and training with reduced memory usage.
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.
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.
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.
tensorflow - The most popular Deep Learning framework created by Google.
keras - A high-level deep learning library with support for JAX, TensorFlow, and PyTorch backends.
jax - A library for high-performance numerical computing with automatic differentiation and JIT compilation.
pytorch-lightning - Deep learning framework to train, deploy, and ship AI products Lightning fast.
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 probabilistic graphical models and Bayesian networks.
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
timesfm - A pretrained foundation model from Google Research for time-series forecasting.
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 Computer Vision.
General
opencv-python - Open Source Computer Vision Library.
ultralytics - Ultralytics YOLO for object detection, segmentation, pose estimation, and classification with state-of-the-art accuracy and speed.
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 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.
Libraries for building recommender systems.
Web Development
Web Frameworks Traditional full stack web frameworks. Also see Web APIs .
Synchronous
flask - A microframework for Python.
django - The most popular web framework in Python.
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
apiflask - A lightweight Python web API framework based on Flask and Marshmallow.
Framework Agnostic
fastapi - A modern, fast, web framework for building APIs with standard Python type hints.
connexion - A spec-first framework that automatically handles requests based on your OpenAPI specification.
strawberry - A GraphQL library that leverages Python type annotations for schema definition.
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, using uvloop and httptools.
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 - Pre-forked, ported from Ruby's Unicorn project.
waitress - Multi-threaded, powers Pyramid.
WebSocket websockets A library for building WebSocket servers and clients with a focus on correctness and simplicity.
channels Developer-friendly asynchrony for Django.
flask-socketio Socket.IO integration for Flask applications.
autobahn-python WebSocket & WAMP for Python on Twisted and [asyncio](https://docs.python.org/3/library/asyncio.html).
Libraries for working with WebSocket.
Template Engines jinja A modern and designer friendly templating language.
mako Hyperfast and lightweight templating for the Python platform.
Libraries and tools for templating and lexing.
Web Asset Management 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.
Tools for managing, storing, compressing and minifying website assets.
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 - OAuth 2 goodies 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 flask-admin Simple and extensible administrative interface framework for Flask.
django-unfold Elevate your Django admin with a stunning modern interface, powerful features, and seamless user experience.
django-grappelli A jazzy skin for the Django Admin-Interface.
Libraries for administrative interfaces.
CMS wagtail A Django content management system.
django-cms The easy-to-use and developer-friendly enterprise CMS powered by Django.
Content Management Systems.
ERP odoo A suite of open source business apps: CRM, e-commerce, accounting, inventory, and thousands of community modules.
Enterprise resource planning frameworks.
Static Site Generators pelican Static site generator that supports Markdown and reST syntax.
nikola A static website and blog generator.
Static site generator is a software that takes some text + templates as input and produces HTML files on the output.
HTTP & Scraping
HTTP Clients Libraries for working with HTTP.
Clients
requests - HTTP Requests for Humans.
httpx - A next generation HTTP client for Python.
aiohttp - Asynchronous HTTP client/server framework for asyncio and Python.
urllib3 - A HTTP library with thread-safe connection pooling, file post support, sanity friendly.
URL Manipulation
yarl - Yet another URL library.
httpx.URL - The immutable URL class bundled with HTTPX.
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 screen scraping and web crawling framework.
crawl4ai - An open-source, LLM-friendly web crawler that provides lightning-fast, structured data extraction specifically designed for AI agents.
Content Extraction
feedparser - Universal feed parser.
html2text - Convert HTML to Markdown-formatted text.
trafilatura - A tool for gathering text and metadata from the web, with built-in content filtering.
Email yagmail Yet another Gmail/SMTP client.
Libraries for sending and parsing email, and mail server management.
Database & Storage
ORM Libraries that implement Object-Relational Mapping or data mapping techniques.
Relational Databases
sqlalchemy - The Python SQL Toolkit and Object Relational Mapper.
django.db.models - The Django ORM .
peewee - A small, expressive ORM.
sqlmodel - SQLModel is based on Python type annotations, and powered by Pydantic and SQLAlchemy.
NoSQL Databases
Database Drivers Libraries for connecting and operating databases.
MySQL - awesome-mysql
PostgreSQL - awesome-postgres
psycopg - The most popular PostgreSQL adapter for Python.
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 and low memory usage.
NoSQL Databases
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
chromadb - An open-source embedding database for building AI applications with embeddings and semantic search.
lancedb - A developer-friendly embedded retrieval database for multimodal AI.
zvec - An embedded vector database for on-device RAG and edge AI, the SQLite of vector databases.
Key-Value & Document
tinydb - A tiny, document-oriented database.
Caching cachetools Extensible memoizing collections and decorators.
diskcache SQLite and file backed cache backend with faster lookups than memcached and redis.
dogpile.cache dogpile.cache is a next generation replacement for Beaker made by the same authors.
django-cacheops A slick ORM cache with automatic granular event-driven invalidation.
Libraries for caching data.
Search elasticsearch The official low-level Python client for [Elasticsearch](https://www.elastic.co/products/elasticsearch).
opensearch-py The official low-level Python client for [OpenSearch](https://opensearch.org/).
meilisearch The official Python client for the [Meilisearch](https://www.meilisearch.com/) search engine.
django-haystack Modular search for Django.
Libraries and software for indexing and performing search queries on data.
Serialization 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.
Libraries for serializing complex data types.
Data & Science
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.
Libraries for data analysis.
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.
pathway - Python ETL framework for stream processing, real-time analytics, LLM pipelines, and RAG.
Financial Data
yfinance - Easy Pythonic way to download market and financial data from Yahoo Finance.
akshare - A financial data interface library, built for human beings!
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 pydantic Data validation using Python type hints.
jsonschema An implementation of [JSON Schema](https://json-schema.org/) for Python.
pandera A data validation library for dataframes, with support for pandas, polars, and Spark.
Libraries for validating data. Used for forms in many cases.
Data Visualization Libraries for visualizing data. Also see awesome-javascript .
Plotting
matplotlib - A Python 2D plotting library.
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
cartopy - A cartographic python library with matplotlib support.
pygraphviz - Python interface to Graphviz .
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.
gradio - Build and share machine learning apps, all in Python.
Geolocation geopandas Python tools for geographic data (GeoSeries/GeoDataFrame) built on pandas.
geopy Python Geocoding Toolbox.
geojson Python bindings and utilities for GeoJSON.
geodjango A world-class geographic web framework that is part of [Django](https://docs.djangoproject.com/en/dev/ref/contrib/gis/).
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 - A Python-based ecosystem of open-source software for mathematics, science, and engineering.
numba - Python JIT compiler to LLVM aimed at scientific Python.
Symbolic Mathematics
sympy - A Python library for symbolic mathematics.
Statistics
statsmodels - Statistical modeling and econometrics in Python.
Biology and Chemistry
biopython - Biopython is a set of freely available tools for biological computation.
rdkit - Cheminformatics and Machine Learning Software.
Physics and Engineering
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 qiskit An IBM-backed quantum SDK for building, simulating, and running circuits on real quantum hardware.
qutip Quantum Toolbox in Python.
pennylane A hybrid quantum-classical machine learning library with automatic differentiation support.
cirq A Google-developed framework focused on hardware-aware quantum circuit design for NISQ devices.
Libraries for quantum computing.
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
transitions - A lightweight, object-oriented finite state machine implementation.
python-patterns - A collection of design patterns in Python.
Interactive Interpreter ipython A powerful interactive Python shell, and the kernel behind Jupyter notebooks.
jupyter A rich toolkit to help you make the most out of using Python interactively.
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](https://github.com/prompt-toolkit/python-prompt-toolkit).
Interactive Python interpreters (REPL).
Code Analysis Tools of static analysis, linters and code quality checkers. Also see awesome-static-analysis .
Code Analysis
vulture - A tool for finding and analyzing dead Python code.
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.
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 - Check variable types during compile time.
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.
Type Annotations Generators
monkeytype - A system for Python that generates static type annotations by collecting runtime types.
Testing Libraries for testing codebases and generating test data. Also see awesome-python-testing .
Frameworks
pytest - A mature full-featured Python testing tool.
hypothesis - Hypothesis is an advanced Quickcheck style property based testing library.
robotframework - A generic test automation framework.
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 applications built with Open API / Swagger specifications.
Mock
mock - (Python standard library) A mocking and patching library.
responses - A utility library for mocking out the requests Python library.
freezegun - Travel through time by mocking the datetime module.
vcrpy - Record and replay HTTP interactions on your tests.
respx - Mock HTTPX with awesome request patterns and response side effects.
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
Fake Data
faker - A Python package that generates fake data.
mimesis - is a Python library that help you generate fake data.
Libraries for debugging code.
pdb-like Debugger
ipdb - IPython-enabled pdb .
pudb - A full-screen, console-based Python debugger.
Tracing
hunter - A flexible code tracing toolkit.
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.
invoke A tool for managing shell-oriented subprocesses and organizing executable Python code into CLI-invokable tasks.
scons A software construction tool.
doit A task runner and build tool.
Compile software from source code. If you're looking for Python packaging/build tools, see Package Management .
Documentation sphinx Python Documentation generator.
mkdocs-material A documentation framework and Material Design theme built on MkDocs.
mkdocs Markdown friendly documentation generator.
diagrams Diagram as Code.
pdoc Epydoc replacement to auto generate API documentation for Python libraries.
Libraries for generating project documentation.
DevOps
Software and libraries for DevOps.
Cloud Providers
boto3 - Python interface to Amazon Web Services.
awscli - Universal Command Line Interface for Amazon Web Services.
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 - A versatile CLI tools and python libraries to automate infrastructure.
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.
chaostoolkit - A Chaos Engineering toolkit & Orchestration for Developers.
Distributed Computing ray A system for parallel and distributed Python that unifies the machine learning ecosystem.
pyspark [Apache Spark](https://spark.apache.org/) Python API.
dask A flexible parallel computing library for analytic computing.
joblib A set of tools to provide lightweight pipelining in Python.
mpi4py Python bindings for MPI.
Frameworks and libraries for Distributed Computing.
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 Little multi-threaded task queue.
taskiq Distributed task queue with native asyncio support and pluggable brokers.
Libraries for working with task queues.
Messaging 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.
Libraries for working with message brokers and event streaming.
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
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.
dagster - An orchestration platform for the development, production, and observation of data assets.
Logging logging (Python standard library) Logging facility for Python.
structlog Structured logging made easy.
loguru Library which aims to bring enjoyable logging in Python.
Libraries for generating and working with logs.
Network Virtualization scapy A brilliant packet manipulation library.
napalm Cross-vendor API to manipulate network devices.
Tools and libraries for Virtual Networking and SDN (Software Defined Networking).
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 and Pydantic.
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
tqdm - Fast, extensible progress bar for loops and CLI.
rich - Python library for rich text and beautiful formatting in the terminal. Also provides a great RichHandler log handler.
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).
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 projects 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+ (GTK+3).
wxPython - A blending of the wxWidgets C++ class library with the Python.
kivy - A library for creating NUI applications, running on Windows, Linux, Mac OS X, Android and iOS.
dearpygui - A Simple GPU accelerated Python GUI framework
toga - A Python native, OS native GUI toolkit.
Qt
PySide6 - Qt for Python offers the official Python bindings for Qt , same as PyQt6 but it's the official binding 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.
tkdesigner - Generates Tkinter interfaces from Figma designs using the Figma API.
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.
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.
Encoding and Unicode
charset-normalizer - Universal character encoding detector, the default of the requests ecosystem.
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 general purpose framework for generating 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.
sqids - A library for generating short unique IDs from numbers.
HTML Manipulation beautifulsoup4 Providing Pythonic idioms for iterating, searching, and modifying HTML or XML.
lxml A very fast, easy-to-use and versatile library for handling HTML and XML.
xmltodict Working with XML feel like you are working with JSON.
markupsafe Implements a XML/HTML/XHTML Markup safe string for Python.
justhtml A pure Python HTML5 parser that just works.
Libraries for working with HTML and XML.
Libraries for parsing and manipulating specific text 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 - Reads, queries and modifies Microsoft Word 2007/2008 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.
reportlab - Allowing Rapid creation of rich PDF documents.
pdfminer.six - Pdfminer.six is a community maintained fork of the original PDFMiner.
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 - Fastest and full featured pure Python parsers of Markdown.
Data Formats
tomllib - (Python standard library) Parse TOML files.
pyyaml - YAML implementations for Python.
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.
Libraries for file manipulation.
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 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
pydub - Manipulate audio with a simple and easy high level interface.
librosa - Python library for audio and music analysis.
Video
moviepy - A module for script-based movie editing with many formats, including animated GIFs.
vidgear - Most Powerful multi-threaded Video Processing framework.
Metadata
mutagen - A Python module to handle audio metadata.
tinytag - A library for reading music meta data of MP3, OGG, FLAC and Wave files.
beets - A music library manager and MusicBrainz tagger.
Game Development Awesome game development libraries.
3D Engines
panda3d - 3D game engine developed by Disney.
Game Frameworks
pygame - Pygame is a set of Python modules designed for writing games.
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).
arcade - Arcade is a modern Python framework for crafting games with compelling graphics and sound.
Visual Novels
renpy - A Visual Novel engine.
Python Language
Implementations cpython Default, most widely used implementation of the Python programming language written in C.
micropython A lean and efficient Python programming language implementation.
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.
Implementations of Python.
Built-in Classes Enhancement 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, supporting RFC 9562 (UUIDv6, UUIDv7, and UUIDv8).
python-box Python dictionaries with advanced dot notation access.
Libraries for enhancing Python built-in classes.
Functional Programming 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](https://github.com/pytoolz/cytoolz/) for Cython-accelerated performance.
funcy A fancy and practical functional tools.
returns A set of type-safe monads, transformers, and composition utilities.
Functional Programming with Python.
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 zoneinfo (Python standard library) IANA time zone support. Brings the [tz database](https://en.wikipedia.org/wiki/Tz_database) into Python.
python-dateutil Extensions to the standard Python [datetime](https://docs.python.org/3/library/datetime.html) module.
dateparser A Python parser for human-readable dates in dozens of languages.
pendulum Python datetimes made easy.
whenever A modern datetime library, type-safe and DST-safe, backed by Rust.
Libraries for working with dates and times.
Python Toolchain
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.
Libraries for Python version and virtual environment 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.
uv-build - uv's fast, minimal build backend for pure-Python projects.
Package Repositories 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).
Local PyPI repository server and proxies.
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, supports all Python versions).
shiv - A command line utility for building fully self-contained zipapps (PEP 441), but with all their dependencies included.
cx-Freeze - It is a Python tool that 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 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, Flask and FastAPI.
Libraries for storing and parsing configuration options.
Security
Cryptography cryptography A package designed to expose cryptographic primitives and recipes to Python developers.
pynacl Python binding to the Networking and Cryptography (NaCl) library.
paramiko The leading native Python SSHv2 protocol library.
itsdangerous Various helpers to pass trusted data to untrusted environments.
Libraries for cryptographic primitives and secure protocols.
Penetration Testing mitmproxy An interactive TLS-capable intercepting HTTP proxy for penetration testers and software developers.
sqlmap Automatic SQL injection and database takeover tool.
sherlock-project Hunt down social media accounts by username across social networks.
social-engineer-toolkit A toolkit for social engineering.
Frameworks and tools for penetration testing.
Supply Chain Security pip-audit Audits Python environments and dependency trees for known vulnerabilities, using the PyPI Advisory Database and OSV.
uv audit uv's built-in dependency vulnerability and malware scanning backed by OSV.
Tools for auditing dependencies against known vulnerabilities.
Web Security secure HTTP security headers for Python web applications with ASGI and WSGI middleware.
Libraries for application-layer web security.
Other
Hardware bleak A cross platform Bluetooth Low Energy Client for Python using asyncio.
pynput A library to control and monitor input devices.
jumpstarter A hardware-in-the-loop testing framework with a Python client library for automated testing on real and virtual hardware.
Libraries for programming with hardware.
Microsoft Windows pythonnet Python Integration with the .NET Common Language Runtime (CLR).
pywin32 Python Extensions for Windows.
pyenv-win A Python version manager for Windows ([pyenv](https://github.com/pyenv/pyenv) fork).
winpython Portable development environment for Windows 10/11.
Python programming on Microsoft Windows.
Miscellaneous blinker A fast Python in-process signal/event dispatching system.
boltons A set of pure-Python utilities.
Useful libraries or tools that don't fit in the categories above.