awesome-python
一些Python相关的框架、代码、资源、库的集合
https://github.com/wyfish/awesome-python
Last synced: about 3 hours ago
JSON representation
-
Admin Panels
- ajenti - The admin panel your servers deserve.
- django-jet - Modern responsive template for the Django admin interface with improved functionality.
- django-xadmin - Drop-in replacement of Django admin comes with lots of goodies.
- flower - Real-time monitor and web admin for Celery.
- wooey - A Django app which creates automatic web UIs for Python scripts.
- django-grappelli - A jazzy skin for the Django Admin-Interface.
- django-suit - Alternative Django Admin-Interface (free only for Non-commercial use).
- flask-admin - Simple and extensible administrative interface framework for Flask.
-
Algorithms and Design Patterns
- algorithms - Minimal examples of data structures and algorithms in Python.
- PyPattyrn - A simple yet effective library for implementing common design patterns.
- python-patterns - A collection of design patterns in Python.
- sortedcontainers - Fast, pure-Python implementation of SortedList, SortedDict, and SortedSet types.
-
Audio
- audioread - Cross-library (GStreamer + Core Audio + MAD + FFmpeg) audio decoding.
- dejavu - Audio fingerprinting and recognition.
- 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.
- beets - A music library manager and [MusicBrainz](https://musicbrainz.org/) 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.
-
Authentication
- 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.
- pyjwt - JSON Web Token implementation in Python.
- python-jwt - A module for generating and verifying JSON Web Tokens.
-
Build Tools
- 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.
- BitBake - A make-like build tool for embedded Linux.
- SCons - A software construction tool.
- buildout - A build system for creating, assembling and deploying applications from multiple parts.
-
Built-in Classes Enhancement
- 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.
- DottedDict - A library that provides a method of accessing lists and dicts with a dotted path notation.
- dataclasses - (Python standard library) Data classes.
-
CMS
- feincms - One of the most advanced Content Management Systems built on Django.
- Kotti - A high-level, Pythonic web application framework built on Pyramid.
- mezzanine - A powerful, consistent, and flexible content management platform.
- wagtail - A Django content management system.
- quokka - Flexible, extensible, small CMS powered by Flask and MongoDB.
- django-cms - An Open source enterprise CMS based on the Django.
- plone - A CMS built on top of the open source application server Zope.
-
Caching
- 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.
- pylibmc - A Python wrapper around the [libmemcached](https://libmemcached.org/libMemcached.html) interface.
- HermesCache - Python caching library with tag-based invalidation and dogpile effect prevention.
- 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.
-
Code Analysis
- awesome-static-analysis
- 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.
- pylama - A code audit tool for Python and JavaScript.
- black - The uncompromising Python code formatter.
- yapf - Yet another Python code formatter from Google.
- pyre-check - Performant type checking.
- MonkeyType - A system for Python that generates static type annotations by collecting runtime types
- pylint - A fully customizable source code analyzer.
- coala - Language independent and easily extendable code analysis application.
- flake8 - A wrapper around `pycodestyle`, `pyflakes` and McCabe.
-
Command-line Interface Development
- clint - Python Command-line Application Tools.
- docopt - Pythonic command line arguments parser.
- python-fire - A library for creating command line interfaces from absolutely any Python object.
- python-prompt-toolkit - A library for building powerful interactive command lines.
- asciimatics - A package to create full-screen text UIs (from interactive forms to ASCII animations).
- bashplotlib - Making basic plots in the terminal.
- tqdm - Fast, extensible progress bar for loops and CLI.
- docopt - Pythonic command line arguments parser.
- colorama - Cross-platform colored terminal text.
- cement - CLI Application Framework for Python.
- cliff - A framework for creating command-line programs with multi-level commands.
- colorama - Cross-platform colored terminal text.
-
Command-line Tools
- cookiecutter - A command-line utility that creates projects from cookiecutters (project templates).
- doitlive - A tool for live presentations in the terminal.
- howdoi - Instant coding answers via the command line.
- PathPicker - Select files out of bash output.
- percol - Adds flavor of interactive selection to the traditional pipe concept on UNIX.
- thefuck - Correcting your previous console command.
- try - A dead simple CLI to try out python packages - it's never been easier.
- httpie - A command line HTTP client, a user-friendly cURL replacement.
- kube-shell - An integrated shell for working with the Kubernetes CLI.
- mycli - A Terminal Client for MySQL with AutoCompletion and Syntax Highlighting.
- pgcli - Postgres CLI with autocompletion and syntax highlighting.
- saws - A Supercharged [aws-cli](https://github.com/aws/aws-cli).
- tmuxp - A [tmux](https://github.com/tmux/tmux) session manager.
-
Compatibility
- python-modernize - Modernizes Python code for eventual Python 3 migration.
- six - Python 2 and 3 compatibility utilities.
- python-future - The missing compatibility layer between Python 2 and Python 3.
- six - Python 2 and 3 compatibility utilities.
-
Computer Vision
- pytesseract - Another wrapper for [Google Tesseract OCR](https://github.com/tesseract-ocr).
- SimpleCV - An open source framework for building computer vision applications.
- OpenCV - Open Source Computer Vision Library.
- SimpleCV - An open source framework for building computer vision applications.
-
Concurrency and Parallelism
- eventlet - Asynchronous framework with WSGI support.
- uvloop - Ultra fast implementation of `asyncio` event loop on top of `libuv`.
- scoop - Scalable Concurrent Operations in Python.
- concurrent.futures - (Python standard library) A high-level interface for asynchronously executing callables.
- multiprocessing - (Python standard library) Process-based parallelism.
- eventlet - Asynchronous framework with WSGI support.
- gevent - A coroutine-based Python networking library that uses [greenlet](https://github.com/python-greenlet/greenlet).
-
Configuration
- configobj - INI file parser with validation.
- python-decouple - Strict separation of settings from code.
- configparser - (Python standard library) INI file parser.
- profig - Config from multiple formats with value conversion.
-
Cryptography
- paramiko - The leading native Python SSHv2 protocol library.
- pynacl - Python binding to the Networking and Cryptography (NaCl) library.
- cryptography - A package designed to expose cryptographic primitives and recipes to Python developers.
- passlib - Secure password storage/hashing library, very high level.
-
Data Analysis
- Blaze - NumPy and Pandas interface to Big Data.
- Open Mining - Business Intelligence (BI) in Pandas interface.
- Orange - Data mining, data visualization, analysis and machine learning through visual programming or scripts.
- Optimus - Agile Data Science Workflows made easy with PySpark.
- Pandas - A library providing high-performance, easy-to-use data structures and data analysis tools.
-
Data Validation
- Cerberus - A lightweight and extensible data validation library.
- jsonschema - An implementation of [JSON Schema](http://json-schema.org/) for Python.
- schema - A library for validating Python data structures.
- Schematics - Data Structure Validation.
- valideer - Lightweight extensible data validation and adaptation library.
- voluptuous - A Python data validation library.
- colander - Validating and deserializing data obtained via XML, JSON, an HTML form post.
-
Data Visualization
- Altair - Declarative statistical visualization library for Python.
- Bokeh - Interactive Web Plotting for Python.
- awesome-dash
- ggplot - Same API as ggplot2 for R.
- Seaborn - Statistical data visualization using Matplotlib.
- VisPy - High-performance scientific visualization based on OpenGL.
- awesome-javascript
- PyGraphviz - Python interface to [Graphviz](http://www.graphviz.org/).
- Matplotlib - A Python 2D plotting library.
- Pygal - A Python SVG Charts Creator.
- PyGraphviz - Python interface to [Graphviz](http://www.graphviz.org/).
-
Database
-
Database Drivers
- awesome-mysql
- PyMySQL - A pure Python MySQL driver compatible to mysql-python.
- queries - A wrapper of the psycopg2 library for interacting with PostgreSQL.
- pymssql - A simple database interface to Microsoft SQL Server.
- cassandra-driver - The Python Driver for Apache Cassandra.
- kafka-python - The Python client for Apache Kafka.
- pymongo - The official Python client for MongoDB.
- redis-py - The Python client for Redis.
- motor - The async Python driver for MongoDB.
- Telephus - Twisted based client for Cassandra.
- txpostgres - Twisted based asynchronous driver for PostgreSQL.
- txRedis - Twisted based client for Redis.
- awesome-postgres
- psycopg2 - The most popular PostgreSQL adapter for Python.
- pymssql - A simple database interface to Microsoft SQL Server.
- py2neo - Python wrapper client for Neo4j's restful interface.
- mysqlclient - MySQL connector with Python 3 support ([mysql-python](https://sourceforge.net/projects/mysql-python/) fork).
- happybase - A developer-friendly library for Apache HBase.
-
Date and Time
- Chronyk - A Python 3 library for parsing human-written times and dates.
- dateutil - Extensions to the standard Python [datetime](https://docs.python.org/3/library/datetime.html) module.
- delorean - A library for clearing up the inconvenient truths that arise dealing with datetimes.
- moment - A Python library for dealing with dates/times. Inspired by [Moment.js](http://momentjs.com/).
- Pendulum - Python datetimes made easy.
- PyTime - A easy-use Python module which aims to operate date/time/datetime by string.
- when.py - Providing user-friendly functions to help perform common date and time actions.
- maya - Datetimes for Humans.
- pytz - World timezone definitions, modern and historical. Brings the [tz database](https://en.wikipedia.org/wiki/Tz_database) into Python.
-
Debugging Tools
- ipdb - IPython-enabled [pdb](https://docs.python.org/3/library/pdb.html).
- pudb - A full-screen, console-based Python debugger.
- wdb - An improbable web debugger through WebSockets.
- lptrace - [strace](http://man7.org/linux/man-pages/man1/strace.1.html) for Python programs.
- manhole - Debugging UNIX socket connections and present the stacktraces for all threads and an interactive prompt.
- pyringe - Debugger capable of attaching to and injecting code into Python processes.
- python-hunter - A flexible code tracing toolkit.
- line_profiler - Line-by-line profiling.
- memory_profiler - Monitor Memory usage of Python code.
- profiling - An interactive Python profiler.
- py-spy - A sampling profiler for Python programs. Written in Rust.
- vprof - Visual Python profiler.
- icecream - Inspect variables, expressions, and program execution with a single, simple function call.
- django-debug-toolbar - Display various debug information for Django.
- django-devserver - A drop-in replacement for Django's runserver.
- pyelftools - Parsing and analyzing ELF files and DWARF debugging information.
- pdb++ - Another drop-in replacement for pdb.
- pyflame - A ptracing profiler For Python.
- flask-debugtoolbar - A port of the django-debug-toolbar to flask.
-
Deep Learning
- caffe - A fast open framework for deep learning..
- keras - A high-level neural networks library and capable of running on top of either TensorFlow or Theano.
- mxnet - A deep learning framework designed for both efficiency and flexibility.
- pytorch - Tensors and Dynamic neural networks in Python with strong GPU acceleration.
- SerpentAI - Game agent framework. Use any video game as a deep learning sandbox.
- tensorflow - The most popular Deep Learning framework created by Google.
- Theano - A library for fast numerical computation.
- awesome-deep-learning
-
DevOps Tools
- ansible - A radically simple IT automation platform.
- cuisine - Chef-like functionality for Fabric.
- fabric - A simple, Pythonic tool for remote execution and deployment.
- 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.
- cloudinit - A multi-distribution package that handles early initialization of a cloud instance.
- docker-compose - Fast, isolated development environments using [Docker](https://www.docker.com/).
- OpenStack - Open source software for building private and public clouds.
-
Distributed Computing
- PySpark - [Apache Spark](https://spark.apache.org/) Python API.
- dask - A flexible parallel computing library for analytic computing.
- luigi - A module that helps you build complex pipelines of batch jobs.
- mrjob - Run MapReduce jobs on Hadoop or Amazon Web Services.
- 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.
-
Distribution
- dh-virtualenv - Build and distribute a virtualenv as a Debian package.
- PyInstaller - Converts Python programs into stand-alone executables (cross-platform).
- py2exe - Freezes Python scripts (Windows).
- Nuitka - Compile scripts, modules, packages to an executable or extension module.
-
Documentation
- sphinx - Python Documentation generator.
- awesome-sphinxdoc
- pdoc - Epydoc replacement to auto generate API documentation for Python libraries.
- pycco - The literate-programming-style documentation generator.
-
Downloader
- s3cmd - A command line tool for managing Amazon S3 and CloudFront.
- s4cmd - Super S3 command line tool, good for higher performance.
- youtube-dl - A small command-line program to download videos from YouTube.
- you-get - A YouTube/Youku/Niconico video downloader written in Python 3.
-
E-commerce
- 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.
- python-currencies - Display money format and its filthy currencies.
- forex-python - Foreign exchange rates, Bitcoin price index and currency conversion.
- shoop - An open source E-Commerce platform based on Django.
-
Editor Plugins and IDEs
- 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.
- spyder - Open Source Python IDE.
- Python - The official VSCode extension with rich support for Python.
- PyCharm - Commercial Python IDE by JetBrains. Has free community edition available.
- 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
- pyenv - Simple Python version management.
- pipenv - Python Development Workflow for Humans.
- virtualenv - A tool to create isolated Python environments.
-
Files
- path.py - A module wrapper for [os.path](https://docs.python.org/3/library/os.path.html).
- PyFilesystem2 - Python's filesystem abstraction layer.
- 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.
- mimetypes - (Python standard library) Map filenames to MIME types.
- pathlib - (Python standard library) An cross-platform, object-oriented path library.
-
Forms
- Deform - Python HTML form generation library influenced by the formish form generation library.
- django-bootstrap3 - Bootstrap 3 integration with Django.
- django-bootstrap4 - Bootstrap 4 integration with Django.
- 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.
- WTForms - A flexible forms validation and rendering library.
-
Functional Programming
- Coconut - Coconut is a variant of Python built for simple, elegant, Pythonic 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.
- Coconut - Coconut is a variant of Python built for simple, elegant, Pythonic functional programming.
- CyToolz - Cython implementation of Toolz: High performance functional utilities.
-
GUI Development
- Eel - A library for making simple Electron-like offline HTML/JS GUI apps.
- enaml - Creating beautiful user-interfaces with Declaratic Syntax like QML.
- Gooey - Turn command line programs into a full GUI application with one line.
- PySimpleGUI - Wrapper for tkinter, Qt, WxPython and Remi.
- 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.
- 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.
- pyglet - A cross-platform windowing and multimedia library for Python.
-
Game Development
- Pygame - Pygame is a set of Python modules designed for writing games.
- Cocos2d - cocos2d is a framework for building 2D games, demos, and other graphical/interactive applications.
- Panda3D - 3D game engine developed by Disney.
- Pygame - Pygame is a set of Python modules designed for writing games.
- RenPy - A Visual Novel engine.
-
Geolocation
- django-countries - A Django app that provides a country field for models and forms.
- GeoIP - Python API for MaxMind GeoIP Legacy Database.
- geopy - Python Geocoding Toolbox.
- pygeoip - Pure Python GeoIP API.
- GeoDjango - A world-class geographic web framework.
- geojson - Python bindings and utilities for GeoJSON.
-
HTML Manipulation
- 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.
- BeautifulSoup - Providing Pythonic idioms for iterating, searching, and modifying HTML or XML.
- cssutils - A CSS library for Python.
- xmldataset - Simple XML Parsing.
- cssutils - A CSS library for Python.
-
HTTP Clients
-
Hardware
- 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.
- 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.
- Pingo - Pingo provides a uniform API to program devices like the Raspberry Pi, pcDuino, Intel Galileo, etc.
- ino - Command line toolkit for working with [Arduino](https://www.arduino.cc/).
-
Image Processing
- 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.
- imgSeek - A project for searching a collection of images using visual similarity.
- pyBarcode - Create barcodes in Python without needing PIL.
- pygram - Instagram-like image filters.
- wand - Python bindings for [MagickWand](http://www.imagemagick.org/script/magick-wand.php), C API for ImageMagick.
-
Implementations
- CPython - **Default, most widely used implementation of the Python programming language written in C.**
- CLPython - Implementation of the Python programming language written in Common Lisp.
- Grumpy - More compiler than interpreter as more powerful CPython2.7 replacement (alpha).
- IronPython - Implementation of the Python programming language written in C#.
- MicroPython - A lean and efficient Python programming language implementation.
- PeachPy - x86-64 assembler embedded in Python.
- Pyjion - A JIT for Python based upon CoreCLR.
- Pyston - A Python implementation using JIT techniques.
- Stackless Python - An enhanced version of the Python programming language.
- 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.
- Jython - Implementation of Python programming language written in Java for the JVM.
-
Interactive Interpreter
- 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).
- awesome-jupyter
-
Internationalization
- PyICU - A wrapper of International Components for Unicode C++ library ([ICU](http://site.icu-project.org/)).
-
Job Scheduler
- 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.
- Airflow - Airflow is a platform to programmatically author, schedule and monitor workflows.
-
Logging
-
Machine Learning
- H2O - Open Source Fast Scalable Machine Learning Platform.
- Metrics - Machine learning evaluation metrics.
- NuPIC - Numenta Platform for Intelligent Computing.
- 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/).
- xgboost - A scalable, portable, and distributed gradient boosting library.
- awesome-machine-learning
-
Microsoft Windows
- Python(x,y) - Scientific-applications-oriented Python Distribution based on Qt and Spyder.
- PythonNet - Python Integration with the .NET Common Language Runtime (CLR).
- 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.
-
Miscellaneous
- blinker - A fast Python in-process signal/event dispatching system.
- boltons - A set of pure-Python utilities.
- itsdangerous - Various helpers to pass trusted data to untrusted environments.
- pluginbase - A simple but flexible plugin system for Python.
- tryton - A general purpose business framework.
-
Natural Language Processing
- gensim - Topic Modelling for Humans.
- langid.py - Stand-alone language identification system.
- pattern - A web mining module for the Python.
- polyglot - Natural language pipeline supporting hundreds of languages.
- pytext - A natural language modeling framework based on PyTorch.
- PyTorch-NLP - A toolkit enabling rapid deep learning NLP prototyping for research.
- stanfordnlp - The Stanford NLP Group's official Python library, supporting 50+ languages.
- jieba - The most popular Chinese text segmentation library.
- pkuseg-python - A toolkit for Chinese word segmentation in various domains.
- snownlp - A library for processing Chinese text.
- funNLP - A collection of tools and datasets for Chinese NLP.
- spacy - A library for industrial-strength natural language processing in Python and Cython.
-
Network Virtualization
-
Networking
- pulsar - Event-driven concurrent framework for Python.
- pyzmq - A Python wrapper for the ZeroMQ message library.
- napalm - Cross-vendor API to manipulate network devices.
- asyncio - (Python standard library) Asynchronous I/O, event loop, coroutines and tasks.
- awesome-asyncio
- Twisted - An event-driven networking engine.
-
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
- dataset - Store Python dicts in a database - works with SQLite, MySQL, and PostgreSQL.
- orator - The Orator ORM provides a simple yet beautiful ActiveRecord implementation.
- peewee - A small, expressive ORM.
- pony - ORM that provides a generator-oriented interface to SQL.
- hot-redis - Rich Python data types for Redis.
- mongoengine - A Python Object-Document-Mapper for working with MongoDB.
- PynamoDB - A Pythonic interface for [Amazon DynamoDB](https://aws.amazon.com/dynamodb/).
- redisco - A Python Library for Simple Models and Containers Persisted in Redis.
- Django Models - A part of Django.
- SQLAlchemy - The Python SQL Toolkit and Object Relational Mapper.
- awesome-sqlalchemy
- pydal - A pure Python Database Abstraction Layer.
-
Package Management
-
Package Repositories
- warehouse - Next generation Python Package Repository (PyPI).
- devpi - PyPI server and packaging/testing/release tool.
- bandersnatch - PyPI mirroring tool provided by Python Packaging Authority (PyPA).
- localshop - Local PyPI server (custom packages and auto-mirroring of pypi).
-
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.
-
Processes
- sh - A full-fledged subprocess replacement for Python.
- sarge - Yet another wrapper for subprocess.
- delegator.py - [Subprocesses](https://docs.python.org/3.6/library/subprocess.html) for Humans™ 2.0.
-
Queue
-
Recommender Systems
- annoy - Approximate Nearest Neighbors in C++/Python optimized for memory usage.
- fastFM - A library for Factorization Machines.
- implicit - A fast Python implementation of collaborative filtering for implicit datasets.
- lightfm - A Python implementation of a number of popular recommendation algorithms.
- spotlight - Deep recommender models using PyTorch.
- Surprise - A scikit for building and analyzing recommender systems.
- tensorrec - A Recommendation Engine Framework in TensorFlow.
-
RESTful API
- django-tastypie - Creating delicious APIs for Django apps.
- eve - REST API framework powered by Flask, MongoDB and good intentions.
- flask-api-utils - Taking care of API representation and authentication for Flask.
- flask-restful - Quickly building REST APIs for Flask.
- flask-restless - Generating RESTful APIs for database models defined with SQLAlchemy.
- cornice - A RESTful framework for Pyramid.
- apistar - A smart Web API framework, designed for Python 3.
- hug - A Python 3 framework for cleanly exposing APIs.
- restless - Framework agnostic REST framework based on lessons learned from Tastypie.
- ripozo - Quickly creating REST/HATEOAS/Hypermedia APIs.
- sandman - Automated REST APIs for existing database-driven systems.
- django-tastypie - Creating delicious APIs for Django apps.
- flask-api - Browsable Web APIs for 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.
-
Robotics
- PythonRobotics - This is a compilation of various robotics algorithms with visualizations.
- rospy - This is a library for ROS (Robot Operating System).
- rospy - This is a library for ROS (Robot Operating System).
-
RPC Servers
- zeroRPC - zerorpc is a flexible RPC implementation based on [ZeroMQ](http://zeromq.org/) and [MessagePack](http://msgpack.org/).
- SimpleXMLRPCServer - (Python standard library) Simple XML-RPC server implementation, single-threaded.
-
Science
- Python-for-Scientists
- bcbio-nextgen - Providing best-practice pipelines for fully automated high throughput sequencing analysis.
- bccb - Collection of useful code related to biological analysis.
- PyMC - Markov Chain Monte Carlo sampling toolkit.
- SciPy - A Python-based ecosystem of open-source software for mathematics, science, and engineering.
- statsmodels - Statistical modeling and econometrics in Python.
- SymPy - A Python library for symbolic mathematics.
- Zipline - A Pythonic algorithmic trading library.
- PyDy - Short for Python Dynamics, used to assist with workflow in the modeling of dynamic motion.
- RDKit - Cheminformatics and Machine Learning Software.
- SimPy - A process-based discrete-event simulation framework.
- NumPy - A fundamental package for scientific computing with Python.
- Open Babel - A chemical toolbox designed to speak the many languages of chemical data.
- ObsPy - A Python toolbox for seismology.
-
Search
- elasticsearch-dsl-py - The official high-level Python client for Elasticsearch.
- django-haystack - Modular search for Django.
- pysolr - A lightweight Python wrapper for [Apache Solr](https://lucene.apache.org/solr/).
- elasticsearch-py - The official low-level Python client for [Elasticsearch](https://www.elastic.co/products/elasticsearch).
-
Serialization
- 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).
- python-rapidjson - A Python wrapper around [RapidJSON](https://github.com/Tencent/rapidjson).
-
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.
-
Specific Formats Processing
- 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.
- python-docx - Reads, queries and modifies Microsoft Word 2007/2008 docx files.
- python-pptx - Python library for creating and updating PowerPoint (.pptx) files.
- unoconv - Convert between any document format supported by LibreOffice/OpenOffice.
- XlsxWriter - A Python module for creating Excel .xlsx files.
- xlwings - A BSD-licensed library that makes it easy to call Python from Excel and vice versa.
- xlwt - excel/xlrd) - Writing and reading data and formatting information from Excel files.
- PDFMiner - A tool for extracting information from PDF documents.
- PyPDF2 - A library capable of splitting, merging and transforming PDF pages.
- Mistune - Fastest and full featured pure Python parsers of Markdown.
- Python-Markdown - A Python implementation of John Gruber’s Markdown.
- csvkit - Utilities for converting to and working with CSV.
- unp - A command line tool that can unpack archives easily.
- openpyxl - A library for reading and writing Excel 2010 xlsx/xlsm/xltx/xltm files.
- ReportLab - Allowing Rapid creation of rich PDF documents.
-
Static Site Generator
-
Tagging
- django-taggit - Simple tagging for Django.
-
Template Engine
-
Testing
- hypothesis - Hypothesis is an advanced Quickcheck style property based testing library.
- nose2 - The successor to `nose`, based on `unittest2.
- Robot Framework - A generic test automation framework.
- green - A clean, colorful test runner.
- locust - Scalable user load testing tool written in Python.
- PyAutoGUI - PyAutoGUI is a cross-platform GUI automation Python module for human beings.
- sixpack - A language-agnostic A/B Testing framework.
- splinter - Open source tool for testing web applications.
- freezegun - Travel through time by mocking the datetime module.
- httmock - A mocking library for requests for Python 2.6+ and 3.2+.
- httpretty - HTTP request mock tool for Python.
- mocket - A socket mock framework with gevent/asyncio/SSL support.
- responses - A utility library for mocking out the requests Python library.
- VCR.py - Record and replay HTTP interactions on your tests.
- factory_boy - A test fixtures replacement for Python.
- mixer - Another fixtures replacement. Supported Django, Flask, SQLAlchemy, Peewee and etc.
- model_mommy - Creating random fixtures for testing in Django.
- mimesis - is a Python library that help you generate fake data.
- fake2db - Fake database generator.
- faker - A Python package that generates fake data.
- pytest - A mature full-featured Python testing tool.
- unittest - (Python standard library) Unit testing framework.
- mock - (Python standard library) A mocking and patching library.
- Selenium - Python bindings for [Selenium](http://www.seleniumhq.org/) WebDriver.
- doublex - Powerful test doubles framework for Python.
- coverage - Code coverage measurement.
- radar - Generate random datetime / time.
-
Text Processing
- chardet - Python 2/3 compatible character encoding detector.
- ftfy - Makes Unicode text less broken and more consistent automagically.
- fuzzywuzzy - Fuzzy String Matching.
- pangu.py - Paranoid text spacing.
- pyfiglet - An implementation of figlet written in Python.
- pypinyin - Convert Chinese hanzi (漢字) to pinyin (拼音).
- awesome-slugify - A Python slugify library that can preserve unicode.
- python-slugify - A Python slugify library that translates unicode to ASCII.
- unicode-slugify - A slugifier that generates unicode slugs with Django as a dependency.
- hashids - Implementation of [hashids](http://hashids.org) in Python.
- shortuuid - A generator library for concise, unambiguous and URL-safe UUIDs.
- ply - Implementation of lex and yacc parsing tools for Python.
- pyparsing - A general purpose framework for generating parsers.
- python-nameparser - Parsing human names into their individual components.
- python-phonenumbers - Parsing, formatting, storing and validating international phone numbers.
- python-user-agents - Browser user agent parser.
- sqlparse - A non-validating SQL parser.
- difflib - (Python standard library) Helpers for computing deltas.
- unidecode - ASCII transliterations of Unicode text.
- Levenshtein - Fast computation of Levenshtein distance and string similarity.
- unidecode - ASCII transliterations of Unicode text.
-
Third-party APIs
- List of Python API Wrappers and Libraries
- boto3 - Python interface to Amazon Web Services.
- django-wordpress - WordPress models and views for Django.
- facebook-sdk - Facebook Platform Python SDK.
- gspread - Google Spreadsheets Python API.
- twython - A Python wrapper for the Twitter API.
- apache-libcloud - One Python library for all clouds.
- google-api-python-client - Google APIs Client Library for Python.
-
URL Manipulation
- furl - A small Python library that makes parsing and manipulating URLs easy.
- purl - A simple, immutable URL class with a clean API for interrogation and manipulation.
- pyshorteners - A pure Python URL shortening lib.
- webargs - A friendly library for parsing HTTP request arguments with built-in support for popular web frameworks.
-
Video
- moviepy - A module for script-based movie editing with many formats, including animated GIFs.
- scikit-video - Video processing routines for SciPy.
-
WSGI Servers
- bjoern - Asynchronous, very fast and written in C.
- gunicorn - Pre-forked, partly written in C.
- waitress - Multi-threaded, powers Pyramid.
- werkzeug - A WSGI utility library for Python that powers Flask and can easily be embedded into your own projects.
- uWSGI - A project aims at developing a full stack for building hosting services, written in C.
-
Web Asset Management
- django-compressor - Compresses linked and inline JavaScript or CSS into a single cached file.
- django-pipeline - An asset packaging library for Django.
- django-storages - A collection of custom storage back ends for Django.
- fanstatic - Packages, optimizes, and serves static file dependencies as Python packages.
- flask-assets - Helps you integrate webassets into your Flask app.
- webassets - Bundles, optimizes, and manages unique cache-busting URLs for static resources.
- fanstatic - Packages, optimizes, and serves static file dependencies as Python packages.
-
Web Content Extracting
- html2text - Convert HTML to Markdown-formatted text.
- lassie - Web Content Retrieval for Humans.
- micawber - A small library for extracting rich content from URLs.
- newspaper - News extraction, article extraction and content curation in Python.
- python-readability - Fast Python port of arc90's readability tool.
- requests-html - Pythonic HTML Parsing for Humans.
- sumy - A module for automatic summarization of text documents and HTML pages.
- textract - Extract text from any document, Word, PowerPoint, PDFs, etc.
- toapi - Every web site provides APIs.
-
Web Crawling
- cola - A distributed crawling framework.
- grab - Site scraping framework.
- MechanicalSoup - A Python library for automating interaction with websites.
- pyspider - A powerful spider system.
- robobrowser - A simple, Pythonic library for browsing the web without a standalone web browser.
- portia - Visual scraping for Scrapy.
- feedparser - Universal feed parser.
- scrapy - A fast high-level screen scraping and web crawling framework.
-
Web Frameworks
- awesome-django
- awesome-flask
- Masonite - The modern and developer centric Python web framework.
- Sanic - Web server that's written to go fast.
- Django - The most popular web framework in Python.
- Pyramid - A small, fast, down-to-earth, open source Python web framework.
- awesome-pyramid
- Vibora - Fast, efficient and asynchronous Web framework inspired by Flask.
-
WebSocket
- autobahn-python - WebSocket & WAMP for Python on Twisted and [asyncio](https://docs.python.org/3/library/asyncio.html).
- django-channels - Developer-friendly asynchrony for Django.
- django-socketio - WebSockets for Django.
- WebSocket-for-Python - WebSocket client and server library for Python 2 and 3 as well as PyPy.
- crossbar - Open-source Unified Application Router (Websocket & WAMP for Python on Autobahn).
-
Continuous Integration
- awesome-CIandCD
- Vexor CI - A continuous integration tool for private apps with pay-per-minute billing model.
- CircleCI - A CI service that can run very fast parallel testing.
- Wercker - A Docker-based platform for building and deploying applications and microservices.
- Travis CI - A popular CI service for your open source and [private](https://travis-ci.com) projects. (GitHub only)
-
Podcasts
-
Weekly
-
Websites
-
Foreign Function Interface
- cffi - Foreign Function Interface for Python calling C code.
- ctypes - (Python standard library) Foreign Function Interface for Python calling C code.
- PyCUDA - A Python wrapper for Nvidia's CUDA API.
- cffi - Foreign Function Interface for Python calling C code.
- SWIG - Simplified Wrapper and Interface Generator.
-
Code Quality
- Codacy - Automated Code Review to ship better code, faster.
- CodeFactor - Automated Code Review for Git.
- Landscape - Hosted continuous Python code metrics.
- PEP 8 Speaks - GitHub integration to review code style.
- Codecov - Code coverage dashboard.
-
Twitter
Programming Languages
Categories
Testing
27
Text Processing
21
Twitter
20
Debugging Tools
19
Database Drivers
18
Specific Formats Processing
16
RESTful API
15
Science
14
Websites
14
GUI Development
14
Command-line Tools
13
Implementations
13
DevOps Tools
12
ORM
12
Natural Language Processing
12
Code Analysis
12
Command-line Interface Development
12
Image Processing
11
Data Visualization
11
HTML Manipulation
10
Editor Plugins and IDEs
10
Audio
10
Date and Time
9
Email
9
Web Content Extracting
9
Authentication
8
E-commerce
8
Web Frameworks
8
Web Crawling
8
Weekly
8
Hardware
8
Admin Panels
8
Third-party APIs
8
Deep Learning
8
Web Asset Management
7
Concurrency and Parallelism
7
Distributed Computing
7
CMS
7
Machine Learning
7
Files
7
Data Validation
7
Caching
7
Recommender Systems
7
Podcasts
6
Job Scheduler
6
Functional Programming
6
Geolocation
6
Forms
6
Build Tools
6
Microsoft Windows
6
Networking
6
Game Development
5
Built-in Classes Enhancement
5
Code Quality
5
WebSocket
5
Data Analysis
5
WSGI Servers
5
Continuous Integration
5
Foreign Function Interface
5
Miscellaneous
5
Package Repositories
4
Computer Vision
4
Distribution
4
Static Site Generator
4
Algorithms and Design Patterns
4
Search
4
Compatibility
4
Downloader
4
URL Manipulation
4
HTTP Clients
4
Cryptography
4
Configuration
4
Documentation
4
Package Management
4
Robotics
3
Environment Management
3
Interactive Interpreter
3
Queue
3
Database
3
Logging
3
Serialization
3
Processes
3
Network Virtualization
2
Template Engine
2
RPC Servers
2
Video
2
Serverless Frameworks
2
News Feed
2
Permissions
2
Internationalization
1
Tagging
1
Sub Categories
Keywords
python
213
django
18
machine-learning
17
python3
14
testing
13
http
12
database
9
deep-learning
9
awesome-list
8
cli
8
flask
8
json
7
data-science
7
pypi
7
web
7
awesome
7
framework
6
debugging
6
library
6
asyncio
6
linux
5
redis
5
api
5
python-3
5
recommender-system
5
pandas
5
python-library
5
python2
4
aws
4
mock
4
terminal
4
music
4
javascript
4
utilities
4
validation
4
requests
4
html
4
http-server
4
automation
4
mongodb
4
matrix-factorization
4
pallets
4
crawler
4
orm
4
ipython
4
neural-network
4
visualization
4
sqlalchemy
4
jupyter
3
security
3