An opinionated guide to the best Python frameworks, libraries, and tools.
Visit the website to search and filter projects more easily.
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 - 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.
- 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 - 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.
- axolotl - A framework for fine-tuning and post-training large language models.
- 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
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 - 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
Libraries for working with 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.
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, storing, compressing and minifying website assets.
- 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 - 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
Libraries for administrative interfaces.
- 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.
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.
- 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.
- [httpx2](https://github.com/pydanti