An open API service indexing awesome lists of open source software.

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

  • 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.

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, pyflakes and 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 RichHandler log 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

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 .env file 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

  • pickleDB - A simple and lightweight key-value store for Python.
  • tinydb - A tiny, document-oriented database.
  • zodb - A native object database for Python. A key-value and object graph 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.

Deep Learning

  • keras - A high-level neural networks library and capable of running on top of either TensorFlow or Theano.
  • pytorch - Tensors and Dynamic neural networks in Python with strong GPU acceleration.