Awesome Python
repository·master·Indexed Aug 11, 2026
https://github.com/vinta/awesome-pythonA curated, opinionated list of the best Python frameworks, libraries, tools, and resources. It covers a wide range of categories including AI/ML, Web Development, DevOps, Data Science, HTTP & Scraping, Database & Storage, and the Python toolchain.
What's inside Awesome Python
- Awesome Python is an opinionated guide and curated list of the best Python frameworks, libraries, tools, and resources. It is organized into numerous categories covering the entire Python ecosystem, including AI/ML, Web Development, DevOps, Data Science, and more. While the repository contains the list, it is recommended to visit the official website for more efficient searching and filtering of projects.
Find Python libraries for Image and Media Processing
masterLibraries for handling visual and auditory media:
Image Processing
- Core Manipulation:
pillow(PIL fork),pyvips(fast/low memory),scikit-image(scientific processing),wand(ImageMagick bindings). - Specialized:
pymatting(alpha matting),python-barcode(barcodes),python-qrcode(QR codes),thumbor(on-demand resizing/cropping).
- Core Manipulation:
Explore Synchronous and Asynchronous Web Frameworks
masterPython offers various web frameworks categorized by their execution model:
Synchronous Frameworks
- bottle: A fast, single-file micro-framework with no dependencies.
- django: The most popular full-featured web framework.
- flask: A widely used microframework.
- pyramid: A small, fast, and extensible framework.
- fasthtml: Optimized for creating HTML applications quickly.
- masonite: A modern, developer-centric framework.
Asynchronous Frameworks
- litestar: A production-ready, extensible ASGI framework.
- microdot: An extremely small framework for Python and MicroPython.
- reflex: For building reactive, full-stack web apps entirely in Python.
- robyn: High-performance async framework with a Rust runtime.
- starlette: A lightweight ASGI toolkit for high-performance services.
- tornado: A web framework and asynchronous networking library.
Manage Python Environments and Packages
masterTools for managing versions, environments, and dependencies:
Environment Management
KillPy: Detect and clean unused environments/pipx packages.pyenv: Python version management.pyenv-win: Pyenv for Windows.uv: Extremely fast version, package, and project manager (Rust-based).virtualenv: Create isolated environments.
Package Management
conda: Cross-platform, Python-agnostic binary manager.hatch: Modern project manager for environments, builds, and publishing.pip: Standard package installer.pipx: Install and run Python applications in isolated environments (likenpx).poetry: Dependency management and packaging.uv: (Also listed under environment management) Fast Rust-based manager.
Implement WebSockets and Real-time Communication
masterFor real-time features, use these libraries:
- autobahn-python: WebSocket & WAMP for Twisted and
asyncio. - channels: Asynchronous capabilities specifically for Django.
- flask-socketio: Socket.IO integration for Flask.
- picows: High-performance WebSocket clients/servers with frame-level interface.
- websockets: Simple and correct library for building WebSocket servers and clients.
- autobahn-python: WebSocket & WAMP for Twisted and
Explore Deep Learning frameworks
masterFrameworks for building and training neural networks:
jax: High-performance numerical computing with JIT and auto-diff.keras: High-level API supporting JAX, TensorFlow, and PyTorch.pytorch: Dynamic neural networks with GPU acceleration.pytorch-lightning: High-level framework for scaling PyTorch training.tensorflow: Google's widely-used deep learning framework.stable-baselines3: Reinforcement learning algorithms implemented in PyTorch.
Find Python libraries for Text Processing and Parsing
masterLibraries for manipulating plain text, generating identifiers, and parsing structured data:
Text Manipulation
- General:
babel(i18n),chardet(encoding detection),difflib(delta computing),ftfy(Unicode fixing),python-slugify(Unicode to ASCII),textdistance(sequence distance algorithms). - Transliteration:
unidecode(ASCII),pypinyin(Chinese Hanzi to Pinyin). - Formatting:
pyfiglet(FIGlet implementation),pangu.py(text spacing).
Unique Identifiers
- Short IDs:
sqids(numbers to short IDs),shortuuid(URL-safe UUIDs).
Parsers
- Combinators/General:
parsy(parser combinators),pyparsing(general purpose framework). - Syntax/Specific:
pygments(syntax highlighting),sqlparse(SQL),python-user-agents(browser agents),python-nameparser(human names),python-phonenumbers(international phone numbers),tree-sitter-language-pack(300+ languages).
- General:
Build CLI applications with Python
masterLibraries for creating command-line interfaces:
CLI Development Frameworks
- argparse: Python standard library for option and argument parsing.
- cement: CLI Application Framework.
- click: Package for creating composable command line interfaces.
- python-fire: Creates CLIs from any Python object.
- python-prompt-toolkit: For building powerful interactive command lines.
- typer: Modern CLI framework using Python type hints (built on Click and Pydantic).
Terminal Rendering
- alive-progress: Progress bars with real-time throughput and animations.
- asciimatics: Create full-screen text UIs and ASCII animations.
- colorama: Cross-platform colored terminal text.
- rich: Rich text and beautiful terminal formatting (includes
RichHandlerfor logging). - textual: Framework for building interactive UIs in the terminal and browser.
- tqdm: Fast, extensible progress bar for loops and CLI.
Build Web APIs with Django, Flask, or Agnostic libraries
masterDepending on your existing stack, you can build RESTful or GraphQL APIs using:
Django-based APIs
- django-modern-rest: Modern REST with support for
msgspecandpydantic. - django-ninja: Fast, type-hint based REST framework using Pydantic.
- django-rest-framework: A powerful, flexible toolkit for web APIs.
- strawberry-django: Integration for Strawberry GraphQL.
Flask-based APIs
- apiflask: Lightweight API framework based on Flask and Marshmallow.
Framework Agnostic APIs
- connexion: Spec-first framework using OpenAPI specifications.
- falcon: High-performance framework for cloud APIs.
- fastapi: Modern, fast framework using standard Python type hints.
- sanic: High-performance web server and framework.
- strawberry: GraphQL library leveraging Python type annotations.
- webargs: Library for parsing HTTP request arguments.
- django-modern-rest: Modern REST with support for
Explore Game Development libraries
masterFor building games in Python, the following frameworks are recommended:
arcade: Modern framework for graphics and sound.panda3d: 3D game engine developed by Disney.py-sdl2: ctypes wrapper for SDL2.pygame: Set of modules for general game writing.pyopengl: ctypes bindings for OpenGL.renpy: Visual Novel engine.
Explore Asynchronous and Concurrent programming
masterFor non-blocking and parallel execution, use these libraries:
anyio: High-level async framework (works withasyncioortrio).asyncio: (Standard Library) Core async I/O and event loop.concurrent.futures: (Standard Library) High-level interface for asynchronous execution.gevent: Coroutine-based networking usinggreenlet.multiprocessing: (Standard Library) Process-based parallelism.trio: Friendly async concurrency and I/O.twisted: Event-driven networking engine.uvloop: Ultra-fastasyncioevent loop.
Generate project documentation with Python libraries
masterSeveral libraries are available for generating documentation for Python projects:
- diagrams: Uses 'Diagram as Code' approach.
- mkdocs: A Markdown-friendly documentation generator.
- pdoc: An Epydoc replacement that automatically generates API documentation for Python libraries.
- sphinx: A widely used Python documentation generator (see also
awesome-sphinxdoc).