A curated list of awesome Python frameworks, libraries, software and resources.
Inspired by awesome-php.
- Awesome Python
- Admin Panels
- Algorithms and Design Patterns
- ASGI Servers
- Asynchronous Programming
- Audio
- Authentication
- Build Tools
- Built-in Classes Enhancement
- Caching
- ChatOps Tools
- CMS
- Code Analysis
- Command-line Interface Development
- Command-line Tools
- Compatibility
- Computer Vision
- Concurrency and Parallelism
- Configuration
- Cryptography
- Data Analysis
- Data Validation
- Data Visualization
- Database Drivers
- Database
- Date and Time
- Debugging Tools
- Deep Learning
- DevOps Tools
- Distributed Computing
- Distribution
- Documentation
- Downloader
- E-commerce
- Editor Plugins and IDEs
- Enterprise Application Integrations
- Environment Management
- Files
- Foreign Function Interface
- Forms
- Functional Programming
- Game Development
- Geolocation
- GUI Development
- Hardware
- HTML Manipulation
- HTTP Clients
- Image Processing
- Implementations
- Interactive Interpreter
- Internationalization
- Job Scheduler
- Logging
- Machine Learning
- Miscellaneous
- Natural Language Processing
- Network Virtualization
- News Feed
- ORM
- Package Management
- Package Repositories
- Penetration testing
- Permissions
- Processes
- Recommender Systems
- Refactoring
- RESTful API
- Robotics
- RPC Servers
- Science
- Search
- Serialization
- Serverless Frameworks
- Shell
- Specific Formats Processing
- Static Site Generator
- Tagging
- Task Queues
- Template Engine
- Testing
- Text Processing
- Third-party APIs
- URL Manipulation
- Video
- Web Asset Management
- Web Content Extracting
- Web Crawling
- Web Frameworks
- WebSocket
- WSGI Servers
- Resources
- Contributing
Libraries for administrative interfaces.
- ajenti - The admin panel your servers deserve.
- django-grappelli - A jazzy skin for the Django Admin-Interface.
- django-jet - Modern responsive template for the Django admin interface with improved functionality.
- django-suit - Alternative Django Admin-Interface (free only for Non-commercial use).
- django-xadmin - Drop-in replacement of Django admin comes with lots of goodies.
- flask-admin - Simple and extensible administrative interface framework for Flask.
- 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.
Python implementation of data structures, algorithms and design patterns. Also see awesome-algorithms.
- 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.
- Design Patterns
- 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.
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.
- asyncio - (Python standard library) Asynchronous I/O, event loop, coroutines and tasks.
- trio - A friendly library for async concurrency and I/O.
- Twisted - An event-driven networking engine.
- uvloop - Ultra fast asyncio event loop.
Libraries for manipulating audio and its metadata.
- 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.
- 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.
- Metadata
- 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.
Libraries for implementing authentications schemes.
- OAuth
- authlib - JavaScript Object Signing and Encryption draft implementation.
- django-allauth - Authentication app for Django that "just works."
- django-oauth-toolkit - OAuth 2 goodies for Django.
- oauthlib - A generic and thorough implementation of the OAuth request-signing logic.
- python-oauth2 - A fully tested, abstract interface to creating OAuth clients and servers.
- python-social-auth - An easy-to-setup social authentication mechanism.
- JWT
- pyjwt - JSON Web Token implementation in Python.
- python-jose - A JOSE implementation in Python.
- python-jwt - A module for generating and verifying JSON Web Tokens.
Compile software from source code.
- 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.
Libraries for enhancing Python built-in 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.
- dataclasses - (Python standard library) Data classes.
- DottedDict - A library that provides a method of accessing lists and dicts with a dotted path notation. 236B
Content Management Systems.
- django-cms - An Open source enterprise CMS based on the Django.
- feincms - One of the most advanced Content Management Systems built on Django.
- indico - A feature-rich event management system, made @ CERN.
- Kotti - A high-level, Pythonic web application framework built on Pyramid.
- mezzanine - A powerful, consistent, and flexible content management platform.
- plone - A CMS built on top of the open source application server Zope.
- quokka - Flexible, extensible, small CMS powered by Flask and MongoDB.
- wagtail - A Django content management system.
Libraries for caching data.
- 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 next generation replacement for Beaker made by same authors.
- HermesCache - Python caching library with tag-based invalidation and dogpile effect prevention.
- pylibmc - A Python wrapper around the libmemcached interface.
- python-diskcache - SQLite and file backed cache backend with faster lookups than memcached and redis.
Libraries for chatbot development.
- errbot - The easiest and most popular chatbot to implement ChatOps.
Tools of static analysis, linters and code quality checkers. Also see awesome-static-analysis.
- Code Analysis
- coala - Language independent and easily extendable code analysis application.
- code2flow - Turn your Python and JavaScript code into DOT flowcharts.
- prospector - A tool to analyse Python code.
- pycallgraph - A library that visualises the flow (call graph) of your Python application.
- vulture - A tool for finding and analysing dead Python code.
- Code Linters
- flake8 - A wrapper around
pycodestyle,pyflakesand McCabe. - pylama - A code audit tool for Python and JavaScript.
- pylint - A fully customizable source code analyzer.
- wemake-python-styleguide - The strictest and most opinionated python linter ever.
- flake8 - A wrapper around
- Code Formatters
- Static Type Checkers, also see awesome-python-typing
- mypy - Check variable types during compile time.
- pyre-check - Performant type checking.
- typeshed - Collection of library stubs for Python, with static types.
- Static Type Annotations Generators
- MonkeyType - A system for Python that generates static type annotations by collecting runtime types.
- pyannotate - Auto-generate PEP-484 annotations.
- pytype - Pytype checks and infers types for Python code - without requiring type annotations.