awesome-python
An opinionated list of Python frameworks, libraries, tools, and resources
https://github.com/vinta/awesome-python
Last synced: 6 days ago
JSON representation
-
Network Virtualization
-
News Feed
- django-activity-stream - Generating generic activity streams from the actions on your site.
- Stream Framework - Building news feed and notification systems using Cassandra and Redis.
-
Newsletters
-
ORM
- Django Models - The Django ORM.
- SQLAlchemy - The Python SQL Toolkit and Object Relational Mapper.
- awesome-sqlalchemy
- dataset - Store Python dicts in a database - works with SQLite, MySQL, and PostgreSQL.
- orator - The Orator ORM provides a simple yet beautiful ActiveRecord implementation.
- orm - An async ORM.
- peewee - A small, expressive ORM.
- pony - ORM that provides a generator-oriented interface to SQL.
- hot-redis - Rich Python data types for Redis.
- mongoengine - A Python Object-Document-Mapper for working with MongoDB.
- PynamoDB - A Pythonic interface for [Amazon DynamoDB](https://aws.amazon.com/dynamodb/).
- redisco - A Python Library for Simple Models and Containers Persisted in Redis.
- pydal - A pure Python Database Abstraction Layer.
- SQLModel - SQLModel is based on Python type annotations, and powered by Pydantic and SQLAlchemy.
- ODMantic - Sync and Async ODM for MongoDB built on top of Pydantic for model definition and validation.
- sqlalchemy - The Python SQL Toolkit and Object Relational Mapper.
- sqlmodel - SQLModel is based on Python type annotations, and powered by Pydantic and SQLAlchemy.
- tortoise-orm - An easy-to-use asyncio ORM inspired by Django, with relations support.
-
Package Management
- pip - The package installer for Python.
- PyPI
- pip-tools - A set of tools to keep your pinned Python dependencies fresh.
- conda - Cross-platform, Python-agnostic binary package manager.
- uv - An extremely fast Python package and project manager, written in Rust.
- hatch - Modern, extensible Python project management.
- poetry - Python dependency management and packaging made easy.
- mamba - A reimplementation of the `conda` package manager in C++.
- pip - The package installer for Python.
- pipx - Install and Run Python Applications in Isolated Environments. Like `npx` in Node.js.
- poetry - Python dependency management and packaging made easy.
-
Package Repositories
- devpi - PyPI server and packaging/testing/release tool.
- warehouse - Next generation Python Package Repository (PyPI).
- bandersnatch - PyPI mirroring tool provided by Python Packaging Authority (PyPA).
- localshop - Local PyPI server (custom packages and auto-mirroring of pypi).
-
Penetration Testing
- fsociety - A Penetration testing framework.
- setoolkit - A toolkit for social engineering.
- sqlmap - Automatic SQL injection and database takeover tool.
- sherlock - Hunt down social media accounts by username across social networks.
- mitmproxy - An interactive TLS-capable intercepting HTTP proxy for penetration testers and software developers.
-
Permissions
- django-guardian - Implementation of per object permissions for Django 1.2+
- django-rules - A tiny but powerful app providing object-level permissions to Django, without requiring a database.
-
Podcasts
-
Processes
- sarge - Yet another wrapper for subprocess.
- delegator.py - [Subprocesses](https://docs.python.org/3/library/subprocess.html) for Humans 2.0.
- sh - A full-fledged subprocess replacement for Python.
- sarge - Yet another wrapper for subprocess.
-
Projects
-
AI and Agents
- ag2 - An open-source AgentOS for multi-agent orchestration and building agentic AI systems.
- openai-agents - OpenAI's framework for building and managing AI agents.
- OpenChronicle - Open-source, local-first memory for any tool-capable LLM agent.
- promptise - A framework for building end-to-end production-ready agentic systems, scalable & secure MCP's and autonomous agents.
- mlx-lm - Run and fine-tune large language models on Apple Silicon with MLX.
- openai-whisper - A general-purpose automatic speech recognition model trained on 680k hours of multilingual and multitask supervised data.
- vibevoice - A family of open-source voice AI models from Microsoft for text-to-speech and long-form speech recognition.
- voxcpm - A tokenizer-free text-to-speech foundation model for multilingual speech generation and voice cloning.
- graphify - Turn any folder of code, SQL schemas, docs, papers, images, or videos into a queryable knowledge graph.
- nuwa-skill - Nuwa distills the thinking of anyone — let Musk, Naval, Munger, and Feynman work for you.
- bernstein - A deterministic Python orchestrator for CLI coding agents (Claude Code, Codex, Gemini CLI, and 40+ more) with parallel git worktrees and an HMAC-signed audit chain.
- bindu - A framework that wraps any agent handler with DID-based cryptographic identity, A2A JSON-RPC over HTTP, OAuth2 auth, x402 (USDC) payments, and a built-in operator inbox.
- outlines - Structured text generation for LLMs with JSON schema, regex, and grammar-constrained decoding.
- funasr - Industrial-grade speech recognition toolkit with 170x realtime speed, 50+ languages, speaker diarization, and emotion detection.
- langgraph - Low-level orchestration framework for building stateful, long-running LLM agents.
- LiteLLM - Call 100+ LLMs using OpenAI format.
- entroly - An auditable context control plane that optimizes prompt context, stabilizes cache prefixes, and verifies answers locally with WITNESS.
- liter-llm - A universal LLM API client with a Rust core, calling 142+ providers through a single OpenAI-compatible interface, with a built-in proxy and MCP server.
- SenseVoice - A multilingual speech understanding model for speech recognition, language identification, emotion recognition, and audio event detection.
-
Audio & Video Processing
-
Built-in Classes Enhancement
- uuid-utils - A fast, Rust-backed drop-in replacement for Python's built-in `uuid` module, supporting RFC 9562 (UUIDv6, UUIDv7, and UUIDv8).
-
Code Analysis
- pyrefly - A fast type checker and language server for Python.
-
Computer Vision
- ultralytics - Ultralytics YOLO for object detection, segmentation, pose estimation, and classification with state-of-the-art accuracy and speed.
- fiftyone - The open-source tool for building high-quality datasets and computer vision models.
-
Data Analysis
- data-profiling - Generate detailed data profiling reports for pandas DataFrames.
- percentify - Exploratory stats and data-quality diagnostics/profiler, that supports both pandas and Polars DataFrames inputs.
-
Database
-
Data Ingestion / ETL
- dlt - A Python library for building data pipelines with automatic schema inference, incremental loading, and support for multiple sources and destinations.
-
DevOps Tools
- kubesdk - A modern async-first Kubernetes client and API model generator.
-
Environment Management
- KillPy - Analyze, detect, and clean unused Python environments and pipx packages.
-
File Format Processing
-
Functional Programming
- more-itertools - More routines for operating on iterables, beyond `itertools`.
-
GUI Development
- buridan/ui - Composable, themeable components designed for Reflex. Extend, override, and ship without fighting the framework. Open source.
-
Hardware
- jumpstarter - A hardware-in-the-loop testing framework with a Python client library for automated testing on real and virtual hardware.
- synology-api - Python wrapper for Synology NAS APIs: Surveillance Station, File Station, Download Station, Docker, and 50+ other endpoints.
-
HTML Manipulation
- html-to-markdown - A fast, CommonMark-compliant HTML to Markdown converter with a Rust core, tolerant of malformed HTML.
-
Machine Learning
- timesfm - A pretrained foundation model from Google Research for time-series forecasting.
- mindsdb - MindsDB is an open source AI layer for existing databases that allows you to effortlessly develop, train and deploy state-of-the-art machine learning models using standard queries.
- scikit-lego - A collection of lego bricks for scikit-learn pipelines.
- mindsdb - MindsDB is an open source AI layer for existing databases that allows you to effortlessly develop, train and deploy state-of-the-art machine learning models using standard queries.
-
Messaging
- faststream - A framework for building asynchronous services over Apache Kafka, RabbitMQ, NATS, MQTT and Redis.
-
Miscellaneous
- blinker - A fast Python in-process signal/event dispatching system.
-
Package Repositories
- warehouse - Next generation Python Package Repository (PyPI).
-
Science
- mesa - An agent-based modeling framework for building, analyzing, and visualizing complex system simulations.
-
Task Queues
- taskiq - Distributed task queue with native asyncio support and pluggable brokers.
-
Testing
-
Text Processing
- parsy - Easy, generic parser combinator library for creating parsers.
-
Web APIs
- django-modern-rest - Modern REST with speed, types, async, `msgspec`, `pydantic` and other goodies!
-
Web Scraping
- crawlberg - A high-performance web crawling engine with a Rust core, headless-browser fallback, and built-in robots.txt and sitemap parsing.
- website-downloader - A modern wget --mirror / HTTrack alternative that turns whole websites into browsable offline copies.
-
Web Security
- secure - HTTP security headers for Python web applications with ASGI and WSGI middleware.
-
-
Quantum Computing
- Cirq - developed framework focused on hardware-aware quantum circuit design for NISQ devices.
- PennyLane - classical machine learning library with automatic differentiation support.
- Qiskit - backed quantum SDK for building, simulating, and running circuits on real quantum hardware.
- qutip - Quantum Toolbox in Python.
-
Recommender Systems
- annoy - Approximate Nearest Neighbors in C++/Python optimized for memory usage.
- fastFM - A library for Factorization Machines.
- implicit - A fast Python implementation of collaborative filtering for implicit datasets.
- lightfm - A Python implementation of a number of popular recommendation algorithms.
- spotlight - Deep recommender models using PyTorch.
- Surprise - A scikit for building and analyzing recommender systems.
- tensorrec - A Recommendation Engine Framework in TensorFlow.
- libffm - A library for Field-aware Factorization Machine (FFM).
-
Refactoring
- Bicycle Repair Man - Bicycle Repair Man, a refactoring tool for Python.
- Bowler - Safe code refactoring for modern Python.
- Rope - Rope is a python refactoring library.
-
RESTful API
- django-rest-framework - A powerful and flexible toolkit to build web APIs.
- django-tastypie - Creating delicious APIs for Django apps.
- vibora - Fast, efficient and asynchronous Web framework inspired by Flask.
- django-rest-framework - A powerful and flexible toolkit to build web APIs.
- django-tastypie - Creating delicious APIs for Django apps.
- eve - REST API framework powered by Flask, MongoDB and good intentions.
- flask-api - Browsable Web APIs for Flask.
- flask-restful - Quickly building REST APIs for Flask.
- cornice - A RESTful framework for Pyramid.
- falcon - A high-performance framework for building cloud APIs and web app backends.
- fastapi - A modern, fast, web framework for building APIs with Python 3.6+ based on standard Python type hints.
- hug - A Python 3 framework for cleanly exposing APIs.
- sandman2 - Automated REST APIs for existing database-driven systems.
- sanic - A Python 3.6+ web server and web framework that's written to go fast.
-
Robotics
- rospy - This is a library for ROS (Robot Operating System).
- PythonRobotics - This is a compilation of various robotics algorithms with visualizations.
- rospy - This is a library for ROS (Robot Operating System).
-
RPC Servers
-
Science
- astropy - A community Python library for Astronomy.
- Biopython - Biopython is a set of freely available tools for biological computation.
- cclib - A library for parsing and interpreting the results of computational chemistry packages.
- Colour - Implementing a comprehensive number of colour theory transformations and algorithms.
- NetworkX - A high-productivity software for complex networks.
- NIPY - A collection of neuroimaging toolkits.
- NumPy - A fundamental package for scientific computing with Python.
- PyDy - Short for Python Dynamics, used to assist with workflow in the modeling of dynamic motion.
- QuTiP - Quantum Toolbox in Python.
- RDKit - Cheminformatics and Machine Learning Software.
- SciPy - A Python-based ecosystem of open-source software for mathematics, science, and engineering.
- Open Babel - A chemical toolbox designed to speak the many languages of chemical data.
- Python-for-Scientists
- bcbio-nextgen - Providing best-practice pipelines for fully automated high throughput sequencing analysis.
- bccb - Collection of useful code related to biological analysis.
- Karate Club - Unsupervised machine learning toolbox for graph structured data.
- SciPy - A Python-based ecosystem of open-source software for mathematics, science, and engineering.
- SimPy - A process-based discrete-event simulation framework.
- statsmodels - Statistical modeling and econometrics in Python.
- SymPy - A Python library for symbolic mathematics.
- Zipline - A Pythonic algorithmic trading library.
- NumPy - A fundamental package for scientific computing with Python.
- ObsPy - A Python toolbox for seismology.
- astropy - A community Python library for Astronomy.
- manim - An animation engine for explanatory math videos.
- PyMC - Markov Chain Monte Carlo sampling toolkit.
- shapely - Manipulation and analysis of geometric objects in the Cartesian plane.
- NIPY - A collection of neuroimaging toolkits.
- PathSim - A block-based system modeling and simulation framework with a browser-based visual editor.
- numpy - A fundamental package for scientific computing with Python.
- scipy - A Python-based ecosystem of open-source software for mathematics, science, and engineering.
- biopython - Biopython is a set of freely available tools for biological computation.
- cclib - A library for parsing and interpreting the results of computational chemistry packages.
- openbabel - A chemical toolbox designed to speak the many languages of chemical data.
- rdkit - Cheminformatics and Machine Learning Software.
- astropy - A community Python library for Astronomy.
- obspy - A Python toolbox for seismology.
- pydy - Short for Python Dynamics, used to assist with workflow in the modeling of dynamic motion.
- colour - Implementing a comprehensive number of colour theory transformations and algorithms.
- networkx - A high-productivity software for complex networks.
- pymc - Probabilistic programming and Bayesian modeling in Python.
-
Search
- elasticsearch-py - The official low-level Python client for [Elasticsearch](https://www.elastic.co/products/elasticsearch).
- whoosh - A fast, pure Python search engine library.
- django-haystack - Modular search for Django.
- elasticsearch-dsl-py - The official high-level Python client for Elasticsearch.
Programming Languages
Categories
Projects
56
Science
41
Testing
41
GUI Development
33
Text Processing
29
Code Analysis
26
Machine Learning
26
Database Drivers
24
Data Visualization
23
Specific Formats Processing
22
Game Development
21
Web Frameworks
20
Command-line Interface Development
18
ORM
18
DevOps Tools
18
Natural Language Processing
17
HTML Manipulation
17
Audio
15
Command-line Tools
15
Data Analysis
15
RESTful API
14
Image Processing
14
Implementations
14
AI and Agents
13
Debugging Tools
13
Job Scheduler
12
Admin Panels
12
Podcasts
11
Package Management
11
Distribution
11
Caching
11
Asynchronous Programming
10
Deep Learning
10
Algorithms and Design Patterns
9
Web Content Extracting
9
Logging
9
Search
9
Data Validation
9
Authentication
8
Web Asset Management
8
Editor Plugins and IDEs
8
Distributed Computing
8
Date and Time
8
Third-party APIs
8
Build Tools
8
Recommender Systems
8
Websites
8
File Format Processing
7
Functional Programming
7
Hardware
7
Miscellaneous
7
Interactive Interpreter
7
File Manipulation
7
Serialization
7
CMS
7
Microsoft Windows
7
HTTP Clients
6
Task Queues
6
Web Crawling
6
Computer Vision
6
WebSocket
6
Database
6
Configuration Files
6
Email
6
ASGI Servers
5
Downloader
5
Cryptography
5
Geolocation
5
Web APIs
5
Newsletters
5
Built-in Classes Enhancement
5
Static Site Generator
5
Penetration Testing
5
Job Schedulers
4
URL Manipulation
4
Foreign Function Interface
4
Quantum Computing
4
Package Repositories
4
Processes
4
Web Servers
4
Documentation
4
WSGI Servers
4
Environment Management
3
Network Virtualization
3
Robotics
3
E-commerce
3
Internationalization
3
Refactoring
3
Template Engine
3
Video
3
Concurrency and Parallelism
2
Serverless Frameworks
2
Permissions
2
RPC Servers
2
Books
2
News Feed
2
**Sponsors**
2
Template Engines
2
GraphQL
2
Web Scraping
2
Compatibility
2
Video Processing
1
Audio Processing
1
CLI Development
1
Shell
1
Tagging
1
Configuration
1
Enterprise Application Integrations
1
CLI Tools
1
Sub Categories
AI and Agents
19
Machine Learning
4
Audio & Video Processing
3
Testing
2
Data Analysis
2
Computer Vision
2
Hardware
2
Web Scraping
2
File Format Processing
2
Database
2
Data Ingestion / ETL
1
Built-in Classes Enhancement
1
Package Repositories
1
Environment Management
1
Web Security
1
Science
1
Messaging
1
DevOps Tools
1
Code Analysis
1
Functional Programming
1
GUI Development
1
Web APIs
1
Text Processing
1
Task Queues
1
Miscellaneous
1
HTML Manipulation
1
Keywords
python
437
machine-learning
42
python3
41
data-science
29
django
26
asyncio
23
testing
22
deep-learning
22
http
21
cli
21
llm
19
ai
19
database
18
framework
18
json
15
flask
15
web
14
pytorch
14
rag
13
linter
12
awesome
12
pydantic
12
rust
12
agents
12
pandas
12
api
12
awesome-list
12
sql
12
markdown
11
async
11
pypi
11
automation
11
redis
10
python-library
10
nlp
10
llms
9
ai-agents
9
terminal
9
openai
9
rest
9
developer-tools
9
audio
9
orm
9
data-analysis
9
python-3
9
natural-language-processing
9
asgi
8
validation
8
linux
8
open-source
8