awesome-python
An opinionated list of Python frameworks, libraries, tools, and resources
https://github.com/vinta/awesome-python
Last synced: 4 days ago
JSON representation
-
Natural Language Processing
- gensim - Topic Modeling for Humans.
-
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.
-
Code Analysis
- pyrefly - A fast type checker and language server for Python.
-
Environment Management
- KillPy - Analyze, detect, and clean unused Python environments and pipx packages.
-
Machine Learning
- timesfm - A pretrained foundation model from Google Research for time-series forecasting.
-
Messaging
- faststream - A framework for building asynchronous services over Apache Kafka, RabbitMQ, NATS, MQTT and Redis.
-
Science
- mesa - An agent-based modeling framework for building, analyzing, and visualizing complex system simulations.
-
Testing
-
Web APIs
- django-modern-rest - Modern REST with speed, types, async, `msgspec`, `pydantic` and other goodies!
-
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.
- pysolr - A lightweight Python wrapper for [Apache Solr](https://lucene.apache.org/solr/).
- elasticsearch-py - The official low-level Python client for [Elasticsearch](https://www.elastic.co/products/elasticsearch).
- whoosh - A fast, pure Python search engine library.
- elasticsearch-py - The official low-level Python client for [Elasticsearch](https://www.elastic.co/products/elasticsearch).
- whoosh - A fast, pure Python search engine library.
-
Serialization
- marshmallow - A lightweight library for converting complex objects to and from simple Python datatypes.
- pysimdjson - A Python bindings for [simdjson](https://github.com/lemire/simdjson).
- python-rapidjson - A Python wrapper around [RapidJSON](https://github.com/Tencent/rapidjson).
- toonify - A compact, human-readable serialization format that reduces LLM token usage by 30-60% compared to JSON.
- orjson - Fast, correct JSON library.
- ultrajson - A fast JSON decoder and encoder written in C with Python bindings.
- msgpack - MessagePack serializer implementation for Python.
-
Serverless Frameworks
- python-lambda - A toolkit for developing and deploying Python code in AWS Lambda.
- Zappa - A tool for deploying WSGI applications on AWS Lambda and API Gateway.
-
Shell
- xonsh - A Python-powered, cross-platform, Unix-gazing shell language and command prompt.
-
Specific Formats Processing
- openpyxl - A library for reading and writing Excel 2010 xlsx/xlsm/xltx/xltm files.
- ReportLab - Allowing Rapid creation of rich PDF documents.
- PyYAML - YAML implementations for Python.
- tablib - A module for Tabular Datasets in XLS, CSV, JSON, YAML.
- docxtpl - Editing a docx document by jinja2 template
- pyexcel - Providing one API for reading, manipulating and writing csv, ods, xls, xlsx and xlsm files.
- python-docx - Reads, queries and modifies Microsoft Word 2007/2008 docx files.
- python-pptx - Python library for creating and updating PowerPoint (.pptx) files.
- unoconv - Convert between any document format supported by LibreOffice/OpenOffice.
- XlsxWriter - A Python module for creating Excel .xlsx files.
- xlwings - A BSD-licensed library that makes it easy to call Python from Excel and vice versa.
- xlwt - excel/xlrd) - Writing and reading data and formatting information from Excel files.
- pdfminer.six - Pdfminer.six is a community maintained fork of the original PDFMiner.
- PyPDF2 - A library capable of splitting, merging and transforming PDF pages.
- Mistune - Fastest and full featured pure Python parsers of Markdown.
- Python-Markdown - A Python implementation of John Gruber’s Markdown.
- csvkit - Utilities for converting to and working with CSV.
- unp - A command line tool that can unpack archives easily.
- ReportLab - Allowing Rapid creation of rich PDF documents.
- pikepdf - A powerful library for reading and editing PDF files, based on qpdf.
- Jimmy - Convert your notes to Markdown.
- kreuzberg - High-performance document extraction library with a Rust core, supporting 62+ formats including PDF, Office, images with OCR, HTML, email, and archives.
-
**Sponsors**
- pyr - config Python project manager. Bootstraps its own runtime, app-convention, and working imports - out the box.
Programming Languages
Categories
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
DevOps Tools
18
Command-line Interface Development
18
ORM
18
Natural Language Processing
17
HTML Manipulation
17
Projects
17
Audio
15
Command-line Tools
15
Data Analysis
15
Implementations
14
Image Processing
14
RESTful API
14
Debugging Tools
13
AI and Agents
13
Admin Panels
12
Job Scheduler
12
Distribution
11
Podcasts
11
Package Management
11
Caching
11
Deep Learning
10
Asynchronous Programming
10
Algorithms and Design Patterns
9
Search
9
Logging
9
Web Content Extracting
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
Interactive Interpreter
7
Miscellaneous
7
File Manipulation
7
Serialization
7
CMS
7
Microsoft Windows
7
HTTP Clients
6
Downloader
6
Task Queues
6
Web Crawling
6
WebSocket
6
Computer Vision
6
Database
6
Email
6
Configuration Files
6
Newsletters
5
ASGI Servers
5
Geolocation
5
Cryptography
5
Web APIs
5
Built-in Classes Enhancement
5
Static Site Generator
5
Penetration Testing
5
Processes
4
Package Repositories
4
Web Servers
4
Documentation
4
Foreign Function Interface
4
Job Schedulers
4
WSGI Servers
4
URL Manipulation
4
Quantum Computing
4
Robotics
3
Environment Management
3
Network Virtualization
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
Template Engines
2
GraphQL
2
Web Scraping
2
Compatibility
2
**Sponsors**
1
Video Processing
1
Audio Processing
1
CLI Development
1
Shell
1
Tagging
1
Configuration
1
Enterprise Application Integrations
1
CLI Tools
1
Sub Categories
Keywords
python
417
python3
39
machine-learning
38
data-science
27
django
26
testing
22
http
21
asyncio
21
cli
20
deep-learning
19
database
17
framework
16
flask
15
ai
14
web
14
llm
14
json
14
pandas
12
awesome-list
12
linter
12
awesome
12
api
12
pytorch
12
pydantic
11
sql
11
async
11
automation
10
pypi
10
redis
10
python-library
10
nlp
10
rest
9
orm
9
data-analysis
9
natural-language-processing
9
terminal
9
markdown
9
agents
8
wsgi
8
asgi
8
pdf
8
cross-platform
8
python-3
8
linux
8
fastapi
8
http-server
8
rust
8
audio
8
validation
8
mongodb
7