Interactive parser
Interactive Python parser.
-
IPython – a feature-rich tool that uses interactive Python very effectively.
-
Bpython – A Python parser with a rich interface.
-
Ptpython – An advanced interactive Python parser, built on python-prompt-Toolkit.
file
File management and MIME type detection.
-
Imghdr – (The Python standard library) detects image types.
-
Mimetypes — (The Python standard library) maps file names to MIME types.
-
Path.py – The module that encapsulates os.path.
-
Pathlib – (Python3.4+ standard library) a cross-platform, object-oriented path manipulation library.
-
Python-magic – The Python interface to libmagic, a third-party library for file type detection.
-
Unipath – Manipulating files and directories in an object-oriented manner
-
Watchdog – AN API and shell tool for managing file system events
Date and time
A library for manipulating dates and times.
-
Arrow – Better Python date-time manipulation library.
-
Chronyk – A Python 3 library for parsing times and dates in handwritten format.
-
Dateutil – Extension of the Python datetime module.
-
Delorean – a library that solves some tricky problems with date handling in Python.
-
Moment – a Python library for handling times and dates. The inspiration came from moment.js.
-
PyTime – an easy-to-use Python module for manipulating dates/times with strings.
-
Pytz – Modern and historical versions of world time zone definitions. Introduce the time zone database into Python.
-
When. Py – Provides user-friendly functions to help users with common date and time operations.
Text processing
A library for parsing and manipulating text.
-
general
-
Chardet – character coded detector, compatible with Python2 and Python3.
-
Difflib — (the Python standard library) helps us compare differences.
-
Ftfy – Makes Unicode text more complete and coherent.
-
Fuzzywuzzy — Fuzzy string matching.
-
Levenshtein – Quickly calculates edit distance and string similarity.
-
Pangu. py – Add Spaces between Characters and alphanumeric characters in Korean and Chinese.
-
Pyfiglet – The Python implementation of Figlet.
-
Shortuuid – a generator library for generating concise, plain, URL-safe UUID.
-
Unidecode – ASCII converted form of Unicode text.
-
Uniout – Prints readable characters instead of escaped strings.
-
Xpinyin – a library for converting Chinese characters into pinyin. Therefore, if you want to learn Python, it is necessary to listen to the teacher’s class and receive the benefits of Python. If you want to learn Python, you can go to the weixin (same pronunciation) of Teacher Mengya: the front group is: Mengy, the back group is: 7762, and she will arrange to learn the above two groups of letters in order.
-
Slug,
-
Awesome -slugify – a Python slug library that maintains Unicode.
-
Python-slugify – A Python slug library that converts Unicode to ASCII.
-
Unicode-slugify – A slug tool that generates Unicode slugs that rely on Django.
-
The parser
-
Phonenumbers – parse, format, store, and verify phonenumbers.
-
Python implementations of PLY — lex and yACC parsing tools.
-
Pyacknowledge-general syntax highlighting tool.
-
Pyparsing – a framework to generate a general purpose parser.
-
Python-nameparser – Splits a name into separate parts.
-
Python-user-agents – Browser user agent parser.
-
Sqlparse – a SQL parser without validation.
Special text formatting processing
Libraries for parsing and manipulating particular text formats.
-
general
-
Tablib – a module for processing tabular data.
-
Office
-
Marmir – Converts the input Python data structure into an e-form.
-
Openpyxl – a library for reading and writing Excel 2010 XLSX/XLSM/XLTX/XLTM files.
-
Python-docx — Read, query, and modify Microsoft Word 2007/2008 docx files.
-
Unoconv – Converts between any file formats supported by LibreOffice/OpenOffice.
-
XlsxWriter – a Python module for creating Excel. XLSX files.
-
Xlwings – a library that makes it easy to call Python in Excel (and vice versa) based on the BSD protocol.
-
XLWT/XLRD – Reads and writes data and formatting information from Excel files.
-
Relatorio – Templated OpenDocument files.
-
PDF
-
PDFMiner – a tool for extracting information from PDF documents.
-
PyPDF2 – a library that can split, merge, and convert PDF pages.
-
ReportLab – Quickly create rich text PDF documents.
-
Markdown
-
Mistune — A fast and fully functional Markdown parser for a pure Python implementation.
-
Python-markdown — The Python implementation of John Gruber’s Markdown.
-
YAML
-
PyYAML – The Python version of the YAML parser.
-
CSV
-
Csvkit – Tools for converting and manipulating CSV.
-
Archive
-
Unp – a command line tool used to easily unpack archive files.
Natural language processing
A library used to process human language.
-
NLTK – an advanced platform for building Python programs that process human language data.
-
Jieba — Chinese word segmentation tool.
-
Langid. py – Independent language recognition system.
-
Pattern — Python network information mining module.
-
SnowNLP – a library for processing Chinese text.
-
TextBlob – Provides a consistent API for doing common natural language processing tasks.
-
TextGrocery — a simple and efficient short text categorization tool based on LibLinear and Jieba.
The document
A library used to generate project documents.
-
Sphinx – Python document generator.
-
awesome-sphinxdoc
-
MkDocs – Markdown friendly document generator.
-
Pdoc – a library that replaces Epydoc and automatically generates API documentation for Python libraries.
-
Pycco — Literature-programming style document generator.
configuration
A library for saving and parsing configurations.
-
Config-logging module Hierarchical configuration module written by the author.
-
ConfigObj — INI file parser with validation.
-
ConfigParser – (Python standard library) INI file parser.
-
Profig – Can be configured in a variety of formats with numerical conversion capabilities.
-
(Ps) python- To fully isolate Settings and code.
Command line tool
A library for creating command line programs.
-
Command line program development
-
Cement – Python’s command-line framework.
-
Click – a package that creates elegant command line interfaces through composition.
-
Cliff – a framework for creating command-line programs with multiple layers of commands.
-
Clint — Python command-line tool.
-
Colorama – Cross-platform color terminal text.
-
Docopt – Python style command line argument parser.
-
Gooey – a command that turns a command line program into a GUI program.
-
Python-prompt – Toolkit – a library for building powerful interactive command line programs.
-
Productivity tool
-
Aws – CLI – Common command line interface for Amazon Web Services.
-
Bashplotlib – Do basic drawing in terminal.
-
Caniusepython3 – Determine which project is preventing you from migrating to Python 3.
-
Cookiecutter – a command line tool to create projects from Cookiecutters (project templates).
-
Doitlive – a tool for live demos on terminals.
-
Howdoi – Get instant programming problem solving from the command line.
-
Httpie – a command line HTTP client, an alternative to cURL, with better usability.
-
PathPicker – Selects files from the bash output.
-
Percol – Adds interactive selection to the traditional pipe concept of the UNIX shell.
-
SAWS – an enhanced version of the AWS command line.
-
Thefuck – Fixes your previous command line instructions.
-
Mycli – a MySQL command line client with auto-completion and syntax highlighting.
-
Pgcli – Postgres command line tool, with automatic completion and syntax highlighting functions.
downloader
A library for downloading.
-
S3cmd – a command line tool for managing Amazon S3 and CloudFront.
-
S4cmd – Super S3 command line tool, more powerful performance.
-
You-get – a YouTube/Youku/Niconico video downloader written using Python3.
-
Youtube-dl – a small command line program for downloading YouTube videos.
The image processing
A library for manipulating images.
-
Pillow — Pillow is a much easier to use version of PIL.
-
Hmap – Image histogram mapping.
-
ImgSeek – a project that uses visual similarity to search a collection of images.
-
Nude. Py — Nude detection.
-
PyBarcode – Generates bar codes in Python programs without the help of the PIL library.
-
Pygram – Instagram-like image filter.
-
Python-qrcode – a two-dimensional code generator for a pure Python implementation.
-
Quads — Computer art based on quadtree.
-
Scikit-image – a Python library for (scientific) image processing.
-
Thumbor — A small image service with cropping, resizing, and flipping capabilities.
-
Wand – The Python binding of MagickWand. MagickWand is ImageMagick’s C API.
OCR
Optical character recognition library.
-
Pyocr – a wrapper for Tesseract and Cuneiform.
-
Pytesseract – Another wrapper for Google Tesseract OCR.
-
Python-tesseract – A wrapper class for Google Tesseract OCR.
audio
A library used to manipulate audio
-
Audiolazy – Digital signal processing package for Python.
-
Audioread — Cross-library (GStreamer + Core Audio + MAD + FFmpeg) Audio decoder.
-
Beets – a music library management tool and MusicBrainz tag adding tool
-
Dejavu — Audio fingerprint extraction and identification
-
Django-elastic -transcoder – Django + Amazon elastic transcoder.
-
EyeD3 – a tool for manipulating audio files, specifically MP3 files containing ID3 information.
-
Id3reader – a Python module for reading MP3 metadata.
-
M3u8 – a module for parsing M3U8 files.
-
Mutagen – a Python module for handling audio metadata.
-
Pydub – A simple, concise high-level interface to manipulate audio files.
-
Pyechonest – Python client for the Echo Nest API
-
Talkbox – a Python library for handling speech/signals
-
TimeSide – Open source Web audio processing framework.
-
Tinytag – a library for reading music metadata from MP3, OGG, FLAC and Wave files.
-
Mingus – an advanced music theory and music package that supports MIDI files and playback.
Video
Library for manipulating videos and GIFs.
-
Moviepy – a script-based video editing module for multiple formats, including GIFs.
-
Scikit-video – SciPy video processing common application.
The geographical position
Geocoding addresses and libraries for dealing with latitude and longitude.
-
GeoDjango – World class Web framework for geographic graphics.
-
GeoIP – Python API for MaxMind GeoIP Legacy database.
-
Geojson – Python bindings and tools for geoJSON.
-
Geopy – Python address coding toolkit.
-
Pygeoip – Pure Python GeoIP API.
-
Django-countries – A Django application that provides country selection for tables, flag icon static files, and country fields in the model.
HTTP
Libraries that use HTTP.
-
Requests – A human-friendly library of HTTP requests.
-
Grequests — Requests library + gevent, used for asynchronous HTTP requests.
-
Httplib2 – a comprehensive HTTP client library.
-
Treq – The Requests like Python API is built on top of the Twisted HTTP client.
-
Urllib3 – a clean and friendly HTTP library with thread-safe connection pooling, file POST support.
The database
A database implemented in Python.
-
PickleDB – a simple, lightweight key-value store database.
-
PipelineDB – Streaming SQL database.
-
TinyDB – a tiny, document-oriented database.
-
ZODB – a Python native object database. A key value and object graph database.
Database driver
A library used to connect to and manipulate databases.
-
MySQL – awesome- MySQL series
-
Mysql-python — Python’s mysql database connector.
-
Mysqlclient — mysql-Python branch, supporting Python 3.
-
Oursql – a better MySQL connector that supports native precompiled instructions and BLOBs.
-
PyMySQL — A pure Python MySQL driver compatible with mysql-Python.
-
PostgreSQL
-
Psycopg2 – The most popular PostgreSQL adapter in Python.
-
Queries – A package of the Psycopg2 library used to interact with PostgreSQL.
-
Txpostgres – Twisted based asynchronous PostgreSQL driver.
-
Other relational databases
-
Apsw – Another Python SQLite package.
-
Dataset — which stores Python dictionaries in a database — works with SQLite, MySQL, and PostgreSQL.
-
Pymssql – a simple Microsoft SQL Server database interface.
-
No database
-
Cassandra-python-driver — The Python driver for Cassandra.
-
HappyBase – a developer-friendly library designed for Apache HBase.
-
Plyvel – a fast and feature-rich Python interface to LevelDB.
-
Py2neo – Python encapsulation client for the Neo4j restful interface.
-
Pycassa – Python Thrift driver for Cassandra.
-
PyMongo – The official Python client for MongoDB.
-
Redis-py – Python client for Redis.
-
Telephus – Twisted based Cassandra client.
-
TxRedis – Twisted based Redis client.
ORM
A library that implements object-relational mapping or data mapping techniques.
-
Relational database
-
Awesome – sqlalchemy series
-
Django Models – Part of Django.
-
SQLAlchemy – Python SQL tools and object-relational mapping tools.
-
Peewee – A small, expressive ORM.
-
PonyORM – ORM that provides an SQL interface for generators.
-
Python-sql – Write PYTHON style SQL queries.
-
No database
-
Django-mongodb -engine – Django mongodb backend
-
PynamoDB – A Python-style interface to Amazon DynamoDB.
-
Flywheel – Object mapping tool for Amazon DynamoDB.
-
MongoEngine – a Python object document mapping tool for MongoDB.
-
Hot-redis – Provides Python rich data types for Redis.
-
Redisco – a Python library that provides simple models and containers that can persist in Redis.
-
other
-
Butterdb – Python ORM for Google Drive spreadsheets.
Web framework
Full stack Web framework.
-
Django – The most popular Web framework in Python.
-
Awesome – django series
-
Flask – A Python mini-framework.
-
Awesome – flask series
-
Pyramid – a small, fast, and accessible open source Python Web framework.
-
Awesome – pyramid series
-
Bottle – a fast, compact, lightweight WSGI mini-Web framework.
-
CherryPy – A minimalist Python Web framework that complies with HTTP/1.1 and has WSGI thread pools.
-
TurboGears – a miniature framework that can be expanded into a full stack solution.
-
Web. py – a Python Web framework that is both simple and powerful.
-
Web2py – a full-stack Web framework and platform focused on ease of use.
-
Tornado — A Web framework and asynchronous networking library.
permissions
A library that allows or denies users access to data or functionality.
-
Carteblanche — Module to align code with thoughts of users and designers. Also magically handles navigation and permissions.
-
Django-guardian – Django 1.2+ implements single object permissions.
-
Django-rules – a small but powerful application that provides object-level permission management without the need for a database.
CMS
Content management system
-
Django-cms – An open source, enterprise-class CMS based on Django.
-
Djedi – CMS – A lightweight but very powerful Django CMS that allows for plug-ins, inline editing, and performance.
-
FeinCMS – One of the most advanced content management systems built on Top of Django.
-
Kotti – an advanced, Python-style Web application framework, built on Pyramid.
-
Mezzanine – a powerful, continuous, flexible content management platform.
-
Opps – A CMS platform for magazines, newspapers, and high-traffic portals, based on Django.
-
Plone – a CMS built on top of the open source application server Zope.
-
Quokka — Flexible, scalable small CMS, based on Flask and MongoDB.
-
Wagtail – A Django content management system.
-
Widgy – The latest CMS framework, based on Django.
The electronic commerce
Frameworks and libraries for e-commerce and payments.
-
Django-oscar – an open source e-business framework for Django.
-
Django-shop – a Django-based store system.
-
Cartridge – a shopping cart application built on Mezzanine.
-
Shoop – An open source django-based e-commerce platform.
-
Alipay — Unofficial Python Alipay API.
-
Merchant – A Django application that can accept payments from multiple payment platforms.
-
Money — Currency libraries with optional CLDR backed locale-Aware Formatting and an Extensible Currency Exchange Solution.
-
Python -currencies – Indicates the currency format and its value.
RESTful API
A library for developing RESTful APIs
-
Django
-
Django-rest-framework – a powerful and flexible tool for building Web apis.
-
Django-tastypie – develops apis for Django applications.
-
Django-formapi – Creates JSON APIs for django forms validation.
-
Flask
-
Flask-api – Web APIs developed for Flask to browse.
-
Flask-restful – Quickly create REST APIs for the flask.
-
Flask – Restless – Create RESTful APIs for database models defined by SQLAlchemy.
-
Flask-api-utils — For flask processing API representation and validation.
-
Eve — REST API framework, driven by Flask, MongoDB, etc.
-
Pyramid
-
Cornice – A REST framework for Pyramid.
-
Framework-independent
-
Falcon – a garnish performance framework for building cloud apis and Web app backends.
-
Sandman – Automatically creates REST APIs for existing database-driven systems.
-
Restless – A framework agnostic REST framework based on knowledge learned from Tastypie.
-
Ripozo – Quickly create REST/HATEOAS/Hypermedia APIs.
validation
A library that implements validation schemes.
-
OAuth
-
Authomatic – Simple but powerful framework for authentication/authorization clients.
-
Django-allauth – Django validation application.
-
Django-oauth-toolkit – OAuth2 for Django users.
-
Django-oauth2-provider – Provides oAuth2 access for Django applications.
-
Flask-oauthlib — OAuth 1.0/ A, 2.0 client implementation, for Flask use.
-
OAuthLib – a generic, complete implementation of OAuth request-signature logic.
-
Python-oauth2 – a fully tested abstract interface. Used to create OAuth client and server.
-
Python-social-auth -a simple way to set up social validation.
-
Rauth — OAuth 1.0/ A, 2.0, and Ofly Python libraries.
-
Sanction – a super simple OAuth2 client implementation.
-
other
-
Jose – Implementation of JavaScript object signing and encryption draft.
-
PyJWT – JSON Web token draft 01.
-
Python-jws — Implementation of JSON Web signature Draft 02.
-
Python-jwt – a module for generating and validating JSON Web tokens.
A template engine
Libraries and tools for template generation and lexical parsing.
-
Jinja2 – a modern, designer-friendly template engine.
-
Chameleon – an HTML/XML template engine. Speed optimization is modeled after ZPT (Zope Page Templates).
-
Genshi – Python template tool for generating Web-aware results.
-
Mako – An ultra-fast lightweight template for the Python platform.
Queue
Libraries that handle events and task queues.
-
Celery – an asynchronous task queue/job queue, based on distributed messaging.
-
Huey – Small multithreaded task queue.
-
MRQ – Mr. Queue – a Python distributed worker task Queue using Redis and gevent.
-
Rq – Simple Python job queue.
-
Simpleq — A simple, infinitely scalable queue based on Amazon SQS.
search
Libraries and software that index data and perform search queries.
-
Django-haystack – Django modular search.
-
Elasticsearch -py – The official underlying Python client for ElasticSearch.
-
Elasticsearch – DSL -py – The official advanced Python client for ElasticSearch.
-
Solrpy – Python client for Solr.
-
Whoosh – a fast, pure Python search engine library.
Dynamic message
A library for creating user activity.
-
Django-activity-stream – Generates a generic activity stream from your site’s behavior.
-
Stream-framework – Use Cassandra and Redis to create dynamic messaging and notification systems.
Resource management
A tool for managing, condensing, and minimizing web resources.
-
Django-compressor – Compresses the linked and inline JavaScript or CSS into a separate cache file.
-
Django-storages – A collection of custom storage backend tools for Django.
-
Fanstatic – Package, optimize, and provide static file dependencies as Python packages.
-
File Conveyor – a backgrounder program used to find and synchronize files to CDNs, S3 and FTP.
-
Flask-assets — Integrates Web resources into your Flask app.
-
Jinja-asasset-compressor -a jinja extension that compasses and compresses your resources.
-
Webassets – Generate unique cache urls for packaging, optimizing, and managing your static resources.
The cache
A library that caches data.
-
Beaker – a cache and session library that can be used for Web applications and standalone Python scripts and applications.
-
Django-cache-machine – Automatic caching and invalidation of Django models.
-
Django-cacheops – ORM with automatic granulation of event-driven invalidation.
-
Django-viewlet — Render templates with additional cache control.
-
Cache – Dogpile. Cache is a next-generation alternative to Beaker, developed by the same author.
-
HermesCache – A Python cache library with tag-based invalidation and dogpile effect protection.
-
Johnny-cache – Django application cache framework.
-
Pylibmc – A Python wrapper for the libmemcached interface.
A library for sending and parsing E-mail messages.
-
Django-celery -ses — Django email backend with AWS SES and celery.
-
envelopes – Email library for human use.
-
Flanker – an email address and Mime resolution library.
-
Imbox – The Python IMAP library
-
Inbox.py – Python SMTP server.
-
Inbox – An open source E-mail toolkit.
-
Lamson – SMTP application server in Python style.
-
Mailjet – Implementation of the MailJet API to provide bulk mail delivery, statistics, and more.
-
Marrow.mailer – A high-performance extensible mail distribution framework.
-
Modoboa – a mail hosting and management platform with a modern, minimalist Web UI.
-
Pyzmail – Creates, sends, and parses E-mail.
-
Talon – Mailgun library for extracting information and signatures.
internationalization
A library for internationalization.
-
Babel – an internationalization library for Python.
-
Korean – a Korean lexeme library.
URL processing
A library that parses URLs
-
Furl – a small Python library that makes handling urls easier.
-
Purl – A simple, immutable URL class with a concise API for querying and processing.
-
Pyshorteners – a pure Python URL shortening library.
-
Shorturl – Python implementation that generates short urls and bit.ly like short chains.
-
Webargs – a library for parsing HTTP request parameters, with built-in support for popular Web frameworks including Flask, Django, Bottle, Tornado, and Pyramid.
HTML processing
A library for processing HTML and XML.
-
BeautifulSoup – A Python-style way to iterate, search, and modify HTML or XML.
-
Bleach – a whitelist-based HTML cleanup and text link library.
-
Cssutils – a Python CSS library.
-
Html5lib – a standards-compliant HTML document and fragment parsing and serialization library.
-
LXML – a very fast, easy to use, full-featured library for processing HTML and XML.
-
MarkupSafe – Implements XML/HTML/XHTML markup security strings for Python.
-
Pyquery – a library for parsing HTML, similar to jQuery.
-
Untangle – Converts XML documents into Python objects for easy access.
-
Xhtml2pdf – HTML/CSS to PDF tool.
-
Xmltodict – Handles XML like JSON.
Web site crawl
Crawl the library of a web site
-
Scrapy – a fast advanced framework for screen crawls and web page collection.
-
Cola – a distributed crawler framework.
-
Demiurge – PyQuery-based crawler mini-framework.
-
Feedparser – General purpose feedparser.
-
Grab – Site crawl framework.
-
MechanicalSoup – A Python library for automatically interacting with web sites.
-
Portia – Scrapy Visual crawls.
-
Pyspider – a powerful crawler system.
-
RoboBrowser – a simple, Python-style library for browsing web sites without the need for a separate installed browser.
Web content extraction
A library for extracting web content.
-
Haul – An expandable image crawl tool.
-
Html2text – Converts HTML to Markdown formatted text
-
Lassie – User-friendly web content search library.
-
Micawber – a small web content extraction library for extracting rich content from URLs.
-
Newspaper – Use Python for news extraction, article extraction, and content curation.
-
Opengraph – a Python module for parsing the Open Graph Protocol.
-
Python-goose — HTML content/article extractor.
-
Python-readability — Arc90’s Readability tool is a high-speed port for Python
-
Sanitize – Brings sanity to the cluttered world of data.
-
Sumy – a module for automatic summarization of text files and HTML pages.
-
Textract – Extract text from documents in any format, Word, PowerPoint, PDFs, etc.
The form
A library for performing form operations.
-
Deform – Python HTML form generation library, inspired by the Formish form generation library.
-
Django-bootstrap3 – Django with Bootstrap 3 integration.
-
Django-crispy-forms – a Django application that lets you create beautiful forms in a very elegant and DRY (Don’t Repeat Yourself) way.
-
Django-remote-forms – a platform-independent tool for serializing Django forms.
-
WTForms – a flexible form validation and rendering library.
-
WTForms-JSON – a WTForms extension for processing JSON data.
Data validation
Data validation library. Most commonly used for form validation.
-
Cerberus — A Mappings – Validator with A variety of Rules, normalization-features and simple customization that uses a pythonic schema-definition.
-
Colander – a system for validating and deserializing data obtained from XML, JSON, HTML forms, or other equally simple serialized data.
-
Kmatch – a language for matching/validating/filtering Python dictionaries.
-
Schema – a library for validating Python data structures.
-
Schematics – Data structure validation.
-
Valideer – Lightweight extensible data validation and adaptation library.
-
Voluptuous – a Python data authentication library. The main purpose is to validate JSON, YAML, etc. data passed into Python.
Anti-garbage technology
A library to help you fight e-waste.
-
Django-simple-captcha – A simple, highly customizable Django application that adds captcha to any Django form.
-
Django-simple-spam-blocker – a simple e-spam blocker for Django.
tag
A library for tagging.
- Django-taggit – a simple django tag tool.
Administration panel
Manage the interface library.
-
Ajenti – a admin panel that your server deserves.
-
Django-suit – an alternative to The Django admin interface (free for non-commercial use only).
-
Django-xadmin – an alternative to Django admin with many nice features.
-
Flask-admin – A simple extensible management interface framework for flasks.
-
Flower – a tool for real-time monitoring of Celery clusters and providing a Web management interface.
-
Grappelli – A nice skin for The Django admin interface.
-
Wooey – a Django application that creates web user interfaces for Python scripts.
Static site generator
A static site generator is software that takes text and templates as input and outputs HTML files.
-
Pelican – Use Markdown or ReST for content and Jinja 2 for theme. Support DVCS, Disqus. AGPL license.
-
Cactus – static site generator for designers.
-
Hyde – Static site generator based on Jinja2.
-
Nikola – A static website and blog generator.
-
Tinkerer – Tinkerer is a blog engine/static site generator powered by Sphinx.
-
Lektor – an easy-to-use static CMS and blogging engine.
process
Operating system process startup and communication library.
-
Envoy – More human than the Python Subprocess module.
-
Sarge – Encapsulation of another subprocess module.
-
Sh – a complete subprocess alternative library.
Concurrency and parallelism
A library for concurrent and parallel operations.
-
Multiprocessing – (Python standard library) process-based “threading” interface.
-
Threading – A higher level threading interface.
-
Eventlet – An asynchronous framework that supports WSGI.
-
Gevent – a Python network library based on coroutines, using greenlet.
-
Tomorrow – Magical decorator syntax implementation for generating asynchronous code.
network
Library for network programming.
-
Asyncio – (Python standard library) asynchronous I/O, event loops, coroutines, and tasks.
-
Twisted – An event-driven network engine.
-
Pulsar – Event-driven concurrency framework.
-
Diesel – Greenlet-based event I/O framework.
-
Pyzmq – A Python encapsulation of the ZeroMQ message library.
-
TxZMQ – A Python wrapper based on Twisted’s ZeroMQ message library.
WebSocket
Library to help use WebSocket.
-
AutobahnPython – For Python, WebSocket & WAMP is based on Twisted and Asyncio.
-
Crossbar – Open Source Unified Application Routing (Websocket & WAMP for Python on Autobahn).
-
Django-socketio — WebSockets for Django.
-
Websocket-for-python — WebSocket client and server libraries written for PYTHon2/3 and PyPy.
WSGI servers
Wsgi-compatible Web server
-
Gunicorn — pre-forked, partly written in C.
-
Uwsgi – The purpose of the UWSGi project is to develop a set of full-stack tools for building managed services, written in C.
-
Bjoern – Asynchronous, very fast, written in C.
-
Fapws3 – Asynchronous (network side only), written in C.
-
Meinheld – asynchronous, partially written in C.
-
Netius – Asynchronous, very fast.
-
Paste – Multithreaded, stable, and proven.
-
Rocket – Multiple threads.
-
Waitress – Multithreading, which drives the Pyramid framework.
-
Werkzeug – A WSGI toolkit that powers Flask and can be easily embedded in your projects.
The RPC server
Rpc-compatible server.
-
SimpleJSONRPCServer – This library is an implementation of the JSON-RPC specification.
-
SimpleXMLRPCServer — (Python standard Library) Simple XML-RPC server implementation, single thread.
-
ZeroRPC – zeroRPC is a flexible RPC implementation based on ZeroMQ and MessagePack.
cryptography
-
Cryptography – This package is intended to provide basic content and methods for cryptography for Python developers.
-
Hashids – Implement hashids in Python.
-
Paramiko – Python (2.6+, 3.3+) of the SSHv2 protocol, which provides client and server functions.
-
Passlib – Secure password store/hash library,
-
PyCrypto – Python cryptography toolkit.
-
PyNacl – Python binding for the Network and Cryptography (NaCl) library.
Graphical user interface
A library for creating graphical user interface programs.
-
Curses – Built-in Ncurses package for creating terminal graphical user interfaces.
-
Enaml – Use QML-like Declaratic syntax to create a beautiful user interface.
-
Kivy – a library for creating natural user interaction (NUI) applications that run on Windows, Linux, Mac OS X, Android and iOS platforms.
-
Pyglet – a cross-platform window and multimedia library for Python.
-
PyQt – A Python binding of the cross-platform user interface framework Qt, supporting Qt V4 and Qt V5.
-
PySide -p is a Python binding of the cross-platform user interface framework Qt, supporting Qt V4.
-
Tkinter – Tkinter is a de facto standard library for Python GUI.
-
Toga – a Python native, operating system native GUI toolkit.
-
Urwid – a library for creating terminal GUI applications, supporting components, events, rich colors, etc.
-
WxPython – wxPython is a hybrid of the wxWidgets C++ library and the Python language.
-
PyGObject — Python binding of GLib/GObject/GIO/GTK+ (GTK+3)
-
Flexx – Flexx is a set of tools written in pure Python for creating GUI programs that use Web technologies to present interfaces.
The game development
Great game development library.
-
Cocos2d – Cocos2d is a framework for developing 2D games, examples, and other graphical/interactive applications. Based on the pyglet.
-
Panda3D — 3D game engine developed by Disney and maintained by Carnegie Mellon Entertainment Technology Center. Written in C++, it is fully encapsulated for Python.
-
Pygame — Pygame is a set of Python modules used to write games.
-
PyOgre – A Python binding of the Ogre 3D rendering engine that can be used to develop any 3D application such as games and emulators.
-
PyOpenGL – The Python binding of OpenGL and its related APIs.
-
PySDL2 — A wrapper for the SDL2 library based on Ctypes.
-
RenPy – A visual novel engine.
The log
A library for generating and manipulating logs.
-
Logging — (The Python standard library) provides logging capabilities for Python.
-
Logbook – An alternative to the Logging library.
-
Eliot – Creates logging for complex and distributed systems.
-
Raven – Python client for Sentry.
-
Sentry – Server for logging and collecting logs in real time.
Testing
A library that performs code base tests and generates test data.
-
The test framework
-
Unittest – (Python Standard Library) unit testing framework.
-
Nose — Nose extends the functionality of UnitTest.
-
Contexts – A BDD framework for Python 3.3+. Inspired by C# — Machine.Specifications.
-
Hypothesis – Hypothesis is a test library based on advanced Quickcheck style features.
-
Mamba – The ultimate test tool for Python and supports BDD.
-
PyAutoGUI – PyAutoGUI is a user-friendly cross-platform GUI automatic test module.
-
Pyshould – Should style assertions, based on PyHamcrest.
-
Pytest – a full-fledged Python testing tool.
-
Green – A clean, colorful testing tool.
-
Pypartisans — BDD style testing tools, inspired by libs.js.
-
Robot Framework – a generic automation testing Framework.
-
Web testing
-
Selenium — The Python binding for Selenium WebDriver.
-
Locust – An extensible user-loaded test tool written in Python.
-
Sixpack – A language independent A/B testing framework.
-
Splinter – Open source Web application testing tool.
-
The Mock test
-
Mock – (Python standard library) A library for faking tests.
-
Doublex – a powerful Doubles testing framework for Python.
-
Freezegun – Generate different times by forging the date module.
-
Httmock – a library that generates bogus requests for Python 2.6+ and 3.2+.
-
Httpretty – Python’s HTTP request mock tool.
-
Responses – A generic library to forge the Requests library in Python.
-
Vcr.py – Record and replay HTTP interactions in your tests.
-
Object factory
-
Factoryboy – a Test fixtures library for Python.
-
Mixer – Another test fixtures library, supporting Django, Flask, SQLAlchemy, Peewee, etc.
-
Modelmommy – Creates random firmware for Django tests
-
Code coverage
-
Coverage – Code coverage measurement.
-
Pseudo data
-
Faker – a Python library for generating pseudo-data.
-
Fake2db – Pseudo database generator.
-
Radar – Generates a random date/time.
-
Error handling
-
Fuckit. py – Fuckit. py uses state-of-the-art technology to ensure that your Python code continues to work, whether it’s right or wrong.
Code analysis and Lint tools
Libraries and tools for code analysis, parsing, and manipulation of code bases.
-
The code analysis
-
Code2flow – Convert your Python and JavaScript code into flowcharts.
-
Pycallgraph – This library visualizes the flow (callgraph) of your Python application.
-
Pysonar2 — Python type inference and retrieval tool.
-
Lint tools
-
Flake8 – Modular source code checker: PEP8, PyFlakes and CO.
-
Pylint – a fully customizable source analyzer.
-
Pylama — Code review tool for Python and JavaScript.
Debugging Tools
A library used to debug code.
-
The debugger
-
Ipdb – The PDB enabled by IPython.
-
Pudb – Full screen, console-based Python debugger.
-
Pyringe – Debugger that allows you to append and inject code into Python processes.
-
WDB – a bizarre Web debugger that works over WebSockets.
-
Winpdb – A Python debugger with a graphical user interface that enables remote debugging, based on RPDB2.
-
Django-debug-toolbar – Displays debugging information for Django.
-
Django-devserver – a replacement for Django run server.
-
Flask – DebugToolbar – Django-debug – Flask version of the Toolbar
-
Performance analyzer
-
Lineprofiler – Line by line performance analysis.
-
Memoryprofiler – Monitors memory usage for Python code.
-
Profiling – An interactive Python performance analysis tool.
-
other
-
Pyelftools – Parses and analyzes ELF files and DWARF debugging information.
-
Python-statsd – Python client of the statsd server.
Science and Data Analysis
A library used for scientific calculations and data analysis.
-
Astropy – A Python library for astronomy.
-
Bcbio-nextgen – This toolkit provides best practice processes for fully automated high-throughput sequencing analysis.
-
BCCB – Collection of code related to biological analysis
-
Biopython – Biopython is a free set of tools for doing biological computing.
-
Blaze — Big data interface for NumPy and Pandas.
-
Cclib – a library for parsing and interpreting the output of computational chemistry packages.
-
NetworkX – high performance software designed for complex networks.
-
Neupy – Executes and tests various artificial neural network algorithms.
-
Numba — Python JIT (Just in time) compiler for scientific Python, developed by the developers of Cython and NumPy.
-
NumPy – The base package for scientific computation using Python.
-
Open Babel – a chemistry toolkit for describing a variety of chemical data.
-
Open Mining — Mining business Intelligence (BI) using Python (Pandas Web interface).
-
Orange — Data mining, data visualization, analysis and machine learning through visual programming or Python scripting.
-
Pandas – Provides high-performance, easy-to-use data structure and data analysis tools.
-
PyDy — PyDy is an acronym for Python Dynamics, used to help with dynamic motion modeling workflows, based on NumPy, SciPy, IPython and Matplotlib.
-
PyMC — Markov chain Monte Carlo sampling tool.
-
RDKit – Chemical informatics and machine learning software.
-
SciPy – An ecosystem of open source software based on Python for math, science, and engineering.
-
Statsmodels — Statistical modeling and econometrics.
-
SymPy — a Python library for symbolic mathematics.
-
Zipline – a Trading library for Python algorithms.
Data visualization
A library for data visualization. See also: awesome-javascript.
-
Matplotlib – a Python 2D drawing library.
-
Bokeh – Interactive Web drawing in Python.
-
Ggplot — The Python version of the API ggplot2 provides to R.
-
Plotly – A Web drawing library that works with Python and Matplotlib.
-
Pygal – a Python SVG chart creation tool.
-
Pygraphviz – The Python interface for Graphviz.
-
PyQtGraph — Interactive real-time 2D/3D/ image rendering and science/engineering components.
-
SnakeViz – a browser-based tool for viewing the output of Python’s cProfile module.
-
Vincent – A conversion tool that converts Python to Vega syntax.
-
VisPy – A high-performance scientific visualization tool based on OpenGL. Therefore, if you want to learn Python, it is necessary to listen to the teacher’s class and receive the benefits of Python. If you want to learn Python, you can go to the weixin (same pronunciation) of Teacher Mengya: the front group is: Mengy, the back group is: 7762, and she will arrange to learn the above two groups of letters in order.
Computer vision
Computer vision library.
-
OpenCV – Open source computer vision library.
-
SimpleCV – An open source framework for creating computer vision applications.
Machine learning
Machine learning library. See also: awesome – machine – learning.
-
Crab — flexible, fast recommendation engine.
-
Gensim – User-friendly topic modeling library.
-
Hebel — GPU-accelerated deep learning library
-
NuPIC — Numenta platform for intelligent computing.
-
Pattern — Python network mining module.
-
PyBrain – Another Python machine learning library.
-
Pylearn2 — a machine learning library based on Theano.
-
Python-recsys – a Python library for implementing recommendation systems.
-
Scikit-learn – Machine learning Python module built on SciPy.
-
Pydeep – Python deep learning library.
-
Vowpalporpoise – A Python package for lightweight Vowpal Wabbit.
-
Skflow – a simplified interface to TensorFlow (modeled after Scikit-learn).
MapReduce
MapReduce framework and libraries.
-
Dpark – A Python clone of Spark, a mapReduce-like framework.
-
Dumbo – This Python module makes it easy to write and run Hadoop programs.
-
Luigi – This module helps you build a complex pipeline of batch jobs.
-
Mrjob – Runs MapReduce jobs on Hadoop or Amazon Web Services.
-
PySpark – The Python API of Spark.
-
Streamparse – Runs Python code for streams of fact data. Apache Storm is integrated.
Functional programming
Use Python for functional programming.
-
CyToolz – Cython implementation of Toolz: high-performance functional tool.
-
Fn.py — Functional programming in Python: Implements some features that functional programming enjoys missing.
-
Funcy – a functional tool that is cool and useful.
-
Toolz – a set of functional programming tools for iterators, functions, and dictionaries.
The third party API
A library for accessing third-party apis. See: List of Python API Wrappers and Libraries.
-
Apache-libcloud – a Python library designed for various clouds.
-
Boto – Python interface to Amazon Web Services.
-
Django -wordpress – WordPress Models and Views for Django
-
Facebook – SDK – Python SDK for Facebook platform.
-
Facepy – Facepy makes interacting with Facebook’s Graph API much easier.
-
Gmail – Python interface for Gmail.
-
Google-api-python-client – Google APIs client library for Python.
-
Gspread – Python API for Google spreadsheets.
-
Twython – A wrapper around the Twitter API.
The conversation tool
Software and libraries for DevOps.
-
Ansible – a very simple IT automation platform.
-
SaltStack – Infrastructure automation and management system.
-
OpenStack – Open source software for building private and public clouds.
-
Docker Compose — Fast, isolated development environment that uses Docker.
-
Fabric – A simple, Python-style tool for remote execution and deployment.
-
Cuisine – Provides a series of advanced functions for Fabric.
-
Fabtools – a tool for writing awesome Fabric files.
-
Gitapi – Git’s pure Python API.
-
Hgapi — Mercurial’s pure Python API.
-
Honcho – Foreman Python clone for managing procfile-based applications.
-
Pexpect — Controlling interactive programs ina pseudo-terminal like GNU Expect.
-
Psutil – a cross-platform process and system tools module.
-
Supervisor – The process control system for UNIX.
Task scheduling
Task scheduling library.
-
APScheduler – lightweight but powerful in-process task scheduling that allows you to schedule functions.
-
Django-schedule – a django scheduling application.
-
Doit – a task execution and build tool.
-
Gunnery – A multipurpose task execution tool for distributed systems with a Web interactive interface.
-
Joblib – a set of tools that provide a lightweight workflow for Python.
-
Plan – Write crontab files if the magic works.
-
Schedule – A user-friendly Python task scheduling library.
-
Spiff – a powerful workflow engine implemented using pure Python.
-
TaskFlow – a Python library that makes it easy to perform tasks, consistent and reliable.
External function interface
Libraries that use foreign function interfaces.
-
Cffi – a foreign function interface for calling C code.
-
Ctypes — (The Python standard library) an interface to foreign functions used to call C code.
-
PyCUDA – Nvidia CUDA API package.
-
SWIG – Simplified wrapper and interface generator.
A high performance
Library to make Python faster.
-
Cython – Optimized static compiler for Python. Use type mixing to compile Python into C or C++ modules for a huge performance boost.
-
PeachPy — an x86-64 assembler embedded in Python. Can be used as an inline Python assembler or standalone assembler for Windows, Linux, OS X, Native Client, or Go.
-
PyPy – Python implemented using Python. The interpreter uses dark magic to speed Up Python without adding additional type information.
-
Pyston – A Python implementation built using LLVM and modern JIT technology with the goal of achieving good performance.
-
Stackless Python – an enhanced version of Python.
Microsoft’s Windows platform
Python programming on Windows platforms.
-
Python(X, Y) — Python distribution for scientific applications, based on Qt and Spyder.
-
Pythonlibs – An unofficial Python extension binary for the Windows platform.
-
PythonNet – Integration of Python with the.NET common Language runtime (CLR).
-
PyWin32 – A Python extension for Windows.
-
WinPython — Portable development environment for Windows 7/8.
Network visualization and SDN
Tools and libraries for network visualization and SDN(software defined Networks).
-
Mininet – a popular network emulator and API written in Python.
-
POX – An open source development platform for Python-based software-defined network applications such as the OpenFlow SDN controller.
-
Pyretic – a member of the popular SDN programming language that provides powerful abstraction capabilities for network switches and emulators.
-
SDX Platform — SDN based IXP implementation that affects Mininet, POX and Pyretic.
hardware
A library used to program hardware.
-
Ino – Command line tool for operating Arduino.
-
Pyro – Python robot programming library.
-
PyUserInput – Cross-platform, mouse and keyboard control module.
-
Scapy – a great library for manipulating packets.
-
Wifi – A Python library and command-line tool for operating wifi on Linux platforms.
-
Pingo — Pingo provides a unified API for programming devices like Raspberry Pi, pcDuino, Intel Galileo, and more.
compatibility
A library to help migrate from Python 2 to Python 3.
-
Python-future – This is the missing compatibility layer between Python 2 and Python 3.
-
Python-modernize – Modernizes Python code for eventual migration to Python 3.
-
Six — Compatibility tools for Python 2 and 3.
miscellaneous
A library that does not fall into any of the above categories, but is very useful.
-
Blinker – a fast Python in-process signal/event distribution system.
-
Itsdangerous – a series of assistive tools for passing trusted data into untrusted environments.
-
Pluginbase – a simple but very flexible Python plug-in system.
-
Pychievements – a Python framework for creating and tracking achievements.
-
Tryton – A general purpose business framework.
Algorithms and design patterns
Algorithms and design patterns implemented in Python.
-
Algorithms – A Python algorithm module
-
Python-patterns – A collection of Python design patterns.
-
Sortedcontainers – Fast, pure Python implementations of the SortedList, SortedDict, and SortedSet types.
Editor plug-in
Editor and IDE plug-ins
-
Emacs
-
Elpy – Emacs Python development environment.
-
Sublime Text
-
SublimeJEDI – a Sublime Text plugin that uses the awesome autocomplete library Jedi.
-
Anaconda – Anaconda turns your Sublime Text 3 into a fully featured Python IDE.
-
Vim
-
YouCompleteMe – Introduced a Jedi-based Python autocomplete engine.
-
Jedi- Vim – Bind vim and the Jedi autocomplete library to autocomplete Python.
-
Python-mode – Makes Vim an all-in-one plug-in for the Python IDE.
-
Visual Studio
-
PTVS — Python tools for Visual Studio
Integrated development environment
The popular Python integrated development environment.
-
PyCharm — A commercial Python IDE, developed by JetBrains. There is also a free community edition available.
-
LiClipse – A free multilingual ECLIPse-based IDE. Use PyDev to support Python.
-
Spyder – Open Source Python IDE.
service
Online tools and apis to simplify development.
Continuous integration
See also: awesome – CIandCD.
-
Travis CI – a popular tool that provides continuous integration services for your open source and private projects. (GitHub only)
-
CircleCI – a continuous integration tool for very fast parallel testing. (GitHub only)
-
Vexor CI — A continuous integration tool for private apps that can be paid by the minute.
-
Wercker – Based on the Docker platform for building and deploying microservices.
The code quality
-
Codacy – Automates code review and releases high quality code faster. It is free for open source projects.
-
QuantifiedCode – a data-driven, automated, continuous code review tool
Sorted out their own video materials, free access to video methods: private letter reply number 666 can!