awesome-python
The definitive list that answers "I want to do X in Python, which tool should I use?"
https://github.com/vinta/awesome-python
Last synced: 12 days ago
JSON representation
Admin Panels
- django-grappelli - A jazzy skin for the Django Admin-Interface.
- django-suit - Alternative Django Admin-Interface (free only for Non-commercial use).
- ajenti - The admin panel your servers deserve.
- django-grappelli - A jazzy skin for the Django Admin-Interface.
- flower - Real-time monitor and web admin for Celery.
- jet-bridge - Admin panel framework for any application with nice UI (ex Jet Django).
- wooey - A Django app which creates automatic web UIs for Python scripts.
- streamlit - A framework which lets you build dashboards, generate reports, or create chat apps in minutes.
- flask-admin - Simple and extensible administrative interface framework for Flask.
- django-unfold - Elevate your Django admin with a stunning modern interface, powerful features, and seamless user experience.
- func-to-web - Instantly create web UIs from Python functions using type hints. Zero frontend code required.
- flask-admin - Simple and extensible administrative interface framework for Flask.
AI and Agents
- autogen - A programming framework for building agentic AI applications.
- crewai - A framework for orchestrating role-playing autonomous AI agents for collaborative task solving.
- dspy - A framework for programming, not prompting, language models.
- instructor - A library for extracting structured data from LLMs, powered by Pydantic.
- django-ai-plugins - Django backend agent skills for Django, DRF, Celery, and Django-specific code review.
- sentry-skills - Python-focused engineering skills for code review, debugging, and backend workflows.
- trailofbits-skills - Python-friendly security skills for auditing, testing, and safer backend development.
- TradingAgents - A multi-agents LLM financial trading framework.
- mem0 - An intelligent memory layer for AI agents enabling personalized interactions.
- unsloth - A library for faster LLM fine-tuning and training with reduced memory usage.
- bub - A lightweight, hook-first Python framework for channel-native agents that live alongside people.
- hermes-agent - An adaptive AI agent framework that grows with you.
- sglang - A high-performance serving framework for large language models and multimodal models.
Algorithms and Design Patterns
- awesome-algorithms
- algorithms - Minimal examples of data structures and algorithms.
- python-ds - A collection of data structure and algorithms for coding interviews.
- sortedcontainers - Fast and pure-Python implementation of sorted collections.
- thealgorithms - All Algorithms implemented in Python.
- pypattyrn - A simple yet effective library for implementing common design patterns.
- python-patterns - A collection of design patterns in Python.
- transitions - A lightweight, object-oriented finite state machine implementation.
- python-cqrs - Event-Driven Architecture Framework with CQRS/CQS, Transaction Outbox, Saga orchestration.
ASGI Servers
- ASGI - compatible web servers.*
- daphne - A HTTP, HTTP2 and WebSocket protocol server for ASGI and ASGI-HTTP.
- uvicorn - A lightning-fast ASGI server implementation, using uvloop and httptools.
- hypercorn - An ASGI and WSGI Server based on Hyper libraries and inspired by Gunicorn.
- granian - Granian is a Rust HTTP server for Python applications built on top of Hyper and Tokio,supporting WSGI/ASGI/RSGI.
Asynchronous Programming
- asyncio - (Python standard library) Asynchronous I/O, event loop, coroutines and tasks.
- awesome-asyncio
- concurrent.futures - (Python standard library) A high-level interface for asynchronously executing callables.
- multiprocessing - (Python standard library) Process-based parallelism.
- trio - A friendly library for async concurrency and I/O.
- twisted - An event-driven networking engine.
- uvloop - Ultra fast asyncio event loop.
- eventlet - Asynchronous framework with WSGI support.
- gevent - A coroutine-based Python networking library that uses greenlet.
- anyio - A high-level async concurrency and networking framework that works on top of asyncio or trio.
Audio
- audioread - Cross-library (GStreamer + Core Audio + MAD + FFmpeg) audio decoding.
- audioFlux - A library for audio and music analysis, feature extraction.
- dejavu - Audio fingerprinting and recognition.
- kapre - Keras Audio Preprocessors.
- librosa - Python library for audio and music analysis.
- matchering - A library for automated reference audio mastering.
- mingus - An advanced music theory and notation package with MIDI file and playback support.
- pyaudioanalysis - Audio feature extraction, classification, segmentation and applications.
- pydub - Manipulate audio with a simple and easy high level interface.
- timeside - Open web audio processing framework.
- beets - A music library manager and MusicBrainz tagger.
- eyed3 - A tool for working with audio files, specifically MP3 files containing ID3 metadata.
- mutagen - A Python module to handle audio metadata.
- tinytag - A library for reading music meta data of MP3, OGG, FLAC and Wave files.
- gTTS - Python library and CLI tool for converting text to speech using Google Translate TTS.
Audio Processing
- mingus - An advanced music theory and notation package with MIDI file and playback support.
Authentication
- authlib - JavaScript Object Signing and Encryption draft implementation.
- django-allauth - Authentication app for Django that "just works."
- oauthlib - A generic and thorough implementation of the OAuth request-signing logic.
- pyjwt - JSON Web Token implementation in Python.
- python-jose - A JOSE implementation in Python.
- django-oauth-toolkit - OAuth 2 goodies for Django.
- authlib - JavaScript Object Signing and Encryption draft implementation.
- django-oauth-toolkit - OAuth 2 goodies for Django.
Books
Build Tools
- BitBake - A make-like build tool for embedded Linux.
- buildout - A build system for creating, assembling and deploying applications from multiple parts.
- bitbake - A make-like build tool for embedded Linux.
- buildout - A build system for creating, assembling and deploying applications from multiple parts.
- platformio - A console tool to build code with different development platforms.
- pybuilder - A continuous build tool written in pure Python.
- scons - A software construction tool.
- doit - A task runner and build tool.
Built-in Classes Enhancement
- dataclasses - (Python standard library) Data classes.
-
attrs
- Replacement for
__init__,__eq__,__repr__, etc. boilerplate in class definitions. - bidict - Efficient, Pythonic bidirectional map data structures and related functionality..
- box - Python dictionaries with advanced dot notation access.
- dotteddict - A library that provides a method of accessing lists and dicts with a dotted path notation.
Caching
- dogpile.cache - dogpile.cache is a next generation replacement for Beaker made by the same authors.
- hermescache - Python caching library with tag-based invalidation and dogpile effect prevention.
- python-diskcache - SQLite and file backed cache backend with faster lookups than memcached and redis.
- beaker - A WSGI middleware for sessions and caching.
- django-cache-machine - Automatic caching and invalidation for Django models.
- django-cacheops - A slick ORM cache with automatic granular event-driven invalidation.
- dogpile.cache - dogpile.cache is a next generation replacement for Beaker made by the same authors.
- pylibmc - A Python wrapper around the libmemcached interface.
- python-diskcache - SQLite and file backed cache backend with faster lookups than memcached and redis.
- hermescache - Python caching library with tag-based invalidation and dogpile effect prevention.
- cachetools - Extensible memoizing collections and decorators.
CLI Development
- typer - Modern CLI framework that uses Python type hints. Built on Click and Pydantic.
CLI Tools
- yt-dlp - A command-line program to download videos from YouTube and other video sites, a fork of youtube-dl.
CMS
- django-cms - An Open source enterprise CMS based on the Django.
- plone - A CMS built on top of the open source application server Zope.
- wagtail - A Django content management system.
- feincms - One of the most advanced Content Management Systems built on Django.
- indico - A feature-rich event management system, made @ CERN.
- wagtail - A Django content management system.
- django-cms - The easy-to-use and developer-friendly enterprise CMS powered by Django.
Code Analysis
- pylint - A fully customizable source code analyzer.
- awesome-python-typing
- mypy - Check variable types during compile time.
- awesome-static-analysis
- code2flow - Turn your Python and JavaScript code into DOT flowcharts.
- prospector - A tool to analyse Python code.
- vulture - A tool for finding and analysing dead Python code.
-
flake8
- A wrapper around
pycodestyle,pyflakesand McCabe. - awesome-flake8-extensions
- pylint - A fully customizable source code analyzer.
- ruff - An extremely fast Python linter and code formatter.
- black - The uncompromising Python code formatter.
- yapf - Yet another Python code formatter from Google.
- mypy - Check variable types during compile time.
- pyre-check - Performant type checking.
- typeshed - Collection of library stubs for Python, with static types.
- monkeytype - A system for Python that generates static type annotations by collecting runtime types.
- pytype - Pytype checks and infers types for Python code - without requiring type annotations.
- isort - A Python utility / library to sort imports.
- ty - An extremely fast Python type checker and language server.
- bandit - A tool designed to find common security issues in Python code.
- bowler - Safe code refactoring for modern Python.
- awesome-static-analysis
- prospector - A tool to analyze Python code.
- isort - A Python utility / library to sort imports.
- repowise - Codebase intelligence that indexes repos into dependency graphs, git history, and auto-generated docs with dead code detection.
Command-line Interface Development
- cement - CLI Application Framework for Python.
- cliff - A framework for creating command-line programs with multi-level commands.
- docopt - Pythonic command line arguments parser.
- colorama - Cross-platform colored terminal text.
- cement - CLI Application Framework for Python.
- cliff - A framework for creating command-line programs with multi-level commands.
- python-fire - A library for creating command line interfaces from absolutely any Python object.
- python-prompt-toolkit - A library for building powerful interactive command lines.
- alive-progress - A new kind of Progress Bar, with real-time throughput, eta and very cool animations.
- asciimatics - A package to create full-screen text UIs (from interactive forms to ASCII animations).
- bashplotlib - Making basic plots in the terminal.
- colorama - Cross-platform colored terminal text.
-
rich
- Python library for rich text and beautiful formatting in the terminal. Also provides a great
RichHandlerlog handler. - tqdm - Fast, extensible progress bar for loops and CLI.
- click - A package for creating beautiful command line interfaces in a composable way.
- Typer - Modern CLI framework that uses Python type hints. Built on Click and Pydantic.
- argparse - (Python standard library) Command-line option and argument parsing.
- textual - A framework for building interactive user interfaces that run in the terminal and the browser.
Command-line Tools
- copier - A library and command-line utility for rendering projects templates.
- cookiecutter - A command-line utility that creates projects from cookiecutters (project templates).
- doitlive - A tool for live presentations in the terminal.
- howdoi - Instant coding answers via the command line.
- invoke - A tool for managing shell-oriented subprocesses and organizing executable Python code into CLI-invokable tasks.
- pathpicker - Select files out of bash output.
- thefuck - Correcting your previous console command.
- tmuxp - A tmux session manager.
- try - A dead simple CLI to try out python packages - it's never been easier.
- httpie - A command line HTTP client, a user-friendly cURL replacement.
- iredis - Redis CLI with autocompletion and syntax highlighting.
- litecli - SQLite CLI with autocompletion and syntax highlighting.
- mycli - MySQL CLI with autocompletion and syntax highlighting.
- pgcli - PostgreSQL CLI with autocompletion and syntax highlighting.
- ccb - A CLI tool to orchestrate multiple LLMs (Claude, Gemini, etc.) in Tmux panes with cross-agent interaction.
Compatibility
- python-future - The missing compatibility layer between Python 2 and Python 3.
- six - Python 2 and 3 compatibility utilities.
Computer Vision
- opencv - Open Source Computer Vision Library.
- easyocr - Ready-to-use OCR with 40+ languages supported.
- pytesseract - A wrapper for Google Tesseract OCR.
-
tesserocr
- Another simple, Pillow-friendly, wrapper around the
tesseract-ocrAPI for OCR. - kornia - Open Source Differentiable Computer Vision Library for PyTorch.
- opencv - Open Source Computer Vision Library.
Concurrency and Parallelism
Configuration
- profig - Config from multiple formats with value conversion.
Configuration Files
- configparser - (Python standard library) INI file parser.
- configobj - INI file parser with validation.
- python-decouple - Strict separation of settings from code.
- dynaconf - Dynaconf is a configuration manager with plugins for Django, Flask and FastAPI.
-
python-dotenv
- Reads key-value pairs from a
.envfile and sets them as environment variables.
Cryptography
- cryptography - A package designed to expose cryptographic primitives and recipes to Python developers.
- passlib - Secure password storage/hashing library, very high level.
- cryptography - A package designed to expose cryptographic primitives and recipes to Python developers.
- paramiko - The leading native Python SSHv2 protocol library.
- pynacl - Python binding to the Networking and Cryptography (NaCl) library.
Data Analysis
- Orange - Data mining, data visualization, analysis and machine learning through visual programming or scripts.
- pandas - A library providing high-performance, easy-to-use data structures and data analysis tools.
- aws-sdk-pandas - Pandas on AWS.
- datasette - An open source multi-tool for exploring and publishing data.
- optimus - Agile Data Science Workflows made easy with PySpark.
- desbordante - An open source data profiler for complex pattern discovery.
- docling - Library for converting documents into structured data.
- pathway - Real-time data processing framework for Python with reactive dataflows.
- polars - A fast DataFrame library implemented in Rust with a Python API.
- pandas - A library providing high-performance, easy-to-use data structures and data analysis tools.
- pandas - A library providing high-performance, easy-to-use data structures and data analysis tools.
- ibis - A portable Python dataframe library with a single API for 20+ backends.