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: 11 days ago
JSON representation
Filtered by Python. Clear filters
Admin Panels
- ajenti - The admin panel your servers deserve.
- 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.
- 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.
- 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
- 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
Asynchronous Programming
- trio - A friendly library for async concurrency and I/O.
- twisted - An event-driven networking engine.
- 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.
- 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.
- 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.
- authlib - JavaScript Object Signing and Encryption draft implementation.
- django-oauth-toolkit - OAuth 2 goodies for Django.
Build Tools
- 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
-
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
- 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.
- python-diskcache - SQLite and file backed cache backend with faster lookups than memcached and redis.
- 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
- 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
- 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. - pylint - A fully customizable source code analyzer.
- black - The uncompromising Python code formatter.
- yapf - Yet another Python code formatter from Google.
- mypy - Check variable types during compile time.
- 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.
- 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.
- 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.
- 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.
- 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.
Computer Vision
- 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. - opencv - Open Source Computer Vision Library.
Configuration Files
- 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.
- paramiko - The leading native Python SSHv2 protocol library.
Data Analysis
- 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.
- docling - Library for converting documents into structured data.
- pathway - Real-time data processing framework for Python with reactive dataflows.
- 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.
- modin - A drop-in pandas replacement that scales workflows by changing a single line of code.
- akshare - A financial data interface library, built for human beings!
- lumibot - Algorithmic trading framework for backtesting and live deployment across stocks, options, crypto, futures, and forex.
Database
Database Drivers
- py2neo - A client library and toolkit for working with Neo4j.
- mysqlclient - MySQL connector with Python 3 support (mysql-python fork).
- pymysql - A pure Python MySQL driver compatible to mysql-python.
- psycopg - The most popular PostgreSQL adapter for Python.
- sqlite-utils - Python CLI utility and library for manipulating SQLite databases.
- pymssql - A simple database interface to Microsoft SQL Server.
- clickhouse-driver - Python driver with native interface for ClickHouse.
- cassandra-driver - The Python Driver for Apache Cassandra.
- happybase - A developer-friendly library for Apache HBase.
- kafka-python - The Python client for Apache Kafka.
- pymongo - The official Python client for MongoDB.
- motor - The async Python driver for MongoDB.
- redis-py - The Python client for Redis.
- Django MongoDB Backend - Official MongoDB database backend for Django.
- Beanie - An asynchronous Python object-document mapper (ODM) for MongoDB.
- awesome-mysql
- mssql-python - Official Microsoft driver for SQL Server and Azure SQL, built on ODBC for high performance and low memory usage.
- cassandra-driver - The Python Driver for Apache Cassandra.
Data Validation
- cerberus - A lightweight and extensible data validation library.
- colander - Validating and deserializing data obtained via XML, JSON, an HTML form post.
- jsonschema - An implementation of JSON Schema for Python.
- schema - A library for validating Python data structures.
- schematics - Data Structure Validation.
- voluptuous - A Python data validation library.
- pydantic - Data validation using Python type hints.
- pandera - A data validation library for dataframes, with support for pandas, polars, and Spark.
Data Visualization
- altair - Declarative statistical visualization library for Python.
- cartopy - A cartographic python library with matplotlib support.
- diagrams - Diagram as Code.
- matplotlib - A Python 2D plotting library.
- plotnine - A grammar of graphics for Python based on ggplot2.
- pygal - A Python SVG Charts Creator.
- pyqtgraph - Interactive and realtime 2D/3D/Image plotting and science/engineering widgets.
- seaborn - Statistical data visualization using Matplotlib.
- vispy - High-performance scientific visualization based on OpenGL.
- UltraPlot - Matplotlib wrapper for publication-ready scientific figures with minimal code. Includes advanced subplot management, panel layouts, and batteries-included geoscience plotting.
- plotly - Interactive graphing library for Python.
- gradio - Build and share machine learning apps, all in Python.
- altair - Declarative statistical visualization library for Python.
Date and Time
- arrow - A Python library that offers a sensible and human-friendly approach to creating, manipulating, formatting and converting dates, times and timestamps.
- dateutil - Extensions to the standard Python datetime module.
- dateparser - A Python parser for human-readable dates in dozens of languages.
- pendulum - Python datetimes made easy.
Debugging Tools
- ipdb - IPython-enabled pdb.
- pudb - A full-screen, console-based Python debugger.
- manhole - Debugging UNIX socket connections and present the stacktraces for all threads and an interactive prompt.
- python-hunter - A flexible code tracing toolkit.
- vprof - Visual Python profiler.
- django-debug-toolbar - Display various debug information for Django.
- icecream - Inspect variables, expressions, and program execution with a single, simple function call.
- pyelftools - Parsing and analyzing ELF files and DWARF debugging information.
- memory-graph - Visualize Python data at runtime to debug references, mutability, and aliasing.
- scalene - A high-performance, high-precision CPU, GPU, and memory profiler for Python.
- django-debug-toolbar - Display various debug information for Django.