awesome-python
An opinionated list of awesome Python frameworks, libraries, software and resources.
https://github.com/vinta/awesome-python
Last synced: about 5 hours ago
JSON representation
-
Data Visualization
- awesome-javascript
- Dash - Built on top of Flask, React and Plotly aimed at analytical web applications.
- Matplotlib - A Python 2D plotting library.
- Pygal - A Python SVG Charts Creator.
- PyGraphviz - Python interface to [Graphviz](http://www.graphviz.org/).
- PyQtGraph - Interactive and realtime 2D/3D/Image plotting and science/engineering widgets.
- matplotlib - A Python 2D plotting library.
- seaborn - Statistical data visualization using Matplotlib.
- bokeh - Interactive Web Plotting for Python.
- diagrams - Diagram as Code.
- pyqtgraph - Interactive and realtime 2D/3D/Image plotting and science/engineering widgets.
- pygal - A Python SVG Charts Creator.
- plotnine - A grammar of graphics for Python based on ggplot2.
- vispy - High-performance scientific visualization based on OpenGL.
- cartopy - A cartographic python library with matplotlib support.
- altair - Declarative statistical visualization library for Python.
- pygraphviz - Python interface to [Graphviz](http://www.graphviz.org/).
-
Asynchronous Programming
- awesome-asyncio
- asyncio - (Python standard library) Asynchronous I/O, event loop, coroutines and tasks.
- concurrent.futures - (Python standard library) A high-level interface for asynchronously executing callables.
- multiprocessing - (Python standard library) Process-based parallelism.
- trio - A friendly library for async concurrency and I/O.
- uvloop - Ultra fast asyncio event loop.
- twisted - An event-driven networking engine.
- eventlet - Asynchronous framework with WSGI support.
- gevent - A coroutine-based Python networking library that uses [greenlet](https://github.com/python-greenlet/greenlet).
-
Code Analysis
- awesome-python-typing
- pylint - A fully customizable source code analyzer.
- mypy - Check variable types during compile time.
- black - The uncompromising Python code formatter.
- yapf - Yet another Python code formatter from Google.
- ruff - An extremely fast Python linter and code formatter.
- mypy - Check variable types during compile time.
- pytype - Pytype checks and infers types for Python code - without requiring type annotations.
- pyre-check - Performant type checking.
- monkeytype - A system for Python that generates static type annotations by collecting runtime types.
- vulture - A tool for finding and analysing dead Python code.
- code2flow - Turn your Python and JavaScript code into DOT flowcharts.
- pylint - A fully customizable source code analyzer.
- flake8 - A wrapper around `pycodestyle`, `pyflakes` and McCabe.
- typeshed - Collection of library stubs for Python, with static types.
- awesome-flake8-extensions
- isort - A Python utility / library to sort imports.
- awesome-static-analysis
- prospector - A tool to analyse Python code.
-
Web Frameworks
- awesome-pyramid
- Django - The most popular web framework in Python.
- pyramid - A small, fast, down-to-earth, open source Python web framework.
- Tornado - A web framework and asynchronous networking library.
- tornado - A web framework and asynchronous networking library.
- flask - A microframework for Python.
- django - The most popular web framework in Python.
- awesome-flask
- awesome-django
- masonite - The modern and developer centric Python web framework.
- awesome-django
-
Machine Learning
- awesome-machine-learning
- scikit-learn - The most popular Python library for Machine Learning.
- Spark ML - [Apache Spark](http://spark.apache.org/)'s scalable Machine Learning library.
- gym - A toolkit for developing and comparing reinforcement learning algorithms.
- H2O - Open Source Fast Scalable Machine Learning Platform.
- xgboost - A scalable, portable, and distributed gradient boosting library.
- MindsDB - MindsDB is an open source AI layer for existing databases that allows you to effortlessly develop, train and deploy state-of-the-art machine learning models using standard queries.
- Metrics - Machine learning evaluation metrics.
- vowpal_porpoise - A lightweight Python wrapper for [Vowpal Wabbit](https://github.com/JohnLangford/vowpal_wabbit/).
- NuPIC - Numenta Platform for Intelligent Computing.
- scikit-learn - The most popular Python library for Machine Learning.
-
Deep Learning
- awesome-deep-learning
- tensorflow - The most popular Deep Learning framework created by Google.
- keras - A high-level neural networks library and capable of running on top of either TensorFlow or Theano.
- theano - A library for fast numerical computation.
- pytorch - Tensors and Dynamic neural networks in Python with strong GPU acceleration.
- pytorch-lightning - Deep learning framework to train, deploy, and ship AI products Lightning fast.
- stable-baselines3 - PyTorch implementations of Stable Baselines (deep) reinforcement learning algorithms.
-
Algorithms and Design Patterns
- awesome-algorithms
- sortedcontainers - Fast and pure-Python implementation of sorted collections.
- python-patterns - A collection of design patterns in Python.
- pypattyrn - A simple yet effective library for implementing common design patterns.
- algorithms - Minimal examples of data structures and algorithms.
- python-ds - A collection of data structure and algorithms for coding interviews.
- thealgorithms - All Algorithms implemented in Python.
- transitions - A lightweight, object-oriented finite state machine implementation.
-
ORM
- awesome-sqlalchemy
- Django Models - The Django ORM.
- SQLAlchemy - The Python SQL Toolkit and Object Relational Mapper.
- peewee - A small, expressive ORM.
- orm - An async ORM.
- dataset - Store Python dicts in a database - works with SQLite, MySQL, and PostgreSQL.
- PynamoDB - A Pythonic interface for [Amazon DynamoDB](https://aws.amazon.com/dynamodb/).
- mongoengine - A Python Object-Document-Mapper for working with MongoDB.
- orator - The Orator ORM provides a simple yet beautiful ActiveRecord implementation.
- redisco - A Python Library for Simple Models and Containers Persisted in Redis.
- hot-redis - Rich Python data types for Redis.
- pony - ORM that provides a generator-oriented interface to SQL.
- pydal - A pure Python Database Abstraction Layer.
-
Database Drivers
- awesome-postgres
- psycopg2 - The most popular PostgreSQL adapter for Python.
- sqlite3 - (Python standard library) SQlite interface compliant with DB-API 2.0.
- pymssql - A simple database interface to Microsoft SQL Server.
- py2neo - A client library and toolkit for working with Neo4j.
- mysqlclient - MySQL connector with Python 3 support ([mysql-python](https://sourceforge.net/projects/mysql-python/) fork).
- redis-py - The Python client for Redis.
- awesome-sqlite
- pymysql - A pure Python MySQL driver compatible to mysql-python.
- sqlite-utils - Python CLI utility and library for manipulating SQLite databases.
- kafka-python - The Python client for Apache Kafka.
- motor - The async Python driver for MongoDB.
- pymongo - The official Python client for MongoDB.
- psycopg - The most popular PostgreSQL adapter for Python.
- cassandra-driver - The Python Driver for Apache Cassandra.
- happybase - A developer-friendly library for Apache HBase.
- clickhouse-driver - Python driver with native interface for ClickHouse.
- pymssql - A simple database interface to Microsoft SQL Server.
- awesome-mysql
-
Interactive Interpreter
- awesome-jupyter
- Jupyter Notebook (IPython) - A rich toolkit to help you make the most out of using Python interactively.
- bpython - A fancy interface to the Python interpreter.
- ptpython - Advanced Python REPL built on top of the [python-prompt-toolkit](https://github.com/jonathanslenders/python-prompt-toolkit).
-
Editor Plugins and IDEs
- PyCharm - Commercial Python IDE by JetBrains. Has free community edition available.
- Python - The official VSCode extension with rich support for Python.
- jedi-vim - Vim bindings for the Jedi auto-completion library for Python.
- spyder - Open Source Python IDE.
- python-mode - An all in one plugin for turning Vim into a Python IDE.
- elpy - Emacs Python Development Environment.
- PTVS - Python Tools for Visual Studio.
-
Downloader
- you-get - A YouTube/Youku/Niconico video downloader written in Python 3.
- s3cmd - A command line tool for managing Amazon S3 and CloudFront.
- youtube-dl - A command-line program to download videos from YouTube and other video sites.
- akshare - A financial data interface library, built for human beings!
-
Admin Panels
- django-grappelli - A jazzy skin for the Django Admin-Interface.
- django-suit - Alternative Django Admin-Interface (free only for Non-commercial use).
- 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.
- django-grappelli - A jazzy skin for the Django Admin-Interface.
- flask-admin - Simple and extensible administrative interface framework for Flask.
-
ASGI Servers
-
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.
- bitbake - A make-like build tool for embedded Linux.
- buildout - A build system for creating, assembling and deploying applications from multiple parts.
-
Built-in Classes Enhancement
- dataclasses - (Python standard library) Data classes.
- bidict - Efficient, Pythonic bidirectional map data structures and related functionality..
- attrs - Replacement for `__init__`, `__eq__`, `__repr__`, etc. boilerplate in class definitions.
- 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.
-
CMS
- django-cms - An Open source enterprise CMS based on the Django.
- plone - A CMS built on top of the open source application server Zope.
- wagtail - A Django content management system.
- wagtail - A Django content management system.
- feincms - One of the most advanced Content Management Systems built on Django.
- indico - A feature-rich event management system, made @ [CERN](https://en.wikipedia.org/wiki/CERN).
-
Caching
- dogpile.cache - dogpile.cache is a next generation replacement for Beaker made by the same authors.
- hermescache - Python caching library with tag-based invalidation and dogpile effect prevention.
- python-diskcache - SQLite and file backed cache backend with faster lookups than memcached and redis.
- django-cacheops - A slick ORM cache with automatic granular event-driven invalidation.
- django-cache-machine - Automatic caching and invalidation for Django models.
- python-diskcache - SQLite and file backed cache backend with faster lookups than memcached and redis.
- beaker - A WSGI middleware for sessions and caching.
- pylibmc - A Python wrapper around the [libmemcached](https://libmemcached.org/libMemcached.html) interface.
- dogpile.cache - dogpile.cache is a next generation replacement for Beaker made by the same authors.
-
Command-line Interface Development
- cement - CLI Application Framework for Python.
- cliff - A framework for creating command-line programs with multi-level commands.
- docopt - Pythonic command line arguments parser.
- colorama - Cross-platform colored terminal text.
- python-fire - A library for creating command line interfaces from absolutely any Python object.
- 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.
- 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.
- python-prompt-toolkit - A library for building powerful interactive command lines.
- cement - CLI Application Framework for Python.
- alive-progress - A new kind of Progress Bar, with real-time throughput, eta and very cool animations.
- cliff - A framework for creating command-line programs with multi-level commands.
- click - A package for creating beautiful command line interfaces in a composable way.
-
Compatibility
- python-future - The missing compatibility layer between Python 2 and Python 3.
- six - Python 2 and 3 compatibility utilities.
-
Computer Vision
- opencv - Open Source Computer Vision Library.
- easyocr - Ready-to-use OCR with 40+ languages supported.
- pytesseract - A wrapper for [Google Tesseract OCR](https://github.com/tesseract-ocr).
- tesserocr - Another simple, Pillow-friendly, wrapper around the `tesseract-ocr` API for OCR.
- kornia - Open Source Differentiable Computer Vision Library for PyTorch.
-
Concurrency and Parallelism
-
Configuration Files
- configparser - (Python standard library) INI file parser.
- python-decouple - Strict separation of settings from code.
- configobj - INI file parser with validation.
- hydra - Hydra is a framework for elegantly configuring complex applications.
-
Configuration
- profig - Config from multiple formats with value conversion.
-
Cryptography
- cryptography - A package designed to expose cryptographic primitives and recipes to Python developers.
- passlib - Secure password storage/hashing library, very high level.
- pynacl - Python binding to the Networking and Cryptography (NaCl) library.
- paramiko - The leading native Python SSHv2 protocol library.
- cryptography - A package designed to expose cryptographic primitives and recipes to Python developers.
-
Data Analysis
- Orange - Data mining, data visualization, analysis and machine learning through visual programming or scripts.
- pandas - A library providing high-performance, easy-to-use data structures and data analysis tools.
- datasette - An open source multi-tool for exploring and publishing data.
- optimus - Agile Data Science Workflows made easy with PySpark.
- aws-sdk-pandas - Pandas on AWS.
-
Data Validation
- colander - Validating and deserializing data obtained via XML, JSON, an HTML form post.
- schematics - Data Structure Validation.
- schema - A library for validating Python data structures.
- pydantic - Data validation using Python type hints.
- cerberus - A lightweight and extensible data validation library.
- jsonschema - An implementation of [JSON Schema](http://json-schema.org/) for Python.
- voluptuous - A Python data validation library.
- colander - Validating and deserializing data obtained via XML, JSON, an HTML form post.
-
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.
- pytz - World timezone definitions, modern and historical. Brings the [tz database](https://en.wikipedia.org/wiki/Tz_database) into Python.
- 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](https://docs.python.org/3/library/datetime.html) module.
- pendulum - Python datetimes made easy.
-
DevOps Tools
- cloudinit - A multi-distribution package that handles early initialization of a cloud instance.
- openstack - Open source software for building private and public clouds.
- BorgBackup - A deduplicating archiver with compression and encryption.
- docker-compose - Fast, isolated development environments using [Docker](https://www.docker.com/).
- borg - A deduplicating archiver with compression and encryption.
- supervisor - Supervisor process control system for UNIX.
- ansible - A radically simple IT automation platform.
- saltstack - Infrastructure automation and management system.
- fabric - A simple, Pythonic tool for remote execution and deployment.
- psutil - A cross-platform process and system utilities module.
- cloudinit - A multi-distribution package that handles early initialization of a cloud instance.
- pyinfra - A versatile CLI tools and python libraries to automate infrastructure.
- cuisine - Chef-like functionality for Fabric.
-
Distribution
- Nuitka - Compile scripts, modules, packages to an executable or extension module.
- py2app - Freezes Python scripts (Mac OS X).
- py2exe - Freezes Python scripts (Windows).
- pynsist - A tool to build Windows installers, installers bundle Python itself.
- pyinstaller - Converts Python programs into stand-alone executables (cross-platform).
- shiv - A command line utility for building fully self-contained zipapps (PEP 441), but with all their dependencies included.
- pyarmor - A tool used to obfuscate python scripts, bind obfuscated scripts to fixed machine or expire obfuscated scripts.
- py2exe - Freezes Python scripts (Windows).
- py2app - Freezes Python scripts (Mac OS X).
-
E-commerce
- django-oscar - An open-source e-commerce framework for Django.
- saleor - Headless open-source e-commerce platform.
- shoop - An open source E-Commerce platform based on Django.
-
Enterprise Application Integrations
- Zato - ESB, SOA, REST, APIs and Cloud Integrations in Python.
-
File Manipulation
- mimetypes - (Python standard library) Map filenames to MIME types.
- pathlib - (Python standard library) An cross-platform, object-oriented path library.
- watchdog - API and shell utilities to monitor file system events.
- python-magic - A Python interface to the libmagic file type identification library.
- path.py - A module wrapper for [os.path](https://docs.python.org/3/library/os.path.html).
-
Foreign Function Interface
-
GUI Development
- curses - Built-in wrapper for [ncurses](http://www.gnu.org/software/ncurses/) used to create terminal GUI applications.
- kivy - A library for creating NUI applications, running on Windows, Linux, Mac OS X, Android and iOS.
- PyGObject - Python Bindings for GLib/GObject/GIO/GTK+ (GTK+3).
- PyQt - Python bindings for the [Qt](https://www.qt.io/) cross-platform application and UI framework.
- Tkinter - Tkinter is Python's de-facto standard GUI package.
- urwid - A library for creating terminal GUI applications with strong support for widgets, events, rich colors, etc.
- wxPython - A blending of the wxWidgets C++ class library with the Python.
- PyQt - Python bindings for the [Qt](https://www.qt.io/) cross-platform application and UI framework.
- PyGObject - Python Bindings for GLib/GObject/GIO/GTK+ (GTK+3).
- PyGObject - Python Bindings for GLib/GObject/GIO/GTK+ (GTK+3).
- Gooey - Turn command line programs into a full GUI application with one line.
- PySimpleGUI - Wrapper for tkinter, Qt, WxPython and Remi.
- enaml - Creating beautiful user-interfaces with Declarative Syntax like QML.
- pyglet - A cross-platform windowing and multimedia library for Python.
- Eel - A library for making simple Electron-like offline HTML/JS GUI apps.
- Toga - A Python native, OS native GUI toolkit.
- urwid - A library for creating terminal GUI applications with strong support for widgets, events, rich colors, etc.
- Flexx - Flexx is a pure Python toolkit for creating GUI's, that uses web technology for its rendering.
- pywebview - A lightweight cross-platform native wrapper around a webview component.
- DearPyGui - A Simple GPU accelerated Python GUI framework
-
Game Development
- Arcade - Arcade is a modern Python framework for crafting games with compelling graphics and sound.
- Cocos2d - cocos2d is a framework for building 2D games, demos, and other graphical/interactive applications.
- Harfang3D - Python framework for 3D, VR and game development.
- Panda3D - 3D game engine developed by Disney.
- Pygame - Pygame is a set of Python modules designed for writing games.
- PyOgre - Python bindings for the Ogre 3D render engine, can be used for games, simulations, anything 3D.
- PyOpenGL - Python ctypes bindings for OpenGL and it's related APIs.
- PySDL2 - A ctypes based wrapper for the SDL2 library.
- RenPy - A Visual Novel engine.
- Cocos2d - cocos2d is a framework for building 2D games, demos, and other graphical/interactive applications.
- Pygame - Pygame is a set of Python modules designed for writing games.
- Harfang3D - Python framework for 3D, VR and game development.
- PySDL2 - A ctypes based wrapper for the SDL2 library.
-
Geolocation
- geodjango - A world-class geographic web framework.
- geopy - Python Geocoding Toolbox.
- django-countries - A Django app that provides a country field for models and forms.
- geojson - Python bindings and utilities for GeoJSON.
-
HTML Manipulation
- beautifulsoup - Providing Pythonic idioms for iterating, searching, and modifying HTML or XML.
- cssutils - A CSS library for Python.
- lxml - A very fast, easy-to-use and versatile library for handling HTML and XML.
- WeasyPrint - A visual rendering engine for HTML and CSS that can export to PDF.
- xmldataset - Simple XML Parsing.
- bleach - A whitelist-based HTML sanitization and text linkification library.
- pyquery - A jQuery-like library for parsing HTML.
- xmltodict - Working with XML feel like you are working with JSON.
- markupsafe - Implements a XML/HTML/XHTML Markup safe string for Python.
- untangle - Converts XML documents to Python objects for easy access.
- html5lib - A standards-compliant library for parsing and serializing HTML documents and fragments.
-
Hardware
- ino - Command line toolkit for working with [Arduino](https://www.arduino.cc/).
- Pingo - Pingo provides a uniform API to program devices like the Raspberry Pi, pcDuino, Intel Galileo, etc.
- keyboard - Hook and simulate global keyboard events on Windows and Linux.
- scapy - A brilliant packet manipulation library.
- mouse - Hook and simulate global mouse events on Windows and Linux.
- pynput - A library to control and monitor input devices.
-
Image Processing
- imgSeek - A project for searching a collection of images using visual similarity.
- scikit-image - A Python library for (scientific) image processing.
- thumbor - A smart imaging service. It enables on-demand crop, re-sizing and flipping of images.
- pillow - Pillow is the friendly [PIL](http://www.pythonware.com/products/pil/) fork.
- pywal - A tool that generates color schemes from images.
- wand - Python bindings for [MagickWand](http://www.imagemagick.org/script/magick-wand.php), C API for ImageMagick.
- quads - Computer art based on quadtrees.
- pyvips - A fast image processing library with low memory needs.
- python-qrcode - A pure Python QR Code generator.
- python-barcode - Create barcodes in Python with no extra dependencies.
-
Implementations
- Cython - Optimizing Static Compiler for Python.
- Jython - Implementation of Python programming language written in Java for the JVM.
- Numba - Python JIT compiler to LLVM aimed at scientific Python.
- pypy - A very fast and compliant implementation of the Python language.
- micropython - A lean and efficient Python programming language implementation.
- cpython - **Default, most widely used implementation of the Python programming language written in C.**
- numba - Python JIT compiler to LLVM aimed at scientific Python.
- clpython - Implementation of the Python programming language written in Common Lisp.
- ironpython - Implementation of the Python programming language written in C#.
- cython - Optimizing Static Compiler for Python.
- peachpy - x86-64 assembler embedded in Python.
-
Internationalization
-
Job Scheduler
- Airflow - Airflow is a platform to programmatically author, schedule and monitor workflows.
- APScheduler - A light but powerful in-process task scheduler that lets you schedule functions.
- doit - A task runner and build tool.
- Joblib - A set of tools to provide lightweight pipelining in Python.
- TaskFlow - A Python library that helps to make task execution easy, consistent and reliable.
- schedule - Python job scheduling for humans.
- Plan - Writing crontab file in Python like a charm.
- Prefect - A modern workflow orchestration framework that makes it easy to build, schedule and monitor robust data pipelines.
- gunnery - Multipurpose task execution tool for distributed systems with web-based interface.
- django-schedule - A calendaring app for Django.
- Spiff - A powerful workflow engine implemented in pure Python.
- Joblib - A set of tools to provide lightweight pipelining in Python.
-
Logging
- logbook - Logging replacement for Python.
- logging - (Python standard library) Logging facility for Python.
- structlog - Structured logging made easy.
- sentry-python - Sentry SDK for Python.
- loguru - Library which aims to bring enjoyable logging in Python.
-
Microsoft Windows
- Python(x,y) - Scientific-applications-oriented Python Distribution based on Qt and Spyder.
- WinPython - Portable development environment for Windows 7/8.
- PyWin32 - Python Extensions for Windows.
- PythonNet - Python Integration with the .NET Common Language Runtime (CLR).
- Python(x,y) - Scientific-applications-oriented Python Distribution based on Qt and Spyder.
- pythonlibs - Unofficial Windows binaries for Python extension packages.
-
Miscellaneous
- tryton - A general purpose business framework.
- boltons - A set of pure-Python utilities.
- magenta - A tool to generate music and art using artificial intelligence.
- pluginbase - A simple but flexible plugin system for Python.
- itsdangerous - Various helpers to pass trusted data to untrusted environments.
- blinker - A fast Python in-process signal/event dispatching system.
-
Natural Language Processing
- nltk - A leading platform for building Python programs to work with human language data.
- spacy - A library for industrial-strength natural language processing in Python and Cython.
- jieba - The most popular Chinese text segmentation library.
- pytext - A natural language modeling framework based on PyTorch.
- Stanza - The Stanford NLP Group's official Python library, supporting 60+ languages.
- funNLP - A collection of tools and datasets for Chinese NLP.
- pattern - A web mining module.
- PyTorch-NLP - A toolkit enabling rapid deep learning NLP prototyping for research.
- snownlp - A library for processing Chinese text.
- polyglot - Natural language pipeline supporting hundreds of languages.
- pkuseg-python - A toolkit for Chinese word segmentation in various domains.
- langid.py - Stand-alone language identification system.
- gensim - Topic Modeling for Humans.
-
Package Management
-
Processes
- sarge - Yet another wrapper for subprocess.
- sh - A full-fledged subprocess replacement for Python.
- delegator.py - [Subprocesses](https://docs.python.org/3/library/subprocess.html) for Humans 2.0.
-
Refactoring
- Bicycle Repair Man - Bicycle Repair Man, a refactoring tool for Python.
- Bowler - Safe code refactoring for modern Python.
- Rope - Rope is a python refactoring library.
-
RESTful API
- django-rest-framework - A powerful and flexible toolkit to build web APIs.
- django-tastypie - Creating delicious APIs for Django apps.
- vibora - Fast, efficient and asynchronous Web framework inspired by Flask.
- falcon - A high-performance framework for building cloud APIs and web app backends.
- django-rest-framework - A powerful and flexible toolkit to build web APIs.
- eve - REST API framework powered by Flask, MongoDB and good intentions.
- sanic - A Python 3.6+ web server and web framework that's written to go fast.
- django-tastypie - Creating delicious APIs for Django apps.
- flask-restful - Quickly building REST APIs for Flask.
- hug - A Python 3 framework for cleanly exposing APIs.
- flask-api - Browsable Web APIs for Flask.
- sandman2 - Automated REST APIs for existing database-driven systems.
- cornice - A RESTful framework for Pyramid.
- fastapi - A modern, fast, web framework for building APIs with Python 3.6+ based on standard Python type hints.
-
Robotics
- rospy - This is a library for ROS (Robot Operating System).
- PythonRobotics - This is a compilation of various robotics algorithms with visualizations.
- rospy - This is a library for ROS (Robot Operating System).
-
Science
- astropy - A community Python library for Astronomy.
- Biopython - Biopython is a set of freely available tools for biological computation.
- cclib - A library for parsing and interpreting the results of computational chemistry packages.
- Colour - Implementing a comprehensive number of colour theory transformations and algorithms.
- NetworkX - A high-productivity software for complex networks.
- NIPY - A collection of neuroimaging toolkits.
- NumPy - A fundamental package for scientific computing with Python.
- PyDy - Short for Python Dynamics, used to assist with workflow in the modeling of dynamic motion.
- QuTiP - Quantum Toolbox in Python.
- RDKit - Cheminformatics and Machine Learning Software.
- SciPy - A Python-based ecosystem of open-source software for mathematics, science, and engineering.
- Open Babel - A chemical toolbox designed to speak the many languages of chemical data.
- Zipline - A Pythonic algorithmic trading library.
- SymPy - A Python library for symbolic mathematics.
- statsmodels - Statistical modeling and econometrics in Python.
- Karate Club - Unsupervised machine learning toolbox for graph structured data.
- bccb - Collection of useful code related to biological analysis.
- Python-for-Scientists
- SimPy - A process-based discrete-event simulation framework.
- SciPy - A Python-based ecosystem of open-source software for mathematics, science, and engineering.
- PyMC - Markov Chain Monte Carlo sampling toolkit.
- bcbio-nextgen - Providing best-practice pipelines for fully automated high throughput sequencing analysis.
- ObsPy - A Python toolbox for seismology.
-
Search
- elasticsearch-py - The official low-level Python client for [Elasticsearch](https://www.elastic.co/products/elasticsearch).
- whoosh - A fast, pure Python search engine library.
- django-haystack - Modular search for Django.
- elasticsearch-dsl-py - The official high-level Python client for Elasticsearch.
- pysolr - A lightweight Python wrapper for [Apache Solr](https://lucene.apache.org/solr/).
-
Specific Formats Processing
- openpyxl - A library for reading and writing Excel 2010 xlsx/xlsm/xltx/xltm files.
- ReportLab - Allowing Rapid creation of rich PDF documents.
- PyYAML - YAML implementations for Python.
- pdfminer.six - Pdfminer.six is a community maintained fork of the original PDFMiner.
- csvkit - Utilities for converting to and working with CSV.
- python-docx - Reads, queries and modifies Microsoft Word 2007/2008 docx files.
- Mistune - Fastest and full featured pure Python parsers of Markdown.
- tablib - A module for Tabular Datasets in XLS, CSV, JSON, YAML.
- pyexcel - Providing one API for reading, manipulating and writing csv, ods, xls, xlsx and xlsm files.
- XlsxWriter - A Python module for creating Excel .xlsx files.
- unp - A command line tool that can unpack archives easily.
- xlwt - excel/xlrd) - Writing and reading data and formatting information from Excel files.
- docxtpl - Editing a docx document by jinja2 template
- unoconv - Convert between any document format supported by LibreOffice/OpenOffice.
- python-pptx - Python library for creating and updating PowerPoint (.pptx) files.
- PyPDF2 - A library capable of splitting, merging and transforming PDF pages.
- Python-Markdown - A Python implementation of John Gruber’s Markdown.
- xlwings - A BSD-licensed library that makes it easy to call Python from Excel and vice versa.
-
Task Queues
- celery - An asynchronous task queue/job queue based on distributed message passing.
- huey - Little multi-threaded task queue.
- dramatiq - A fast and reliable background task processing library for Python 3.
- rq - Simple job queues for Python.
- mrq - A distributed worker task queue in Python using Redis & gevent.
-
Template Engine
-
Testing
- pytest - A mature full-featured Python testing tool.
- unittest - (Python standard library) Unit testing framework.
- mamba - The definitive testing tool for Python. Born under the banner of BDD.
- tox - Auto builds and tests distributions in multiple Python versions
- mock - (Python standard library) A mocking and patching library.
- fake2db - Fake database generator.
- locust - Scalable user load testing tool written in Python.
- factory_boy - A test fixtures replacement for Python.
- faker - A Python package that generates fake data.
- mixer - Another fixtures replacement. Supports Django, Flask, SQLAlchemy, Peewee and etc.
- PyAutoGUI - PyAutoGUI is a cross-platform GUI automation Python module for human beings.
- responses - A utility library for mocking out the requests Python library.
- mimesis - is a Python library that help you generate fake data.
- VCR.py - Record and replay HTTP interactions on your tests.
- hypothesis - Hypothesis is an advanced Quickcheck style property based testing library.
- splinter - Open source tool for testing web applications.
- Robot Framework - A generic test automation framework.
- nose2 - The successor to `nose`, based on `unittest2.
- freezegun - Travel through time by mocking the datetime module.
- mocket - A socket mock framework with gevent/asyncio/SSL support.
- httpretty - HTTP request mock tool for Python.
- httmock - A mocking library for requests for Python 2.6+ and 3.2+.
- green - A clean, colorful test runner.
- model_mommy - Creating random fixtures for testing in Django.
- sixpack - A language-agnostic A/B Testing framework.
- Selenium - Python bindings for [Selenium](https://selenium.dev/) [WebDriver](https://selenium.dev/documentation/webdriver/).
- coverage - Code coverage measurement.
-
Text Processing
- difflib - (Python standard library) Helpers for computing deltas.
- unidecode - ASCII transliterations of Unicode text.
- pygments - A generic syntax highlighter.
- python-phonenumbers - Parsing, formatting, storing and validating international phone numbers.
- python-slugify - A Python slugify library that translates unicode to ASCII.
- fuzzywuzzy - Fuzzy String Matching.
- pypinyin - Convert Chinese hanzi (漢字) to pinyin (拼音).
- chardet - Python 2/3 compatible character encoding detector.
- pyfiglet - An implementation of figlet written in Python.
- ply - Implementation of lex and yacc parsing tools for Python.
- pyparsing - A general purpose framework for generating parsers.
- hashids - Implementation of [hashids](http://hashids.org) in Python.
- sqlparse - A non-validating SQL parser.
- shortuuid - A generator library for concise, unambiguous and URL-safe UUIDs.
- python-user-agents - Browser user agent parser.
- pangu.py - Paranoid text spacing.
- python-nameparser - Parsing human names into their individual components.
- unicode-slugify - A slugifier that generates unicode slugs with Django as a dependency.
- ftfy - Makes Unicode text less broken and more consistent automagically.
- awesome-slugify - A Python slugify library that can preserve unicode.
- Levenshtein - Fast computation of Levenshtein distance and string similarity.
-
Third-party APIs
- apache-libcloud - One Python library for all clouds.
- boto3 - Python interface to Amazon Web Services.
- twython - A Python wrapper for the Twitter API.
- gspread - Google Spreadsheets Python API.
- facebook-sdk - Facebook Platform Python SDK.
- List of Python API Wrappers and Libraries
- django-wordpress - WordPress models and views for Django.
- google-api-python-client - Google APIs Client Library for Python.
-
Web Asset Management
- fanstatic - Packages, optimizes, and serves static file dependencies as Python packages.
- django-storages - A collection of custom storage back ends for Django.
- django-compressor - Compresses linked and inline JavaScript or CSS into a single cached file.
- flask-assets - Helps you integrate webassets into your Flask app.
- django-pipeline - An asset packaging library for Django.
- webassets - Bundles, optimizes, and manages unique cache-busting URLs for static resources.
- fanstatic - Packages, optimizes, and serves static file dependencies as Python packages.
-
Web Crawling
- feedparser - Universal feed parser.
- grab - Site scraping framework.
- mechanicalsoup - A Python library for automating interaction with websites.
- feedparser - Universal feed parser.
- scrapy - A fast high-level screen scraping and web crawling framework.
-
WSGI Servers
- uwsgi - A project aims at developing a full stack for building hosting services, written in C.
- werkzeug - A WSGI utility library for Python that powers Flask and can easily be embedded into your own projects.
- gunicorn - Pre-forked, ported from Ruby's Unicorn project.
- waitress - Multi-threaded, powers Pyramid.
-
Books
-
Websites
-
Newsletters
-
Podcasts
-
Environment Management
- pyenv - Simple Python version management.
- virtualenv - A tool to create isolated Python environments.
-
Command-line Tools
- howdoi - Instant coding answers via the command line.
- pathpicker - Select files out of bash output.
- thefuck - Correcting your previous console command.
- doitlive - A tool for live presentations in the terminal.
- httpie - A command line HTTP client, a user-friendly cURL replacement.
- iredis - Redis CLI with autocompletion and syntax highlighting.
- tmuxp - A [tmux](https://github.com/tmux/tmux) session manager.
- try - A dead simple CLI to try out python packages - it's never been easier.
- mycli - MySQL CLI with autocompletion and syntax highlighting.
- pgcli - PostgreSQL CLI with autocompletion and syntax highlighting.
- litecli - SQLite CLI with autocompletion and syntax highlighting.
- invoke - A tool for managing shell-oriented subprocesses and organizing executable Python code into CLI-invokable tasks.
- cookiecutter - A command-line utility that creates projects from cookiecutters (project templates).
- copier - A library and command-line utility for rendering projects templates.
-
Audio
- beets - A music library manager and [MusicBrainz](https://musicbrainz.org/) tagger.
- audioread - Cross-library (GStreamer + Core Audio + MAD + FFmpeg) audio decoding.
- audioFlux - A library for audio and music analysis, feature extraction.
- 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.
- 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.
- 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."
- pyjwt - JSON Web Token implementation in Python.
- oauthlib - A generic and thorough implementation of the OAuth request-signing logic.
- django-oauth-toolkit - OAuth 2 goodies for Django.
- python-jose - A JOSE implementation in Python.
-
Distributed Computing
- luigi - A module that helps you build complex pipelines of batch jobs.
- PySpark - [Apache Spark](https://spark.apache.org/) Python API.
- dask - A flexible parallel computing library for analytic computing.
- faust - A stream processing library, porting the ideas from [Kafka Streams](https://kafka.apache.org/documentation/streams/) to Python.
- streamparse - Run Python code against real-time streams of data via [Apache Storm](http://storm.apache.org/).
- Ray - A system for parallel and distributed Python that unifies the machine learning ecosystem.
-
News Feed
- Stream Framework - Building news feed and notification systems using Cassandra and Redis.
- django-activity-stream - Generating generic activity streams from the actions on your site.
-
Recommender Systems
- lightfm - A Python implementation of a number of popular recommendation algorithms.
- annoy - Approximate Nearest Neighbors in C++/Python optimized for memory usage.
- Surprise - A scikit for building and analyzing recommender systems.
- implicit - A fast Python implementation of collaborative filtering for implicit datasets.
- spotlight - Deep recommender models using PyTorch.
- tensorrec - A Recommendation Engine Framework in TensorFlow.
- fastFM - A library for Factorization Machines.
-
Penetration Testing
-
Database
-
Functional Programming
- toolz - A collection of functional utilities for iterators, functions, and dictionaries.
- funcy - A fancy and practical functional tools.
- returns - A set of type-safe monads, transformers, and composition utilities.
- coconut - A variant of Python built for simple, elegant, Pythonic functional programming.
- cytoolz - Cython implementation of `Toolz`: High performance functional utilities.
- more-itertools - More routines for operating on iterables, beyond `itertools`.
-
Debugging Tools
- pudb - A full-screen, console-based Python debugger.
- py-spy - A sampling profiler for Python programs. Written in Rust.
- flask-debugtoolbar - A port of the django-debug-toolbar to flask.
- pyelftools - Parsing and analyzing ELF files and DWARF debugging information.
- vprof - Visual Python profiler.
- icecream - Inspect variables, expressions, and program execution with a single, simple function call.
- python-hunter - A flexible code tracing toolkit.
- manhole - Debugging UNIX socket connections and present the stacktraces for all threads and an interactive prompt.
- ipdb - IPython-enabled [pdb](https://docs.python.org/3/library/pdb.html).
- django-debug-toolbar - Display various debug information for Django.
-
RPC Servers
-
Documentation
- pdoc - Epydoc replacement to auto generate API documentation for Python libraries.
- awesome-sphinxdoc
- sphinx - Python Documentation generator.
-
WebSocket
- channels - Developer-friendly asynchrony for Django.
- autobahn-python - WebSocket & WAMP for Python on Twisted and [asyncio](https://docs.python.org/3/library/asyncio.html).
- websockets - A library for building WebSocket servers and clients with a focus on correctness and simplicity.
-
Permissions
- django-guardian - Implementation of per object permissions for Django 1.2+
- django-rules - A tiny but powerful app providing object-level permissions to Django, without requiring a database.
-
Tagging
- django-taggit - Simple tagging for Django.
-
Static Site Generator
- nikola - A static website and blog generator.
- lektor - An easy to use static CMS and blog engine.
- pelican - Static site generator that supports Markdown and reST syntax.
- makesite - Simple, lightweight, and magic-free static site/blog generator (< 130 lines).
- mkdocs - Markdown friendly documentation generator.
-
Video
- moviepy - A module for script-based movie editing with many formats, including animated GIFs.
- vidgear - Most Powerful multi-threaded Video Processing framework.
- scikit-video - Video processing routines for SciPy.
-
Serialization
- python-rapidjson - A Python wrapper around [RapidJSON](https://github.com/Tencent/rapidjson).
- marshmallow - A lightweight library for converting complex objects to and from simple Python datatypes.
- pysimdjson - A Python bindings for [simdjson](https://github.com/lemire/simdjson).
- ultrajson - A fast JSON decoder and encoder written in C with Python bindings.
-
Network Virtualization
-
Web Content Extracting
- requests-html - Pythonic HTML Parsing for Humans.
- textract - Extract text from any document, Word, PowerPoint, PDFs, etc.
- newspaper - News extraction, article extraction and content curation in Python.
- html2text - Convert HTML to Markdown-formatted text.
- lassie - Web Content Retrieval for Humans.
- sumy - A module for automatic summarization of text documents and HTML pages.
- micawber - A small library for extracting rich content from URLs.
- python-readability - Fast Python port of arc90's readability tool.
- toapi - Every web site provides APIs.
-
HTTP Clients
-
Serverless Frameworks
- python-lambda - A toolkit for developing and deploying Python code in AWS Lambda.
- Zappa - A tool for deploying WSGI applications on AWS Lambda and API Gateway.
-
Package Repositories
- devpi - PyPI server and packaging/testing/release tool.
- warehouse - Next generation Python Package Repository (PyPI).
- bandersnatch - PyPI mirroring tool provided by Python Packaging Authority (PyPA).
-
URL Manipulation
- furl - A small Python library that makes parsing and manipulating URLs easy.
- webargs - A friendly library for parsing HTTP request arguments with built-in support for popular web frameworks.
- pyshorteners - A pure Python URL shortening lib.
- purl - A simple, immutable URL class with a clean API for interrogation and manipulation.
-
Email
-
GraphQL
- graphene - GraphQL framework for Python.
-
Shell
- xonsh - A Python-powered, cross-platform, Unix-gazing shell language and command prompt.
Programming Languages
Categories
Testing
27
Science
23
Text Processing
21
GUI Development
20
Database Drivers
19
Code Analysis
19
Specific Formats Processing
18
Data Visualization
17
Command-line Interface Development
15
Command-line Tools
14
Audio
14
RESTful API
14
Game Development
13
Natural Language Processing
13
DevOps Tools
13
ORM
13
Job Scheduler
12
HTML Manipulation
11
Machine Learning
11
Implementations
11
Web Frameworks
11
Debugging Tools
10
Podcasts
10
Image Processing
10
Asynchronous Programming
9
Caching
9
Admin Panels
9
Web Content Extracting
9
Distribution
9
Algorithms and Design Patterns
8
Third-party APIs
8
Data Validation
8
Editor Plugins and IDEs
7
Deep Learning
7
Web Asset Management
7
Build Tools
7
Websites
7
Recommender Systems
7
Microsoft Windows
6
Distributed Computing
6
Functional Programming
6
CMS
6
Miscellaneous
6
Email
6
Authentication
6
Hardware
6
Search
5
File Manipulation
5
Computer Vision
5
Data Analysis
5
Date and Time
5
Newsletters
5
Cryptography
5
Web Crawling
5
Logging
5
Static Site Generator
5
Task Queues
5
Built-in Classes Enhancement
5
Package Management
5
WSGI Servers
4
ASGI Servers
4
HTTP Clients
4
Serialization
4
URL Manipulation
4
Downloader
4
Geolocation
4
Foreign Function Interface
4
Configuration Files
4
Interactive Interpreter
4
Package Repositories
3
Network Virtualization
3
Robotics
3
WebSocket
3
Penetration Testing
3
Video
3
Template Engine
3
Processes
3
E-commerce
3
Documentation
3
Refactoring
3
Database
3
Concurrency and Parallelism
2
RPC Servers
2
Serverless Frameworks
2
Permissions
2
Environment Management
2
Books
2
News Feed
2
Internationalization
2
Compatibility
2
Shell
1
GraphQL
1
Tagging
1
Configuration
1
Enterprise Application Integrations
1
Sub Categories
Keywords
python
276
python3
23
machine-learning
23
django
18
http
17
database
14
testing
13
data-science
13
deep-learning
12
awesome-list
10
flask
10
cli
10
json
10
web
9
asyncio
9
awesome
9
redis
8
python-library
8
linter
8
framework
8
pytorch
7
pypi
7
audio
7
library
7
music
7
orm
6
python-3
6
validation
6
debugging
6
static-analysis
6
pandas
6
terminal
6
api
6
network
5
asgi
5
python2
5
requests
5
http-server
5
async
5
sqlite
5
recommender-system
5
numpy
5
wsgi
5
aws
5
static-code-analysis
5
rest
5
automation
5
pallets
5
sql
5
sqlalchemy
5