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
-
Search
- 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**
-
Static Site Generator
- lektor - An easy to use static CMS and blog engine.
- mkdocs - Markdown friendly documentation generator.
- makesite - Simple, lightweight, and magic-free static site/blog generator (< 130 lines).
- nikola - A static website and blog generator.
- pelican - Static site generator that supports Markdown and reST syntax.
-
Tagging
- django-taggit - Simple tagging for Django.
-
Task Queues
- celery - An asynchronous task queue/job queue based on distributed message passing.
- dramatiq - A fast and reliable background task processing library for Python 3.
- huey - Little multi-threaded task queue.
- mrq - A distributed worker task queue in Python using Redis & gevent.
- rq - Simple job queues for Python.
- celery - An asynchronous task queue/job queue based on distributed message passing.
-
Template Engine
-
Template Engines
-
Testing
- pytest - A mature full-featured Python testing tool.
- unittest - (Python standard library) Unit testing framework.
- mamba - The definitive testing tool for Python. Born under the banner of BDD.
- tox - Auto builds and tests distributions in multiple Python versions
- mock - (Python standard library) A mocking and patching library.
- hypothesis - Hypothesis is an advanced Quickcheck style property based testing library.
- nose2 - The successor to `nose`, based on `unittest2.
- Robot Framework - A generic test automation framework.
- green - A clean, colorful test runner.
- locust - Scalable user load testing tool written in Python.
- PyAutoGUI - PyAutoGUI is a cross-platform GUI automation Python module for human beings.
- Selenium - Python bindings for [Selenium](https://selenium.dev/) [WebDriver](https://selenium.dev/documentation/webdriver/).
- sixpack - A language-agnostic A/B Testing framework.
- splinter - Open source tool for testing web applications.
- freezegun - Travel through time by mocking the datetime module.
- httmock - A mocking library for requests for Python 2.6+ and 3.2+.
- httpretty - HTTP request mock tool for Python.
- mocket - A socket mock framework with gevent/asyncio/SSL support.
- responses - A utility library for mocking out the requests Python library.
- VCR.py - Record and replay HTTP interactions on your tests.
- factory_boy - A test fixtures replacement for Python.
- mixer - Another fixtures replacement. Supports Django, Flask, SQLAlchemy, Peewee and etc.
- coverage - Code coverage measurement.
- fake2db - Fake database generator.
- faker - A Python package that generates fake data.
- mimesis - is a Python library that help you generate fake data.
- doublex - Powerful test doubles framework for Python.
- radar - Generate random datetime / time.
- Schemathesis - A tool for automatic property-based testing of web applications built with Open API / Swagger specifications.
- model_mommy - Creating random fixtures for testing in Django.
- polyfactory - mock data generation library with support to classes (continuation of `pydantic-factories`)
- ScanAPI - Automated Testing and Documentation for your REST API.
- pytest - A mature full-featured Python testing tool.
- scanapi - Automated Testing and Documentation for your REST API.
- nox - Flexible test automation for Python.
- tox - Auto builds and tests distributions in multiple Python versions
- playwright - Python version of the Playwright testing and automation library.
- selenium - Python bindings for [Selenium](https://selenium.dev/) [WebDriver](https://selenium.dev/documentation/webdriver/).
- coverage - Code coverage measurement.
- schemathesis - A tool for automatic property-based testing of web applications built with Open API / Swagger specifications.
- respx - Mock HTTPX with awesome request patterns and response side effects.
-
Text Processing
- difflib - (Python standard library) Helpers for computing deltas.
- unidecode - ASCII transliterations of Unicode text.
- pygments - A generic syntax highlighter.
- chardet - Python 2/3 compatible character encoding detector.
- ftfy - Makes Unicode text less broken and more consistent automagically.
- fuzzywuzzy - Fuzzy String Matching.
- pangu.py - Paranoid text spacing.
- pyfiglet - An implementation of figlet written in Python.
- pypinyin - Convert Chinese hanzi (漢字) to pinyin (拼音).
- awesome-slugify - A Python slugify library that can preserve unicode.
- python-slugify - A Python slugify library that translates unicode to ASCII.
- unicode-slugify - A slugifier that generates unicode slugs with Django as a dependency.
- hashids - Implementation of [hashids](http://hashids.org) in Python.
- shortuuid - A generator library for concise, unambiguous and URL-safe UUIDs.
- ply - Implementation of lex and yacc parsing tools for Python.
- pyparsing - A general purpose framework for generating parsers.
- python-nameparser - Parsing human names into their individual components.
- python-phonenumbers - Parsing, formatting, storing and validating international phone numbers.
- python-user-agents - Browser user agent parser.
- sqlparse - A non-validating SQL parser.
- Levenshtein - Fast computation of Levenshtein distance and string similarity.
- unidecode - ASCII transliterations of Unicode text.
- textdistance - Compute distance between sequences with 30+ algorithms.
- babel - An internationalization library for Python.
- unidecode - ASCII transliterations of Unicode text.
- pygments - A generic syntax highlighter.
- ftfy - Makes Unicode text less broken and more consistent automagically.
- textdistance - Compute distance between sequences with 30+ algorithms.
- sqids - A library for generating short unique IDs from numbers.
-
Third-party APIs
- apache-libcloud - One Python library for all clouds.
- List of Python API Wrappers and Libraries
- boto3 - Python interface to Amazon Web Services.
- django-wordpress - WordPress models and views for Django.
- facebook-sdk - Facebook Platform Python SDK.
- gspread - Google Spreadsheets Python API.
- twython - A Python wrapper for the Twitter API.
- google-api-python-client - Google APIs Client Library for Python.
-
URL Manipulation
- furl - A small Python library that makes parsing and manipulating URLs easy.
- purl - A simple, immutable URL class with a clean API for interrogation and manipulation.
- pyshorteners - A pure Python URL shortening lib.
- webargs - A friendly library for parsing HTTP request arguments with built-in support for popular web frameworks.
-
Video
- moviepy - A module for script-based movie editing with many formats, including animated GIFs.
- scikit-video - Video processing routines for SciPy.
- vidgear - Most Powerful multi-threaded Video Processing framework.
-
Video Processing
- moviepy - A module for script-based movie editing with many formats, including animated GIFs.
-
Web APIs
- django-ninja - Fast, Django REST framework based on type hints and Pydantic.
- apiflask - A lightweight Python web API framework based on Flask and Marshmallow.
- connexion - A spec-first framework that automatically handles requests based on your OpenAPI specification.
- 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.
-
Web Asset Management
- fanstatic - Packages, optimizes, and serves static file dependencies as Python packages.
- django-compressor - Compresses linked and inline JavaScript or CSS into a single cached file.
- django-pipeline - An asset packaging library for Django.
- django-storages - A collection of custom storage back ends for Django.
- fanstatic - Packages, optimizes, and serves static file dependencies as Python packages.
- flask-assets - Helps you integrate webassets into your Flask app.
- webassets - Bundles, optimizes, and manages unique cache-busting URLs for static resources.
- fanstatic - Packages, optimizes, and serves static file dependencies as Python packages.
-
Web Content Extracting
- html2text - Convert HTML to Markdown-formatted text.
- lassie - Web Content Retrieval for Humans.
- micawber - A small library for extracting rich content from URLs.
- newspaper - News extraction, article extraction and content curation in Python.
- python-readability - Fast Python port of arc90's readability tool.
- requests-html - Pythonic HTML Parsing for Humans.
- sumy - A module for automatic summarization of text documents and HTML pages.
- textract - Extract text from any document, Word, PowerPoint, PDFs, etc.
- toapi - Every web site provides APIs.
-
Web Crawling
- feedparser - Universal feed parser.
- feedparser - Universal feed parser.
- grab - Site scraping framework.
- mechanicalsoup - A Python library for automating interaction with websites.
- scrapy - A fast high-level screen scraping and web crawling framework.
- browser-use - Make websites accessible for AI agents with easy browser automation.
-
Web Frameworks
- Django - The most popular web framework in Python.
- pyramid - A small, fast, down-to-earth, open source Python web framework.
- awesome-pyramid
- Tornado - A web framework and asynchronous networking library.
- django - The most popular web framework in Python.
- awesome-django
- awesome-django
- flask - A microframework for Python.
- awesome-flask
- masonite - The modern and developer centric Python web framework.
- tornado - A web framework and asynchronous networking library.
- fastHTML - The fastest way to create an HTML app.
- awesome-fasthtml
- microdot - The impossibly small web framework for Python and MicroPython.
- reflex - stack web applications entirely with python .
- Litestar - Production-ready, capable and extensible ASGI Web framework.
- pyramid - A small, fast, down-to-earth, open source Python web framework.
- bottle - A fast and simple micro-framework distributed as a single file with no dependencies.
- robyn - A high-performance async Python web framework with a Rust runtime.
- starlette - A lightweight ASGI framework and toolkit for building high-performance async services.
-
Web Scraping
- crawl4ai - An open-source, LLM-friendly web crawler that provides lightning-fast, structured data extraction specifically designed for AI agents.
- trafilatura - A tool for gathering text and metadata from the web, with built-in content filtering.
-
Web Servers
- uwsgi - A project aims at developing a full stack for building hosting services, written in C.
- uvicorn - A lightning-fast ASGI server implementation, using uvloop and httptools.
- grpcio - HTTP/2-based RPC framework with Python bindings, built by Google.
- rpyc - A transparent and symmetric RPC library for Python.
-
Websites
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