Your first time on this page? Allow me to give some explanations.
Awesome Python
A curated list of awesome Python frameworks, libraries, software and resources
Here you can see meta information about this topic like the time we last updated this page, the original creator of the awesome list and a link to the original GitHub repository.
Thank you vinta & contributors
View Topic on GitHub:
vinta/awesome-python
Search for resources by name or description.
Simply type in what you are looking for and the results will be filtered on the fly.
Further filter the resources on this page by type (repository/other resource), number of stars on GitHub and time of last commit in months.
Admin Panels
Ajenti Core and stock plugins
Modern responsive template for the Django admin interface with improved functionality. We are proud to announce completely new Jet. Please check out Live Demo
Drop-in replacement of Django admin comes with lots of goodies, fully extensible with plugin support, pretty UI based on Twitter Bootstrap.
Simple and extensible administrative interface framework for Flask
Real-time monitor and web admin for Celery distributed task queue
Jet Bridge – Admin Panel Framework for your application
A Django app that creates automatic web UIs for Python scripts.
Algorithms and Design Patterns
A curated list of awesome places to learn and/or practice algorithms.
Minimal examples of data structures and algorithms in Python
No non-sense and no BS repo for how data structure code should be in Python - simple and elegant.
Python Sorted Container Types: Sorted List, Sorted Dict, and Sorted Set
All Algorithms implemented in Python
A simple library for implementing common design patterns.
A collection of design patterns/idioms in Python
A lightweight, object-oriented finite state machine implementation in Python with many extensions
ASGI Servers
Django Channels HTTP/WebSocket server
An ASGI web server, for Python. 🦄
Asynchronous Programming
A curated list of awesome Python asyncio frameworks, libraries, software and resources
Trio – a friendly Python library for async concurrency and I/O
Ultra fast asyncio event loop.
Audio
cross-library (GStreamer + Core Audio + MAD + FFmpeg) audio decoding for Python
Audio fingerprinting and recognition in Python
kapre: Keras Audio Preprocessors
Python library for audio and music analysis
🎚️ Open Source Audio Matching and Mastering
Python Audio Analysis Library: Feature Extraction, Classification, Segmentation and Applications
Manipulate audio with a simple and easy high level interface
Scalable audio processing framework written in Python with a RESTful API
music library manager and MusicBrainz tagger
eyeD3 is a Python module and command line program for processing ID3 tags. Information about mp3 files (i.e bit rate, sample frequency, play time, etc.) is also provided. The formats supported are ID3v1 (1.0/1.1) and ID3v2 (2.3/2.4).
Python module for handling audio metadata
Read audio and music meta data and duration of MP3, OGG, OPUS, MP4, M4A, FLAC, WMA, Wave and AIFF files with python 2 or 3
Authentication
The ultimate Python library in building OAuth, OpenID Connect clients and servers. JWS,JWE,JWK,JWA,JWT included.
Integrated set of Django applications addressing authentication, registration, account management as well as 3rd party (social) account authentication.
OAuth2 goodies for the Djangonauts!
A generic, spec-compliant, thorough implementation of the OAuth request-signing logic
A fully tested, abstract interface to creating OAuth clients and servers.
Social auth made simple
JSON Web Token implementation in Python
A JOSE implementation in Python
Python module for generating and verifying JSON Web Tokens
Build Tools
PlatformIO is a professional collaborative platform for embedded development A place where Developers and Teams have true Freedom! No more vendor lock-in!
Software build automation tool for Python.
Built-in Classes Enhancement
Python Classes Without Boilerplate
The bidirectional mapping library for Python.
Python dictionaries with advanced dot notation access
Python library that provides a method of accessing lists and dicts with a dotted path notation.
CMS
A Django-based CMS with a focus on extensibility and concise code
Indico - A feature-rich event management system, made @ CERN, the place where the Web was born.
Kotti is a high-level, Pythonic web application framework based on Pyramid and SQLAlchemy. It includes an extensible Content Management System called the Kotti CMS.
CMS framework for Django
LOOKING FOR NEW MAINTAINER - Quokka is a Content Management System - docker run --rm -it -p 5000:5000 quokka/quokka
Caching
WSGI middleware for sessions and caching
Automatic caching and invalidation for Django models through the ORM.
A slick ORM cache with automatic granular event-driven invalidation.
A Python wrapper around the libmemcached interface from TangentOrg.
ChatOps Tools
Errbot is a chatbot, a daemon that connects to your favorite chat service and bring your tools and some fun into the conversation.
Code Analysis
⚙️ A curated list of static analysis (SAST) tools for all programming languages, config files, build tools, and more.
coala provides a unified command-line interface for linting and fixing all your code, regardless of the programming languages you use.
Pretty good call graphs for dynamic languages
Inspects Python source files and provides information about type and location of classes, methods etc
pycallgraph is a Python module that creates call graphs for Python programs.
Find dead Python code
A curated awesome list of flake8 extensions. Feel free to contribute!
Code audit tool for python.
The strictest and most opinionated python linter ever!
The uncompromising Python code formatter
A Python utility / library to sort imports.
A formatter for Python files
Collection of awesome Python types, stubs, plugins, and tools to work with them.
Performant type-checking for python.
Collection of library stubs for Python, with static types
A Python library that generates static type annotations by collecting runtime types
Auto-generate PEP-484 annotations
A static type analyzer for Python code
Command-line Interface Development
Python Fire is a library for automatically generating command line interfaces (CLIs) from absolutely any Python object.
Library for building powerful interactive command line applications in Python
A new kind of Progress Bar, with real-time throughput, ETA, and very cool animations!
A cross platform package to do curses-like operations, plus higher level APIs and widgets to create text UIs and ASCII art animations
plotting in the terminal
Rich is a Python library for rich text and beautiful formatting in the terminal.
A Fast, Extensible Progress Bar for Python and CLI
Command-line Tools
Library and command-line utility for rendering projects templates.
A command-line utility that creates projects from cookiecutters (project templates), e.g. Python package projects, VueJS projects.
Because sometimes you need to do it live
instant coding answers via the command line
Pythonic task management & command execution.
PathPicker accepts a wide range of input -- output from git commands, grep results, searches -- pretty much anything. After parsing the input, PathPicker presents you with a nice UI to select which files you're interested in. After that you can open them in your favorite editor or execute arbitrary commands.
adds flavor of interactive filtering to the traditional pipe concept of UNIX shell
Magnificent app which corrects your previous console command.
tmux session manager. built on libtmux
Dead simple CLI tool to try Python packages - It's never been easier!
As easy as /aitch-tee-tee-pie/ 🥧 Modern, user-friendly command-line HTTP client for the API era. JSON support, colors, sessions, downloads, plugins & more. https://twitter.com/httpie
Interactive Redis: A Terminal Client for Redis with AutoCompletion and Syntax Highlighting.
Kubernetes shell: An integrated shell for working with the Kubernetes
CLI for SQLite Databases with auto-completion and syntax highlighting
A Terminal Client for MySQL with AutoCompletion and Syntax Highlighting.
Postgres CLI with autocompletion and syntax highlighting
A supercharged AWS command line interface (CLI).
Compatibility
Modernizes Python code for eventual Python 3 migration. Built on top of fissix (a fork of lib2to3)
Computer Vision
Ready-to-use OCR with 80+ supported languages and all popular writing scripts including Latin, Chinese, Arabic, Devanagari, Cyrillic and etc.
The world's simplest facial recognition api for Python and the command line
Open Source Differentiable Computer Vision Library
A Python wrapper for Google Tesseract
The Open Source Framework for Machine Vision
A Python wrapper for the tesseract-ocr API
Concurrency and Parallelism
A curated list of awesome Python asyncio frameworks, libraries, software and resources
SCOOP (Scalable COncurrent Operations in Python)
Ultra fast asyncio event loop.
Configuration
Python 3+ compatible port of the configobj library
Hydra is a framework for elegantly configuring complex applications
Strict separation of config from code.
Cryptography
The leading native Python SSHv2 protocol library.
Python binding to the Networking and Cryptography (NaCl) library
Data Analysis
Pandas on AWS - Easy integration with Athena, Glue, Redshift, Timestream, QuickSight, Chime, CloudWatchLogs, DynamoDB, EMR, SecretManager, PostgreSQL, MySQL, SQLServer and S3 (Parquet, CSV, JSON and EXCEL).
NumPy and Pandas interface to Big Data
Business Intelligence (BI) in Python, OLAP
Agile Data Preparation Workflows made easy with Pandas, Dask, cuDF, Dask-cuDF, Vaex and PySpark
Data Validation
Lightweight, extensible data validation library for Python
An implementation of the JSON Schema specification for Python
Schema validation just got Pythonic
Python Data Structures for Humans™.
Lightweight data validation and adaptation Python library.
CONTRIBUTIONS ONLY: Voluptuous, despite the name, is a Python data validation library.
Data Visualization
🐢 A collection of awesome browser-side JavaScript libraries, resources and shiny things.
Declarative statistical visualization library for Python
Interactive Data Visualization in the browser, from Python
Plotting library for IPython/Jupyter notebooks
Cartopy - a cartographic python library with matplotlib support
A curated list of awesome Dash (plotly) resources
Diagram as Code for prototyping cloud system architectures
A grammar of graphics for Python
Statistical data visualization in Python
Main repository for Vispy
Database
pickleDB is an open source key-value store using Python's json module.
TinyDB is a lightweight document oriented database optimized for your happiness :)
Python object-oriented database
Database Drivers
MySQL database connector for Python (with Python 3 support)
Pure Python MySQL Client
A curated list of awesome PostgreSQL software, libraries, tools and resources, inspired by awesome-mysql
PostgreSQL database access simplified
A collection of awesome sqlite tools, scripts, books, etc
A supercharged SQLite library for Python
ClickHouse Python Driver with native interface support
DataStax Python Driver for Apache Cassandra
A developer-friendly Python library to interact with Apache HBase
Python client for Apache Kafka
PyMongo - the Python driver for MongoDB
Redis Python Client
Motor - the async Python driver for MongoDB and Tornado or asyncio
Date and Time
A Python 3 library for parsing human-written times and dates
Useful extensions to the standard Python datetime features
Delorean: Time Travel Made Easy
Datetimes for Humans™
A Python library for dealing with dates
Python datetimes made easy
PyTime is an easy-use Python module which aims to operate date/time/datetime by string.
Friendly Python Dates
Debugging Tools
Integration of IPython pdb
pdb++, a drop-in replacement for pdb (the Python debugger)
Full-screen console debugger for Python
An improbable web debugger through WebSockets
Trace any Python program, anywhere!
Debugging manhole for python applications.
Debugger capable of attaching to and injecting code into python processes.
Hunter is a flexible code tracing toolkit.
(OLD REPO) Line-by-line profiling for Python - Current repo ->
Monitor Memory usage of Python code
Sampling profiler for Python programs
🔥 Pyflame: A Ptracing Profiler For Python. This project is deprecated and not maintained.
Visual profiler for Python
A configurable set of panels that display various debug information about the current request/response.
A drop-in replacement for Django's runserver.
A toolbar overlay for debugging Flask applications
🍦 Never use print() to debug again.
Parsing ELF and DWARF in Python
Deep Learning
A curated list of awesome Deep Learning tutorials, projects and communities.
Caffe: a fast open framework for deep learning.
Deep Learning for humans
Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, Javascript and more
Tensors and Dynamic neural networks in Python with strong GPU acceleration
Game Agent Framework. Helping you create AIs / Bots that learn to play any game you own!
An Open Source Machine Learning Framework for Everyone
Theano was a Python library that allows you to define, optimize, and evaluate mathematical expressions involving multi-dimensional arrays efficiently. It is being continued as aesara: www.github.com/pymc-devs/aesara
DevOps Tools
Ansible is a radically simple IT automation platform that makes your applications and systems easier to deploy and maintain. Automate everything from code deployment to network configuration to cloud management, in a language that approaches plain English, using SSH, with no agents to install on remote systems. https://docs.ansible.com.
pyinfra automates infrastructure super fast at massive scale. It can be used for ad-hoc command execution, service deployment, configuration management and more.
Software to automate the management and configuration of any infrastructure or application at scale. Get access to the Salt software package repository here:
Chef-like functionality for Fabric
Simple, Pythonic remote execution and deployment.
Tools for writing awesome Fabric files
Honcho: a python clone of Foreman. For managing Procfile-based applications.
Supervisor process control system for UNIX
Cross-platform lib for process and system monitoring in Python
Distributed Computing
Parallel computing with task scheduling
Luigi is a Python module that helps you build complex pipelines of batch jobs. It handles dependency resolution, workflow management, visualization etc. It also comes with Hadoop support built in.
Run MapReduce jobs on Hadoop or Amazon Web Services
An open source framework that provides a simple, universal API for building distributed applications. Ray is packaged with RLlib, a scalable reinforcement learning library, and Tune, a scalable hyperparameter tuning library.
Python Stream Processing
Run Python in Apache Storm topologies. Pythonic API, CLI tooling, and a topology DSL.
Distribution
Python virtualenvs in Debian packages
A tool used to obfuscate python scripts, bind obfuscated scripts to fixed machine or expire obfuscated scripts.
Freeze (package) Python programs into stand-alone executables
shiv is a command line utility for building fully self contained Python zipapps as outlined in PEP 441, but with all their dependencies included.
Documentation
Main repository for the Sphinx documentation builder
A curated list of awesome tools for Sphinx Python Documentation Generator
API Documentation for Python Projects
Literate-style documentation generator.
Downloader
AKShare is an elegant and simple financial data interface library for Python, built for human beings! 开源财经数据接口库
Official s3cmd repo -- Command line tool for managing Amazon S3 and CloudFront services
Super S3 command line tool
E-commerce
An Unofficial Alipay API for Python
Ecommerce for Mezzanine
A Django based shop system
Foreign exchange rates, Bitcoin price index and currency conversion using ratesapi.io
A Django app to accept payments from various payment processors via Pluggable backends.
Python money class with optional CLDR-backed locale-aware formatting and an extensible currency exchange solution.
Display money format and its filthy currencies, for all money lovers out there.
Editor Plugins and IDEs
Emacs Python Development Environment
Anaconda turns your Sublime Text 3 in a full featured Python development IDE including autocompletion, code linting, IDE features, autopep8 formating, McCabe complexity checker Vagrant and Docker support for Sublime Text 3 using Jedi, PyFlakes, pep8, MyPy, PyLint, pep257 and McCabe that will never freeze your Sublime Text 3
awesome Python autocompletion with SublimeText
Using the jedi autocompletion library for VIM.
Vim python-mode. PyLint, Rope, Pydoc, breakpoints from box.
A code-completion engine for Vim
Python Tools for Visual Studio
Official repository for Spyder - The Scientific Python Development Environment
Mail hosting made simple
A Python Mail Server
Python IMAP for Human beings
Send email in Python conveniently for gmail using yagmail
Python email address and Mime parsing library
A light-weight, modular, message representation and mail delivery framework for Python.
Enterprise Application Integrations
Environment Management
Simple Python version management
Virtual Python Environment builder
Files
Object-oriented file system path manipulation
Python's Filesystem abstraction layer
A python wrapper for libmagic
An object-oriented approach to Python file/directory operations.
Python library and shell utilities to monitor filesystem events.
Foreign Function Interface
Forms
A Python HTML form library.
Bootstrap 3 integration with Django.
Bootstrap 4 integration with Django.
The best way to have DRY Django forms. The app provides a tag and filter that lets you quickly render forms in a div format while providing an enormous amount of capability to configure and control the rendered HTML.
A platform independent django form serializer
A flexible forms validation and rendering library for Python.
Functional Programming
Simple, elegant, Pythonic functional programming.
Cython implementation of Toolz: High performance functional utilities
Functional programming in Python: implementation of missing features to enjoy FP
A fancy and practical functional tools
More routines for operating on iterables, beyond itertools
Make your functions return something meaningful, typed, and safe!
A functional standard library for Python.
GUI Development
A little Python library for making simple Electron-like HTML/JS GUI apps
Declarative User Interfaces for Python
Write desktop and web apps in pure Python
Turn (almost) any Python command line program into a full GUI application with one line
pyglet is a cross-platform windowing and multimedia library for Python, for developing games and other visually rich applications.
Launched in 2018. It's 2022 and PySimpleGUI is actively developed & supported. Create complex windows simply. Supports tkinter, Qt, WxPython, Remi (in browser). Create GUI applications trivially with a full set of widgets. Multi-Window applications are also simple. 3.4 to 3.11 supported. 325+ Demo programs & Cookbook for rapid start. Extensive documentation. Examples for Machine Learning(OpenCV Integration, Chatterbot), Rainmeter-like Desktop Widgets, Matplotlib + Pyplot integration, add GUI to command line scripts, PDF & Image Viewer. For both beginning and advanced programmers. docs - PySimpleGUI.org GitHub - PySimpleGUI.com. The Minecraft of GUIs - simple to complex... does them all.
Build GUI for your Python program with JavaScript, HTML, and CSS
A Python native, OS native GUI toolkit.
Dear PyGui: A fast and powerful Graphical User Interface Toolkit for Python with minimal dependencies
ncurses used to create terminal GUI applications.
GraphQL
GraphQL framework for Python
tartiflette-aiohttp is a wrapper of aiohttp which includes the Tartiflette GraphQL Engine, do not hesitate to take a look of the Tartiflette project.
ASGI support for the Tartiflette GraphQL engine
Game Development
Geolocation
A Django application that provides country choices for use with forms, flag icons static files, and a country field for models.
GeoIP Legacy Python API
Python bindings and utilities for GeoJSON
Geocoding library for Python.
HTML Manipulation
Bleach is an allowed-list-based HTML sanitizing library that escapes or strips markup and attributes
Standards-compliant library for parsing and serializing HTML documents and fragments in Python
Safely add untrusted strings to HTML/XML markup.
A jquery-like library for python
Converts XML to Python objects
Python module that makes working with XML feel like you are working with JSON
HTTP Clients
Requests + Gevent = <3
Small, fast HTTP client library for Python. Features persistent connections, cache, and Google App Engine support. Originally written by Joe Gregorio, now supported by community.
A next generation HTTP client for Python. 🦋
A simple, yet elegant, HTTP library.
Python requests like API built on top of Twisted's HTTP client.
Python HTTP library with thread-safe connection pooling, file post support, user friendly, and more.