awesome-python
An opinionated list of Python frameworks, libraries, tools, and resources
https://github.com/vinta/awesome-python
Last synced: about 19 hours ago
JSON representation
-
Serialization
-
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
- Full Stack Python
- Python Cheatsheet
- Real Python
- The Hitchhiker’s Guide to Python
- Awesome Python @LibHunt
- Python ZEEF
- Pythonic News
- Python Developer Tooling Handbook - Comprehensive guide to modern Python developer tools covering package management, linting, type checking, testing, and more.
-
WebSocket
- autobahn-python - WebSocket & WAMP for Python on Twisted and [asyncio](https://docs.python.org/3/library/asyncio.html).
- channels - Developer-friendly asynchrony for Django.
- websockets - A library for building WebSocket servers and clients with a focus on correctness and simplicity.
- flask-socketio - Socket.IO integration for Flask applications.
Programming Languages
Categories
Projects
45
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
HTML Manipulation
17
Natural Language Processing
17
Data Analysis
15
Audio
15
Command-line Tools
15
Implementations
14
Image Processing
14
RESTful API
14
Debugging Tools
13
AI and Agents
13
Admin Panels
12
Job Scheduler
12
Podcasts
11
Caching
11
Distribution
11
Package Management
11
Deep Learning
10
Asynchronous Programming
10
Logging
9
Algorithms and Design Patterns
9
Data Validation
9
Web Content Extracting
9
Search
9
Date and Time
8
Distributed Computing
8
Editor Plugins and IDEs
8
Authentication
8
Web Asset Management
8
Build Tools
8
Third-party APIs
8
Websites
8
Recommender Systems
8
Hardware
7
File Format Processing
7
Microsoft Windows
7
File Manipulation
7
Functional Programming
7
Serialization
7
CMS
7
Miscellaneous
7
Interactive Interpreter
7
WebSocket
6
Database
6
Task Queues
6
Web Crawling
6
Email
6
Computer Vision
6
Downloader
6
Configuration Files
6
HTTP Clients
6
ASGI Servers
5
Newsletters
5
Penetration Testing
5
Web APIs
5
Cryptography
5
Static Site Generator
5
Built-in Classes Enhancement
5
Geolocation
5
Web Servers
4
Quantum Computing
4
WSGI Servers
4
Documentation
4
Package Repositories
4
Job Schedulers
4
Processes
4
Foreign Function Interface
4
URL Manipulation
4
Refactoring
3
Environment Management
3
Robotics
3
Video
3
Internationalization
3
Network Virtualization
3
E-commerce
3
Template Engine
3
Compatibility
2
**Sponsors**
2
News Feed
2
Books
2
Permissions
2
Serverless Frameworks
2
Resources
2
Concurrency and Parallelism
2
RPC Servers
2
GraphQL
2
Web Scraping
2
Template Engines
2
CLI Tools
1
Enterprise Application Integrations
1
Configuration
1
Audio Processing
1
Video Processing
1
CLI Development
1
Shell
1
Tagging
1
Sub Categories
AI and Agents
16
Machine Learning
3
Audio & Video Processing
3
Testing
2
Hardware
2
Science
2
Podcasts
2
Built-in Classes Enhancement
1
Package Repositories
1
Environment Management
1
File Format Processing
1
Web Security
1
Messaging
1
DevOps Tools
1
Database
1
Code Analysis
1
Web APIs
1
Text Processing
1
Computer Vision
1
Data Analysis
1
Task Queues
1
Miscellaneous
1
Functional Programming
1
Data Ingestion / ETL
1
Keywords
python
431
python3
41
machine-learning
40
data-science
28
django
26
asyncio
23
testing
22
http
21
cli
21
deep-learning
21
database
18
framework
18
ai
17
llm
17
json
15
flask
15
web
14
pytorch
13
api
12
pydantic
12
linter
12
sql
12
pandas
12
awesome-list
12
awesome
12
pypi
11
agents
11
automation
11
async
11
redis
10
nlp
10
rag
10
python-library
10
markdown
10
python-3
9
natural-language-processing
9
ai-agents
9
data-analysis
9
rust
9
rest
9
audio
9
terminal
9
orm
9
pdf
8
linux
8
validation
8
llms
8
asgi
8
openai
8
music
8