Awesome Python Awesome

A curated list of awesome Python frameworks, libraries, software and resources.

Inspired by awesome-php.


Admin Panels

Libraries for administrative interfaces.

Algorithms and Design Patterns

Python implementation of data structures, algorithms and design patterns. Also see awesome-algorithms.

ASGI Servers

ASGI-compatible web servers.

Asynchronous Programming

Audio

Libraries for manipulating audio and its metadata.

Authentication

Libraries for implementing authentications schemes.

Build Tools

Compile software from source code.

Built-in Classes Enhancement

Libraries for enhancing Python built-in classes.

CMS

Content Management Systems.

Caching

Libraries for caching data.

ChatOps Tools

Libraries for chatbot development.

Code Analysis

Tools of static analysis, linters and code quality checkers. Also see awesome-static-analysis.

Command-line Interface Development

Libraries for building command-line applications.

Command-line Tools

Useful CLI-based tools for productivity.

Compatibility

Libraries for migrating from Python 2 to 3.

Computer Vision

Libraries for Computer Vision.

Concurrency and Parallelism

Libraries for concurrent and parallel execution. Also see awesome-asyncio.

Configuration

Libraries for storing and parsing configuration options.

Cryptography

Data Analysis

Libraries for data analyzing.

Data Validation

Libraries for validating data. Used for forms in many cases.

Data Visualization

Libraries for visualizing data. Also see awesome-javascript.

Database

Databases implemented in Python.

Database Drivers

Libraries for connecting and operating databases.

Date and Time

Libraries for working with dates and times.

Debugging Tools

Libraries for debugging code.

Deep Learning

Frameworks for Neural Networks and Deep Learning. Also see awesome-deep-learning.

DevOps Tools

Software and libraries for DevOps.

Distributed Computing

Frameworks and libraries for Distributed Computing.

Distribution

Libraries to create packaged executables for release distribution.

Documentation

Libraries for generating project documentation.

Downloader

Libraries for downloading.

E-commerce

Frameworks and libraries for e-commerce and payments.

Editor Plugins and IDEs

Email

Libraries for sending and parsing email.

Enterprise Application Integrations

Platforms and tools for systems integrations in enterprise environments

Environment Management

Libraries for Python version and virtual environment management.

File

Libraries for file manipulation and MIME type detection.

Foreign Function Interface

Libraries for providing foreign function interface.

Forms

Libraries for working with forms.

Functional Programming

Functional Programming with Python.

GUI Development

Libraries for working with graphical user interface applications.

GraphQL

Libraries for working with GraphQL.

Game Development

Awesome game development libraries.

Geolocation

Libraries for geocoding addresses and working with latitudes and longitudes.

HTML Manipulation

Libraries for working with HTML and XML.

HTTP Clients

Libraries for working with HTTP.

Hardware

Libraries for programming with hardware.

Image Processing

Libraries for manipulating images.

Implementations

Implementations of Python.

Interactive Interpreter

Interactive Python interpreters (REPL).

Internationalization

Libraries for working with i18n.

Job Scheduler

Libraries for scheduling jobs.

Logging

Libraries for generating and working with logs.

Machine Learning

Libraries for Machine Learning. Also see awesome-machine-learning.

Microsoft Windows

Python programming on Microsoft Windows.

Miscellaneous

Useful libraries or tools that don't fit in the categories above.

Natural Language Processing

Libraries for working with human languages.

Network Virtualization

Tools and libraries for Virtual Networking and SDN (Software Defined Networking).

News Feed

Libraries for building user's activities.

ORM

Libraries that implement Object-Relational Mapping or data mapping techniques.

Package Management

Libraries for package and dependency management.

Package Repositories

Local PyPI repository server and proxies.

Penetration Testing

Frameworks and tools for penetration testing.

Permissions

Libraries that allow or deny users access to data or functionality.

Processes

Libraries for starting and communicating with OS processes.

Recommender Systems

Libraries for building recommender systems.

Refactoring

Refactoring tools and libraries for Python

RESTful API

Libraries for building RESTful APIs.

Robotics

Libraries for robotics.

RPC Servers

RPC-compatible servers.

Science

Libraries for scientific computing. Also see Python-for-Scientists.

Libraries and software for indexing and performing search queries on data.

Serialization

Libraries for serializing complex data types

Serverless Frameworks

Frameworks for developing serverless Python code.

Shell

Shells based on Python.

Specific Formats Processing

Libraries for parsing and manipulating specific text formats.

Static Site Generator

Static site generator is a software that takes some text + templates as input and produces HTML files on the output.

Tagging

Libraries for tagging items.

Task Queues

Libraries for working with task queues.

Template Engine

Libraries and tools for templating and lexing.

Testing

Libraries for testing codebases and generating test data.

Text Processing

Libraries for parsing and manipulating plain texts.

Third-party APIs

Libraries for accessing third party services APIs. Also see List of Python API Wrappers and Libraries.

URL Manipulation

Libraries for parsing URLs.

Video

Libraries for manipulating video and GIFs.

Web Asset Management

Tools for managing, compressing and minifying website assets.

Web Content Extracting

Libraries for extracting web contents.

Web Crawling

Libraries to automate web scraping.

Web Frameworks

Traditional full stack web frameworks. Also see RESTful API.

WebSocket

Libraries for working with WebSocket.

WSGI Servers

WSGI-compatible web servers.

Resources

Where to discover learning resources or new Python libraries.

Books

Websites

Newsletters

Podcasts

Contributing

Your contributions are always welcome! Please take a look at the contribution guidelines first.

I will keep some pull requests open if I'm not sure whether those libraries are awesome, you could vote for them by adding :+1: to them. Pull requests will be merged when their votes reach 20.


If you have any question about this opinionated list, do not hesitate to contact me @VintaChen on Twitter or open an issue on GitHub.