awesome-python
A curated list of awesome Python frameworks, libraries, software and resources
https://github.com/tu-cao/awesome-python
Last synced: 6 days ago
JSON representation
-
DevOps Tools
- cuisine - Chef-like functionality for Fabric.
- Fabtools - Tools for writing awesome Fabric files.
- honcho - A Python clone of [Foreman](https://github.com/ddollar/foreman), for managing Procfile-based applications.
- pexpect - Controlling interactive programs in a pseudo-terminal like GNU expect.
- psutil - A cross-platform process and system utilities module.
- SaltStack - Infrastructure automation and management system.
- supervisor - Supervisor process control system for UNIX.
-
Distribution
- py2exe - Freezes Python scripts (Windows).
- dh-virtualenv - Build and distribute a virtualenv as a Debian package.
- PyInstaller - Converts Python programs into stand-alone executables (cross-platform).
-
Documentation
- awesome-sphinxdoc
- Pycco - The literate-programming-style documentation generator.
- pdoc - Epydoc replacement to auto generate API documentation for Python libraries.
-
Downloader
-
E-commerce
- shoop - An open source E-Commerce platform based on Django.
- alipay - Unofficial Alipay API for Python.
- Cartridge - A shopping cart app built using the Mezzanine.
- django-shop - A Django based shop system.
- merchant - A Django app to accept payments from various payment processors.
- money - Money class with optional CLDR-backed locale-aware formatting and an extensible currency exchange solution.
- python-currencies - Display money format and its filthy currencies.
- forex-python - Foreign exchange rates, Bitcoin price index and currency conversion.
-
Editor Plugins and IDEs
- PyCharm - Commercial Python IDE by JetBrains. Has free community edition available.
- Elpy - Emacs Python Development Environment.
- Anaconda - Anaconda turns your Sublime Text 3 in a full featured Python development IDE.
- SublimeJEDI - A Sublime Text plugin to the awesome auto-complete library Jedi.
- Jedi-vim - Vim bindings for the Jedi auto-completion library for Python.
- Python-mode - An all in one plugin for turning Vim into a Python IDE.
- PTVS - Python Tools for Visual Studio.
- Python - An extension with rich support for the Python language, with features including linting, IntelliSense, formatting, refactoring, debugging, unit tests, and jupyter support.
- Magic Python - Cutting edge Python syntax highlighter for Sublime Text, Atom, and Visual Studio Code. Used by GitHub to highlight your Python code!
- Spyder - Open Source Python IDE.
- YouCompleteMe - Includes [Jedi](https://github.com/davidhalter/jedi)-based completion engine for Python.
-
Email
- envelopes - Mailing for human beings.
- flanker - A email address and Mime parsing library.
- imbox - Python IMAP for Humans.
- lamson - Pythonic SMTP Application Server.
- Marrow Mailer - High-performance extensible mail delivery framework.
- modoboa - A mail hosting and management platform including a modern and simplified Web UI.
- Nylas Sync Engine - Providing a RESTful API on top of a powerful email sync platform.
- yagmail - Yet another Gmail/SMTP client.
- inbox.py - Python SMTP Server for Humans.
-
Environment Management
- venv - (Python standard library in Python 3.3+) Creating lightweight virtual environments.
- Pipenv - Sacred Marriage of Pipfile, Pip, & Virtualenv.
- p - Dead simple interactive Python version management.
- pyenv - Simple Python version management.
- virtualenvwrapper - A set of extensions to virtualenv.
-
Files
- imghdr - (Python standard library) Determine the type of an image.
- mimetypes - (Python standard library) Map filenames to MIME types.
- python-magic - A Python interface to the libmagic file type identification library.
- Unipath - An object-oriented approach to file/directory operations.
- watchdog - API and shell utilities to monitor file system events.
- path.py - A module wrapper for [os.path](https://docs.python.org/2/library/os.path.html).
-
Foreign Function Interface
-
Forms
- Deform - Python HTML form generation library influenced by the formish form generation library.
- django-crispy-forms - A Django app which lets you create beautiful forms in a very elegant and DRY way.
- django-remote-forms - A platform independent Django form serializer.
- django-bootstrap3 - Bootstrap 3 integration with Django.
-
Functional Programming
- fn.py - Functional programming in Python: implementation of missing features to enjoy FP.
- funcy - A fancy and practical functional tools.
- Toolz - A collection of functional utilities for iterators, functions, and dictionaries.
- CyToolz - Cython implementation of Toolz: High performance functional utilities.
-
Game Development
- Cocos2d - cocos2d is a framework for building 2D games, demos, and other graphical/interactive applications. It is based on pyglet.
- Panda3D - 3D game engine developed by Disney and maintained by Carnegie Mellon's Entertainment Technology Center. Written in C++, completely wrapped in Python.
- Pygame - Pygame is a set of Python modules designed for writing games.
- PySDL2 - A ctypes based wrapper for the SDL2 library.
- RenPy - A Visual Novel engine.
- Pygame - Pygame is a set of Python modules designed for writing games.
- PyOpenGL - Python ctypes bindings for OpenGL and it's related APIs.
- PyOgre - Python bindings for the Ogre 3D render engine, can be used for games, simulations, anything 3D.
-
Geolocation
- GeoDjango - A world-class geographic web framework.
- django-countries - A Django app that provides country choices for use with forms, flag icons static files, and a country field for models.
- GeoIP - Python API for MaxMind GeoIP Legacy Database.
- geopy - Python Geocoding Toolbox.
- pygeoip - Pure Python GeoIP API.
- geojson - Python bindings and utilities for GeoJSON.
-
GUI
- 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, with support for both Qt v4 and Qt v5 frameworks.
- PySide - Python bindings for the [Qt](http://www.qt.io/) cross-platform application and UI framework, supporting the Qt v4 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.
- enaml - Creating beautiful user-interfaces with Declaratic Syntax like QML.
- 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 that allows to display HTML content in its own native dedicated window
- Toga - A Python native, OS native GUI toolkit.
-
Hardware
- Pingo - Pingo provides a uniform API to program devices like the Raspberry Pi, pcDuino, Intel Galileo, etc.
- Pyro - Python Robotics.
- Pyro - Python Robotics.
- keyboard - Hook and simulate global keyboard events on Windows and Linux.
- mouse - Hook and simulate global mouse events on Windows and Linux.
- Pingo - Pingo provides a uniform API to program devices like the Raspberry Pi, pcDuino, Intel Galileo, etc.
- Pyro - Python Robotics.
- PyUserInput - A module for cross-platform control of the mouse and keyboard.
- scapy - A brilliant packet manipulation library.
- wifi - A Python library and command line tool for working with WiFi on Linux.
- ino - Command line toolkit for working with [Arduino](https://www.arduino.cc/).
-
HTML Manipulation
- BeautifulSoup - Providing Pythonic idioms for iterating, searching, and modifying HTML or XML.
- xmldataset - Simple XML Parsing.
- bleach - A whitelist-based HTML sanitization and text linkification library.
- html5lib - A standards-compliant library for parsing and serializing HTML documents and fragments.
- MarkupSafe - Implements a XML/HTML/XHTML Markup safe string for Python.
- pyquery - A jQuery-like library for parsing HTML.
- untangle - Converts XML documents to Python objects for easy access.
- xmltodict - Working with XML feel like you are working with JSON.
-
HTTP
-
Imagery
- imgSeek - A project for searching a collection of images using visual similarity.
- pyBarcode - Create barcodes in Python without needing PIL.
- hmap - Image histogram remapping.
- nude.py - Nudity detection.
- pagan - Retro identicon (Avatar) generation based on input string and hash.
- pillow - Pillow is the friendly [PIL](http://www.pythonware.com/products/pil/) fork.
- python-qrcode - A pure Python QR Code generator.
- Quads - Computer art based on quadtrees.
- thumbor - A smart imaging service. It enables on-demand crop, re-sizing and flipping of images.
- pygram - Instagram-like image filters.
- scikit-image - A Python library for (scientific) image processing.
- wand - Python bindings for [MagickWand](http://www.imagemagick.org/script/magick-wand.php), C API for ImageMagick.
-
Implementations
- Jython - Implementation of Python programming language written in Java for the Java virtual machine (JVM).
- Numba - Python JIT complier to LLVM aimed at scientific Python.
- PyPy - Implementation of the Python programming language written in RPython and translated into C. PyPy focuses on speed, efficiency and compatibility with the original CPython interpreter. The interpreter uses black magic to make Python very fast without having to add in additional type information.
- Stackless Python - An enhanced version of the Python programming language which allows programmers to reap the benefits of thread-based programming without the performance and complexity problems associated with conventional threads.
- CLPython - Implementation of the Python programming language written in Common Lisp.
- CPython - **Default, most widely used implementation of the Python programming language written in C.**
- Grumpy - More compiler than interpreter as more powerful CPython2.7 replacement (alpha).
- IronPython - Implementation of the Python programming language written in C# targeting the .NET Framework and Mono.
- MicroPython - MicroPython - a lean and efficient Python programming language implementation for microcontrollers and constrained systems
- PeachPy - x86-64 assembler embedded in Python. Can be used as inline assembler for Python or as a stand-alone assembler for Windows, Linux, OS X, Native Client and Go.
- Pyjion - A JIT for Python based upon CoreCLR.
- PySec - Hardened version of python that makes it easier for security professionals and developers to write applications more resilient to attacks and manipulations.
- Pyston - A Python implementation built using LLVM and modern JIT techniques with the goal of achieving good performance.
-
Interactive Interpreter
-
Internationalization
-
Job Scheduler
- Joblib - A set of tools to provide lightweight pipelining in Python.
- django-schedule - A calendaring app for Django.
- gunnery - Multipurpose task execution tool for distributed systems with web-based interface.
- Plan - Writing crontab file in Python like a charm.
- schedule - Python job scheduling for humans.
- Spiff - A powerful workflow engine implemented in pure Python.
- TaskFlow - A Python library that helps to make task execution easy, consistent and reliable.
-
Logging
-
Machine Learning
- awesome-machine-learning
- Metrics - Machine learning evaluation metrics.
- scikit-learn - The most popular Python library for Machine Learning.
- vowpal_porpoise - A lightweight Python wrapper for [Vowpal Wabbit](https://github.com/JohnLangford/vowpal_wabbit/).
- NuPIC - Numenta Platform for Intelligent Computing.
-
MapReduce
- luigi - A module that helps you build complex pipelines of batch jobs.
- mrjob - Run MapReduce jobs on Hadoop or Amazon Web Services.
- streamparse - Run Python code against real-time streams of data. Integrates with [Apache Storm](http://storm.apache.org/).
-
Microsoft Windows
- Python(x,y) - Scientific-applications-oriented Python Distribution based on Qt and Spyder.
- PyWin32 - Python Extensions for Windows.
- WinPython - Portable development environment for Windows 7/8.
- Python(x,y) - Scientific-applications-oriented Python Distribution based on Qt and Spyder.
- pythonlibs - Unofficial Windows binaries for Python extension packages.
- PythonNet - Python Integration with the .NET Common Language Runtime (CLR).
-
Miscellaneous
- Tryton - A general purpose business framework.
- attrs - Replacement for `__init__`, `__eq__`, `__repr__`, etc. boilerplate in class definitions.
- itsdangerous - Various helpers to pass trusted data to untrusted environments.
- pluginbase - A simple but flexible plugin system for Python.
- Pychievements - A framework for creating and tracking achievements.
- blinker - A fast Python in-process signal/event dispatching system.
-
Natural Language Processing
- spaCy - A library for industrial-strength natural language processing in Python and Cython.
- gensim - Topic Modelling for Humans.
- Jieba - Chinese text segmentation.
- langid.py - Stand-alone language identification system.
- polyglot - Natural language pipeline supporting hundreds of languages.
- SnowNLP - A library for processing Chinese text.
- TextBlob - Providing a consistent API for diving into common NLP tasks.
- NLTK - A leading platform for building Python programs to work with human language data.
- Pattern - A web mining module for the Python.
-
Networking
- asyncio - (Python standard library) Asynchronous I/O, event loop, coroutines and tasks.
- diesel - Greenlet-based event I/O Framework for Python.
- pulsar - Event-driven concurrent framework for Python.
- txZMQ - Twisted based wrapper for the ZeroMQ message library.
- NAPALM - Cross-vendor API to manipulate network devices.
-
Network Virtualization
- Mininet - A popular network emulator and API written in Python.
- Pyretic - A member of the Frenetic family of SDN programming languages that provides powerful abstractions over network switches or emulators.
- Mininet - A popular network emulator and API written in Python.
- POX - An open source development platform for Python-based Software Defined Networking (SDN) control applications, such as OpenFlow SDN controllers.
- Pyretic - A member of the Frenetic family of SDN programming languages that provides powerful abstractions over network switches or emulators.
- SDX Platform - SDN based IXP implementation that leverages Mininet, POX and Pyretic.
-
News Feed
- django-activity-stream - Generating generic activity streams from the actions on your site.
- Stream-Framework - Building newsfeed and notification systems using Cassandra and Redis.
-
ORM
- Django Models - A part of Django.
- awesome-sqlalchemy
- MongoEngine - A Python Object-Document-Mapper for working with MongoDB.
Programming Languages
Categories
Testing
24
Command-line Tools
23
Text Processing
21
Database Drivers
19
Science
15
Specific Formats Processing
15
Debugging Tools
14
Websites
14
RESTful API
14
ORM
14
Implementations
13
GUI
13
Audio
13
WSGI Servers
12
Weekly
12
Imagery
12
Authentication
12
Hardware
11
Editor Plugins and IDEs
11
Web Content Extracting
11
CMS
10
Twitter
10
DevOps Tools
10
Third-party APIs
10
Date and Time
9
Natural Language Processing
9
Web Frameworks
9
Email
9
E-commerce
8
Asset Management
8
Game Development
8
Search
8
HTML Manipulation
8
Deep Learning
8
Data Visualization
8
Job Scheduler
7
Web Crawling
7
Data Validation
7
Recommender Systems
7
Concurrency and Parallelism
7
Code Analysis and Linter
7
Static Site Generator
6
Caching
6
Build Tools
6
Microsoft Windows
6
Files
6
Network Virtualization
6
Geolocation
6
Miscellaneous
6
Package Management
5
Admin Panels
5
Continuous Integration
5
Machine Learning
5
URL Manipulation
5
Environment Management
5
Computer Vision
5
Networking
5
Cryptography
5
Package Repositories
4
Data Analysis
4
HTTP
4
Functional Programming
4
Forms
4
Logging
4
Database
4
WebSocket
4
Distribution
3
Configuration
3
Code Quality
3
Serverless Frameworks
3
Foreign Function Interface
3
Permissions
3
Documentation
3
MapReduce
3
RPC Servers
3
Algorithms and Design Patterns
3
Queue
3
News Feed
2
Processes
2
Interactive Interpreter
2
Internationalization
2
Template Engine
2
Anti-spam
2
Downloader
2
Tagging
1
Serialization
1
Compatibility
1
Video
1
Podcasts
1
Sub Categories
Keywords
python
157
django
13
testing
11
http
10
python3
9
machine-learning
9
awesome-list
7
python-3
6
debugging
6
flask
6
cli
6
aws
6
database
5
library
5
awesome
5
recommender-system
4
pypi
4
terminal
4
asyncio
4
web
4
linux
4
sqlalchemy
4
cloud
4
cloud-management
4
javascript
4
data-science
3
redis
3
python2
3
audio
3
testing-tools
3
automation
3
package
3
matrix-factorization
3
api
3
visualization
3
mock
3
schema
3
serialization
3
json
3
markdown
3
rest
3
developer-tools
3
pallets
3
email
3
deep-learning
3
orm
3
shell
3
serverless
2
pyramid
2
twisted
2