Thousands of Python libraries

The Python ecosystem has always been famous for its complete range of class libraries, which is also an important reason why this language is so popular.

text processing

text processing
  • chardet: Character encoding detector, this library can detect the encoding of text, web pages, xml and other file formats

  • difflib: text difference comparison

  • ftfy: Make the program more fully support Unicode encoding

  • fuzzywuzzy: can perform fuzzy matching of strings

  • Levenshtein: Calculate various distances and string similarities

  • pangu.py: adjust the spacing between letters and numbers in Chinese, Japanese and Korean characters

  • pypinyin: Chinese pinyin conversion tool

  • shortuuid: used to generate UUID

  • simplejson: JSON encoder and decoder

  • unidecode: Unicode format operation

  • uniout: print characters without escaping

  • xpinyin: Convert Chinese characters to Pinyin

  • yfiglet-figlet: pyfiglet - Python implementation of figlet

  • flashtext: used for text search and replacement

  • esmre: speed up regular expressions

  • awesome slugify: for handling Unicode

  • python-slugify: Convert unicode to ASCII

  • unicode-slugify: can generate unicode slugs and depends on Django

  • phonenumbers: used to parse, format, store and verify phone numbers

  • PLY: lex and yacc parsing tool

  • Pygments: syntax highlighting tool

  • pyparsing: can generate universal parsers

  • python-nameparser: Decompose a person's name into several independent parts

  • python-user-agents: Browser user agent parser

  • sqlparse: SQL parser

special text processing
  • tablib: used to process tabular data

  • Marmir: Convert Python data structures into spreadsheets

  • openpyxl: library for reading and writing Excel files

  • pyexcel: A library that provides a unified API for manipulating Excel files

  • python-docx: Manipulate Word files

  • relatorio: templated OpenDocument files

  • unoconv: Convert LibreOffice/OpenOffice file formats

  • XlsxWriter: used to create Excel.xlsx files

  • xlwings: A library for calling Python from Excel

  • xlwt/xlrd: read and write data in Excel files

  • PDFMiner: a library for extracting information from PDF documents

  • PyPDF2: A library for various operations on PDF pages

  • ReportLab: Can create rich text PDF documents

  • Mistune: Markdown parser

  • Python-Markdown: There is a Markdown parser

  • Python-Markdown2: Markdown parser implemented in pure Python, faster, more accurate and scalable than Python-Markdown

  • PyYAML: YAML parser

  • csvkit: Tool for manipulating CSV

  • unp: a command line tool for unpacking archive files

HTML/XML parsing
  • BeautifulSoup: Parse HTML or XML format data

  • bleach: Whitelist-based HTML cleaning and text linking library

  • cssutils: CSS library

  • html5lib: HTML document and fragment parsing and serialization library

  • lxml: a library for processing HTML and XML

  • MarkupSafe: XML/HTML/XHTML markup safe strings

  • pyquery: a library for parsing HTML, similar to jQuery

  • requests-html: Humanized HTML parsing library

  • untangle: Convert XML documents to Python objects

  • xhtml2pdf: HTML/CSS to PDF tool

  • xmltodict: Process XML like JSON

  • htmlparser, the official version parses HTML DOM tree

File processing
  • aiofiles: asynchronous file operation library based on asyncio

  • imghdr: detect image type

  • mimetypes: Map filenames to MIME types

  • path.py: module for more convenient path operations

  • pathlib: cross-platform, object-oriented path manipulation library

  • python-magic: file type detection

  • Unipath: Manipulate files and directories in an object-oriented way

  • pickle/cPickle: implements basic data sequence and deserialization

  • watchdog: a tool for managing file system events

Configuration file processing
  • ConfigParser: ini file parser

  • configobj: ini file parser

  • profig: multi-format configuration conversion tool

  • config: hierarchical configuration module

  • python-decouple: Completely isolate setup and code

Document related
  • Sphinx: documentation generator

  • mkdocs: Markdown format document generator

  • pycco: a simple, fast, programming-style documentation generator

  • pdoc: A tool for generating documents in various formats from source code comments

  • readthedocs: an online document hosting system based on Sphinx/MkDocs

Log management
  • logging: Provides logging function

  • logbook: a replacement for the Logging library

  • Eliot: Creating logs for complex and distributed systems

  • Raven: Python client for Sentry

  • Sentry: a server that records and collects logs in real time

date and time
  • arrow: a very good date and time manipulation library

  • Chronyk: for parsing times and dates in handwritten formats

  • dateutil: extension of datetime module

  • delorean: A library that solves date processing problems in Python

  • maya: a humanized time processing library

  • moment: Python library for working with times and dates

  • pendulum: a time manipulation library with more explicit, predictable behavior than arrow

  • PyTime: for manipulating date/time via strings

  • pytz: modern and historical versions of world time zone definitions

  • when.py: perform common date and time operations

Image related

Image Processing
  • pillow: is a more easy-to-use image manipulation library

  • hmap: image histogram mapping

  • imgSeek: Tool for searching a collection of images using visual similarity

  • nude.py: Nude detection

  • pyBarcode: Generate barcodes in a Python program

  • pygram: Instagram-like image filters

  • python-qrcode: a QR code generator

  • Quads: Computer art based on quadtrees

  • scikit-image: a library for image processing

  • thumbor: a small image service

  • wand: Python version of MagickWand

  • face_recognition: Simple and easy-to-use face recognition library

OCR
  • pyocr: a wrapper for Tesseract and Cuneiform

  • pytesseract: Another wrapper for Google Tesseract OCR

  • python-tesseract: A wrapper class for Google Tesseract OCR

Network related

download
  • s3cmd: Command line tool for managing Amazon S3 and CloudFront

  • s4cmd: S3 command line tool

  • you-get: YouTube/Youku/Niconico video downloader

  • youtube-dl: Tool for downloading YouTube videos

  • Coursera: Videos can be downloaded from http://coursera.org

  • subliminal: library for searching and downloading subtitles

HTTP
  • aiohttp: Asynchronous HTTP library based on asyncio

  • requests: the most popular HTTP request library

  • grequests: requests library + gevent implements asynchronous HTTP requests

  • httplib2: HTTP client library

  • treq: HTTP client similar to requests

  • urllib3: A thread-safe HTTP library

Network visualization
  • Mininet: a popular network simulator

  • POX: A Python-based software-defined network application

  • Pyretic: Provides powerful abstractions for network switches and simulators

  • SDX Platform: SDN-based IXP implementation

  • NRU: A component-based software-defined networking framework

URL handling
  • furl: a simpler URL processing library

  • purl: a simple, immutable URL class

  • pyshorteners: a pure Python URL shortening library

  • shorturl: library for generating short URLs

Web Crawler
  • Scrapy: a fast and advanced network scraping framework

  • cola: a distributed crawler framework

  • Demiurge: PyQuery-based crawler framework

  • feedparser: feed parser

  • Grab: Site crawling framework

  • MechanicalSoup: A library for automating interactions with web sites

  • portia: Scrapy visual crawler

  • pyspider: a powerful crawler tool

  • RoboBrowser: A simple website browsing tool

Web content extraction
  • Haul: a scalable image scraping tool

  • html2text: Convert HTML to Markdown format

  • lassie: web content retrieval library

  • micawber: Web content extraction library for extracting rich content from URLs

  • newspaper: perform news extraction, article extraction and content curation

  • opengraph: module used to parse open content protocols

  • python-goose: HTML content/article extractor

  • python-readability: Python interface to the readability tool

  • sanitize: messy data adjustment

  • sumy: module for automatic summarization of text files and HTML pages

  • textract: Extract text from documents in any format

  • mechanize: web browsing tool

WebSocket
  • AutobahnPython: WebSocket & WAMP Tools

  • Crossbar: Open Source Unified Application Routing

  • django-socketio: WebSockets tools for Django

  • WebSocket-for-Python: WebSocket client and server library

RPC
  • SimpleJSONRPCServer: is an implementation of the JSON-RPC specification

  • SimpleXMLRPCServer: Simple XML-RPC server implementation

  • zeroRPC: is an RPC implementation

 

web framework

Full stack framework
  • Django: the most popular web framework in Python

  • Flask: a micro web framework

  • pyramid: a small and fast open source web framework

  • Bottle: A fast, small, lightweight WSGI micro-web framework

  • CherryPy: A minimalist web framework

  • TurboGears: a micro-framework that scales into a full-stack solution

  • web.py: a simple yet powerful web framework

  • web2py: a full-stack web framework

  • Tornado: a web framework and asynchronous networking library

  • sanic: asynchronous network framework

  • Karrigell: A simple web framework

  • PyDBLitewebpy: a small and flexible web framework

  • Quixote: a web development framework

  • Grok: Web framework based on Zope3

  • Bluebream: open source web application server

  • guava: lightweight, high-performance web framework

CMS
  • odoo-cms: Open source enterprise CMS

  • django-cms: open source enterprise CMS

  • djedi-cms: lightweight yet powerful Django CMS

  • FeinCMS: An advanced content management system built on Django

  • Kotti: an advanced web application framework

  • Mezzanine: a powerful and flexible content management platform

  • Opps: a CMS platform designed for magazine and newspaper websites

  • Plone: ​​a CMS built on the open source application server Zope

  • Quokka: a flexible and scalable small CMS

  • Wagtail: A Django content management system

  • Widgy: the latest CMS framework, based on Django

Web permissions/security
  • Carteblanche: Code alignment module, which handles code navigation and permissions well

  • django-guardian: individual object permissions

  • django-rules: A small but powerful application that provides object-level permission management

  • Flask-OAuthlib: OAuth toolkit for Flask

  • django-oauth-toolkit: OAuth2 for Django users

  • django-allauth: Authentication module for Django

  • Authomatic: Simple yet powerful framework for authentication/authorization clients

business framework
  • django-oscar: An e-commerce framework for Django

  • django-shop: Django-based store system

  • Cartridge: A shopping cart application built on Mezzanine

  • shoop: an e-commerce platform based on Django

  • alipay: Alipay API

  • merchant: Django application that can accept payments from multiple payment platforms

  • money: currency library

  • python-currencies: Display currency format and its numerical value

Restful API
  • django-rest-framework: A Django-based tool for building Web APIs

  • django-tastypie: API tool for developing Django applications

  • django-formapi: Django’s form validation tool

  • flask-api: API tool developed for flask

  • flask-restful: Tool for quickly creating REST APIs for flask

  • flask-restless: RESTful APIs developed for the SQLAlchemy database model

  • flask-api-utils: handles API presentation and validation for Flask

  • eve: REST API framework driven by Flask, MongoDB, etc.

  • cornice: a REST framework for Pyramid

  • falcon: A high-performance framework for building cloud API and web app backends

  • sandman: Automatically create REST APIs for database-driven systems

  • restless: framework-agnostic REST framework

  • ripozo: Tool for quickly creating REST APIs

template engine
  • Jinja2: a modern and friendly template engine

  • Chameleon: an HTML/XML template engine

  • Genshi: used to generate web-aware results

  • Mako: super fast lightweight template

queue
  • celery: an asynchronous task queue/job queue

  • huey: small multi-threaded task queue

  • mrq: distributed worker task queue, using Redis and gevent

  • rq: Simple job queuing tool

  • simpleq: a simple queue based on Amazon SQS

search
  • django-haystack: Django modular search tool

  • elasticsearch-py: the official underlying Python client for Elasticsearch

  • elasticsearch-dsl-py: The official high-level Python client for Elasticsearch

  • solrpy: Python client for solr

  • Whoosh: A fast search engine written in pure Python

news feed
  • django-activity-stream: Generate generic activity streams from site actions

  • Stream-Framework: Create dynamic messaging and notification systems using Cassandra and Redis

Resource management
  • django-compressor: Compress linked and inline JavaScript or CSS into a single cache file

  • django-storages: A collection of tools for storage backends for Django

  • fanstatic: Package, optimize and provide static file dependencies as Python packages

  • File Conveyor: Used to discover and synchronize files to CDNs, S3 and FTP

  • Flask-Assets: Integrate web resources into Flask app

  • jinja-assets-compressor: used to compile and compress resources

  • webassets: Packaging, optimizing and managing static resources to generate unique cache URLs

cache
  • Beaker: a library for caching sessions

  • django-cache-machine: Automatic caching and invalidation tool

  • django-cacheops: ORM with automatic granular event-driven invalidation

  • django-viewlet: rendering templates and additional cache control features

  • dogpile.cache: a next-generation replacement for Beaker

  • HermesCache: caching library with tag-based invalidation and dogpile effect protection

  • johnny-cache: Django application caching framework

  • pylibmc: libmemcached interface encapsulation

form
  • Deform: HTML form generation library

  • django-bootstrap3: Django integrated with Bootstrap3

  • django-crispy-forms: Create beautiful forms in a very elegant and DRY (Don't repeat yourself) way

  • django-remote-forms: A platform-independent Django form serialization tool

  • WTForms: a flexible form validation and rendering library

  • WTForms-JSON: WTForms extension for processing JSON data

data verification
  • Cerberus: mapping validator

  • colander: A system for validating and deserializing data obtained from XML, JSON, HTML forms and serialized data

  • kmatch: A tool for matching/validating/filtering dictionaries

  • schema: A library for validating Python data structures

  • Schematics: for data structure validation

  • valideer: lightweight data validation and adaptation library

  • voluptuous: Data verification library, mainly used to verify JSON, YAML and other data passed into Python

e-mail
  • django-celery-ses: email backend with AWS SES and Celery

  • envelopes: a human-friendly email library

  • flanker: an email address and Mime parsing library

  • imbox: IMAP library

  • inbox.py: SMTP server

  • inbox: an open source email toolbox

  • lamson: Python-style SMTP application server

  • mailjet: Provides functions such as batch email sending, statistics, etc.

  • marrow.mailer: a high-performance scalable email distribution framework

  • modoboa: Email hosting and management platform

  • pyzmail: Create, send and parse emails

  • Talon: used to extract information and signatures

  • django-simple-captcha: A simple, highly customizable Django application

  • django-simple-spam-blocker: A simple spam blocking tool for Django

URL
  • webargs: a library for parsing HTTP request parameters

  • short_url: short URL generation

globalization
  • Babel: an internationalization library for Python

  • Korean: A Korean lexicon library

Admin panel
  • Ajenti: An Admin Panel Worth Having

  • django-suit: A replacement for the Django admin interface

  • django-xadmin: A replacement for Django admin

  • flask-admin: A simple and extensible admin interface framework for Flask

  • flower: A tool for real-time monitoring of Celery clusters and providing a web management interface

  • Grappelli: A beautiful skin for the Django admin interface

  • Wooey: Can create web user interfaces for Python scripts

static site generation
  • Pelican: Process content via Markdown or ReST, use Jinja2 for themes

  • Cactus: Static site generator designed for professional designers

  • Hyde: static site generator based on Jinja2

  • Nikola: static website and blog generator

  • Tinkerer: a blogging engine/static site generator

  • Lektor: an easy-to-use static CMS and blogging engine

  • Tags: the simplest static website generator

WSGI server
  • gunicorn: WSGI tool written partly in C

  • uwsgi: used to build hosting services

  • bjoern: async is very fast

  • fapws3: asynchronous, written in C language

  • meinheld: asynchronous server

  • netius: asynchronous, very fast

  • paste: multi-threaded, stable, proven

  • rocket: multi-threaded

  • waitress: multi-threading

  • Werkzeug: a WSGI tool library

ORM
  • Django Models: an important component of Django

  • SQLAlchemy: SQL tool and object-relational mapping tool

  • Peewee: A small ORM

  • PonyORM: Provides a generator-oriented SQL ORM

  • python-sql: Python-style SQL queries

  • django-mongodb-engine: Django MongoDB backend

  • PynamoDB: The backend for Amazon DynamoDB

  • flywheel: an object mapping tool for Amazon DynamoDB

  • MongoEngine: Object document mapping tool for MongoDB

  • hot-redis: backend for Redis

  • redis: Provides simple models and containers that can persist in Redis

  • butterdb: Python ORM for Google Drive spreadsheets

 

geographical location

  • GeoDjango: a world-class geographic web framework

  • GeoIP: API for the MaxMind GeoIP Legacy database

  • geojson: Python tool for GeoJSON

  • geopy: address encoding toolbox

  • pygeoip: Pure Python GeoIP API

  • django-countries: Provides country selection functionality for tables, flag icon static files, and country fields in models

system

process
  • envoy: a more user-friendly module than the subprocess module

  • sarge: Another encapsulation of the subprocess module

  • sh: subprocess replacement library

  • subprocess: an artifact for calling shell commands

Concurrency/Parallel
  • multiprocessing: process-based "thread" interface

  • threading: higher-level thread interface

  • eventlet: an asynchronous framework supporting WSGI

  • gevent: Python network library based on coroutines

  • Tomorrow: a library for generating asynchronous code

  • uvloop: A library for ultra-fast asyncio event loop implementation on top of libuv

 

Database related

Database implemented in Python
  • pickleDB: Simple lightweight key-value storage database

  • PipelineDB: Streaming SQL Database

  • TinyDB: a tiny document-oriented database

  • ZODB: Key-value and object graph database

Database driven
  • aiomysql: asynchronous MySQL database operation library based on asyncio

  • mysql-python: MySQL database connector

  • mysqlclient: mysql-python branch

  • oursql: a better MySQL connector

  • PyMySQL: Pure Python MySQL driver

  • psycopg2: The most popular PostgreSQL adapter

  • queries: encapsulation of the psycopg2 library

  • txpostgres: Twisted-based asynchronous PostgreSQL driver

  • apsw: SQLite wrapper

  • dataset: stores Python dictionaries in the database

  • pymssql: A simple Microsoft SQL Server database interface

  • cassandra-python-driver: Python driver for Cassandra

  • HappyBase: A library designed for Apache HBase

  • Plyvel: a fast and feature-rich interface library for LevelDB

  • py2neo: encapsulated client for Neo4j restful interface

  • pycassa: Python Thrift driver for Cassandra

  • PyMongo: The official Python client for MongoDB

  • redis-py: Python client for Redis

  • telephus: Cassandra client based on Twisted

  • txRedis: Redis client based on Twisted

Safety

OAuth
  • OAuthLib: an OAuth request-signature library

  • python-oauth2: fully tested abstract interface

  • python-social-auth: Set up a simple social authentication method

  • rauth: Python library for OAuth 1.0/a, 2.0, and Ofly

  • sanction: Super simple OAuth2 client implementation

password
  • cryptography: Provides basic cryptography content and methods

  • hashids: Implementing hashids in Python

  • Paramiko: Provides ssh client and server functions

  • Passlib: Secure password storage/hashing library

  • PyCrypto: Cryptozoology Toolbox

  • PyNacl: Networking and cryptography library

other
  • jose: Implementation of JavaScript Object Signing and Encryption Draft

  • PyJWT: JSON Web Token

  • python-jws: JSON Web Signature

  • python-jwt: Module for generating and validating JSON web tokens

  • Permissions: Allow or deny user access to data or functions

 

AI

natural language processing
  • NLTK: Advanced tools for building programs that process human language data

  • jieba: Chinese word segmentation tool

  • langid.py: independent language recognition system

  • SnowNLP: a library for processing Chinese text

  • TextBlob: Natural Language Processing Tool

  • TextGrocery: A simple and efficient short text classification tool

  • thulac: a Chinese lexical analysis toolkit developed and launched by the Natural Language Processing and Social Humanities Computing Laboratory of Tsinghua University

  • loso: Chinese word segmentation function library

computer vision
  • OpenCV: Open source computer vision library

  • pyocr: Wrapping library for Tesseract and Cuneiform

  • pytesseract: Google Tesseract OCR packaging library

  • SimpleCV: an open source framework for creating computer vision applications

Machine Learning/Deep Learning
  • Caffe: Python interface to Caffe

  • Caffe2: A lightweight, modular, and scalable deep learning framework

  • Crab: a flexible and fast recommendation engine

  • gensim: Humanized topic modeling library

  • hebel: deep learning library

  • keras: neural network

  • MXNet: an efficient and flexible deep learning framework

  • NuPIC: Numenta Platform for Intelligent Computing

  • pattern: network mining module

  • PyBrain: Machine Learning Library

  • pydeep: deep learning library

  • Pylearn2: A machine learning library based on Theano

  • python-recsys: library used to implement recommendation systems

  • Pytorch: A deep learning framework with tensors and dynamic neural networks

  • scikit-learn: Machine learning module built on SciPy

  • skflow: a simplified interface to TensorFlow

  • TensorFlow: the most popular deep learning framework open sourced by Google

  • Theano: a fast numerical computation library

  • vowpalporpoise: lightweight Vowpal Wabbit package

  • Milk: Machine Learning Toolbox

  • PyMVPA (Multivariate Pattern Analysis in Python): A Python toolkit that provides statistical learning analysis for large data sets. It provides a flexible and extensible framework.

Scientific Computing and Data Analysis

data processing
  • astropy: astronomy-related library

  • bcbio-nextgen: Provides best-practice processing workflows for fully automated high-throughput sequencing analysis

  • bccb: bioanalysis

  • Biopython: a set of free tools for biological computing

  • blaze: A big data interface for NumPy and Pandas

  • cclib: a library for parsing and interpreting output from computational chemistry packages

  • NetworkX: High-performance tools designed for complex networks

  • Neupy: execute and test a variety of different artificial neural network algorithms

  • Numba: Python for data science

  • NumPy: a basic package for scientific computing

  • Open Babel: used to describe a variety of chemical data

  • Open Mining: Mining business intelligence using Python

  • orange: Perform data mining, data visualization, analytics and machine learning

  • Pandas: data structures and data analysis tools

  • PyDy: Used to aid the dynamic motion modeling workflow

  • PyMC: Markov Chain Monte Carlo Sampling Tool

  • RDKit: cheminformatics and machine learning software

  • SciPy: open source software for math, science, and engineering

  • statsmodels: statistical modeling and econometrics

  • SymPy: a library for symbolic mathematics

  • zipline: algorithmic trading library

  • Bayesian-belief-networks: An elegant Bayesian belief network framework

  • ScientificPython: for scientific computing

  • visvis: Visual computing module library

data visualization
  • matplotlib: the most popular Python plotting library

  • bokeh: Make interactive web drawings

  • ggplot: Python version of ggplot2

  • plotly: a web plotting library based on matplotlib

  • pyecharts: Data visualization library based on Baidu Echarts

  • pygal: SVG chart creation tool

  • pygraphviz: Python implementation of Graphviz

  • PyQtGraph: interactive real-time image drawing component

  • SnakeViz: Browser-based module output viewing tool

  • vincent: Conversion tool for converting Python to Vega syntax

  • VisPy: a high-performance scientific visualization tool based on OpenGL

 

GUI and game development

GUI
  • curses: built-in ncurses wrapper for creating terminal graphical user interfaces

  • enaml: Create beautiful user interfaces

  • kivy: library for creating user interactive applications

  • pyglet: cross-platform window and multimedia library

  • PyQt: Cross-platform user interface framework

  • PySide: Cross-platform user interface framework Qt

  • Tkinter: GUI standard library

  • Toga: A GUI toolkit native to the operating system

  • urwid: library for creating terminal GUI applications

  • wxPython: is a mixture of the wxWidgets C++ class library and the Python language

  • PyGObject: Python implementation of GLib/GObject/GIO/GTK+ (GTK+3)

  • Flexx: A tool set for creating GUI programs that uses web technology to display the interface

  • PyGtk: GUI program development library

  • turtle: Python drawing tool

game development
  • Cocos2d: Tools for developing 2D games

  • Panda3D: 3D game engine

  • Pygame: the most popular module for writing games

  • PyOgre: used to develop games and simulation programs

  • PyOpenGL: Python bindings for OpenGL and its related APIs

  • PySDL2: A wrapper for the SDL2 library

  • RenPy: a visual novel engine

  • PySFML: visual novel engine

Audio and video

Audio
  • audiolazy: digital signal processing package

  • audioread: cross library audio decoding

  • beets: music library management tool

  • dejavu: audio fingerprint extraction and identification

  • django-elastic-transcoder:Django + Amazon Elastic Transcoder

  • eyeD3: Tools for manipulating audio files

  • id3reader: used to read MP3 metadata

  • m3u8: module used to parse m3u8 files

  • mutagen: used to process audio metadata

  • pydub: Manipulate audio files

  • pyechonest: Python client for the Echo Nest API

  • talkbox: used to process speech/signals

  • TimeSide: open source web audio processing framework

  • tinytag: library for reading music metadata from MP3, OGG, FLAC and Wave files

  • mingus: advanced music theory and score package

video
  • moviepy: a script-based video editing module

  • scikit-video: SciPy video processing common program

  • shorten.tv: video summary

 

Test related

testing framework
  • unittest: unit testing framework

  • nose: extends the functionality of unittest

  • contexts: BDD framework

  • hypothesis: A testing library based on advanced Quickcheck style features

  • mamba: the ultimate testing tool for Python

  • PyAutoGUI: PyAutoGUI is a humanized cross-platform GUI automatic testing module

  • pyshould: Test module based on PyHamcrest

  • pytest: a mature, full-featured testing tool

  • green: clean and colorful testing tools

  • pyvows: BDD-style testing tool

  • Robot Framework: Universal automated testing framework

Web testing
  • Selenium: Python implementation of Selenium WebDriver

  • locust: a scalable user stress testing tool

  • sixpack: A language-agnostic A/B testing framework

  • splinter: open source web application testing tool

Mock test
  • mock: library for fake test data

  • doublex: a powerful doubles testing framework

  • freezegun: date forgery module

  • httmock: library for fake requests

  • httpretty: HTTP request mock tool

  • responses: library for forging requests requests

  • VCR.py: Record and replay HTTP interactions in tests

object factory
  • factoryboy: Test firmware replacement library

  • mixer: Another alternative library for testing firmware

  • modelmommy: Create random firmware for Django tests

code coverage
  • coverage: code coverage measurement

  • Codecov: Code Coverage Testing Tool

dummy data
  • faker: used to generate fake data

  • fake2db: fake database generator

  • radar: Generate random date/time

  • FuckIt.py: Use state-of-the-art techniques to ensure that Python code continues to run regardless of whether it is correct or incorrect

code tools

code analysis
  • coala: a language-independent and easily extensible code analysis application

  • code2flow: Convert Python and JavaScript code into flowcharts

  • pycallgraph: can visualize the process (call graph) of Python applications

  • pysonar2: type inference and retrieval tool

Lint tools
  • Flake8: Modular source code inspection tool

  • Pylint: a fully customizable source code analyzer

  • YAPF: Google’s Python code formatting tool

  • pylama: Code review tool for Python and JavaScript

Code formatting
  • autopep8: Automatically format Python code to conform to the PEP8 specification

  • black: A committed Python code formatter

debugger
  • ipdb: pdb enabled in IPython

  • pudb: Console-based Python debugger

  • pyringe: a debugger that can attach and inject code into a process

  • wdb: Web debugger working over WebSockets

  • winpdb: Python debugger with graphical user interface

  • django-debug-toolbar: Display various debugging information for Django

  • django-devserver: A replacement for the Django runtime server

  • flask-debugtoolbar:django-debug-toolbar 的 flask 版

Performance analysis
  • lineprofiler: line-by-line performance analysis tool

  • Memory Profiler: Monitor memory usage of Python code

  • profiling: Interactive Python performance profiling tool

  • pyelftools: Parse and analyze ELF files and DWARF debugging information

  • python-statsd: Python client for statsd server

log
  • logging: Provides logging functionality for Python

  • logbook: a replacement for the Logging library

  • Eliot: Creating logs for complex and distributed systems

  • Raven: Python implementation of Sentry

  • Sentry: a server that records and collects logs in real time

continuous integration
  • Travis CI: a popular continuous integration tool

  • CircleCI: a continuous integration tool

  • Vexor CI: Tools for continuous integration for private apps

  • Wercker: Based on the Docker platform, used to build and deploy microservices

Code quality
  • Codacy: Automated code review

  • QuantifiedCode: a data-driven, automated, continuous code review tool

 

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: a rapid decoupled development environment based on Docker

  • Fabric: Simple tool for remote execution and deployment

  • cuisine: Provides a series of advanced functions for Fabric

  • Fabtools: Tools for writing Fabric files

  • gitapi: A pure Python API for Git

  • hgapi: Pure Python API for Mercurial

  • honcho: used to manage Procfile-based applications

  • pexpect: Control interactive programs in a pseudo terminal

  • psutil: cross-platform process and system tools module

  • supervisor: UNIX process control system

Task scheduling

  • APScheduler: lightweight but powerful in-process task scheduling tool

  • django-schedule: A Django scheduling application

  • doit: task execution and build tool

  • gunnery: a multi-purpose task execution tool for distributed systems 

  • Joblib: a tool that provides lightweight job pipelines

  • Plan: a better tool for writing crontab files

  • schedule: Humanized Python task scheduling library

  • Spiff: a workflow engine implemented in pure Python

  • TaskFlow: a library that facilitates task execution

  • AirFlow: is a workflow distribution management system

 

high performance

  • Cython: an optimizing static compiler for Python

  • PeachPy: x86-64 assembler embedded in Python

  • PyPy: Python interpreter implemented in Python

  • Pyston: A Python implementation built using LLVM and modern JIT techniques

  • Stackless Python: An enhanced version of Python

Windows environment

  • Python(x,y): A Python distribution for scientific applications

  • pythonlibs: Unofficial Python extension binary package for Windows platforms

  • PythonNet: an integrated environment for Python and the .NET common language runtime

  • PyWin32: Python extension for Windows

  • WinPython: Portable development environment under Windows 7/8 system

 

Hardware related

  • ino: command line tool for operating Arduino

  • Pyro: Python Robot Programming Library

  • PyUserInput: cross-platform module for controlling mouse and keyboard

  • scapy: library for manipulating packets

  • wifi: used to operate WiFi on Linux platform

  • Pingo: Provides a unified API for devices like Raspberry Pi, pcDuino, Intel Galileo, etc.

Environment and package management

environmental management
  • p: A very simple interactive Python version management tool

  • pyenv: Simple Python version management tool

  • Vex: A tool that can execute commands in a virtual environment

  • virtualenv: Tool for creating independent Python environments

  • virtualenvwrapper: a set of extensions for virtualenv

  • pew: A set of tools for managing multiple virtual environments

  • PyRun: Python version management tool that requires no installation

Package management
  • pip: package and dependency management tool

  • pip-tools: A set of tools to keep Python package dependencies updated

  • pipenv: the officially recommended new generation package management tool

  • conda: cross-platform binary package management tool

  • Curdling: A command-line tool for managing Python packages

  • wheel: the new standard for Python distribution

  • Pdm: a new generation of package management tools

  • easy_install: software package management system

Package warehouse
  • warehouse: the next generation of PyPI

  • bandersnatch: PyPI mirror tool provided by PyPA

  • devpi: PyPI services and packaging/testing/distribution tools

  • localshop: local PyPI service

  • PyPI: a new generation of Python package library management tool

 

Distribute and build

software distribution
  • PyInstaller: Convert Python programs into independent executable files

  • dh-virtualenv: Build and distribute the virtualenv virtual environment as a Debian package

  • Nuitka: Compile scripts, modules, and packages into executable files or extension modules

  • py2app: Turn Python scripts into standalone packages

  • py2exe: Turn Python scripts into standalone packages

  • pynsist: Tool for creating Windows installers

  • cx-Freeze: a cross-platform library for packaging into executable files

Construct
  • buildout: a build system

  • BitBake: Build Tool for Embedded Linux

  • fabricate: a build tool that automatically finds dependencies

  • PlatformIO: Multi-platform command line build tool

  • PyBuilder: a continuous build tool implemented in pure Python

  • SCons: software building tools

interactive interpreter
  • IPython: a feature-rich tool

  • bpython: A rich interface Python parser

  • ptpython: High-level interactive Python parser

Command line related

Command line tools
  • asciimatics: cross-platform, full-screen terminal library

  • cement: Python’s command-line programming framework

  • click: A package for creating beautiful command line interfaces through combinations

  • cliff: a framework for creating command line programs

  • clint: Python command line program tool

  • colorama: cross-platform colored terminal text

  • docopt: Python-style command line argument parser

  • Gooey: Turn a command line program into a GUI program

  • python-prompt-toolkit: library for building powerful interactive command line programs

  • python-fire: a library produced by Google for building command line interfaces

  • Pythonpy: execute any Python instruction directly from the command line

  • Clime: A CLI command program that can convert any module into multiple

  • docopt: Python command line argument parser

  • pycli: command line application

  • rainbowstream: Twitter client terminal

  • argparse: tool for writing command line scripts

  • pyHook: A Python-based “hook” library

  • pstuil: a cross-platform process library that facilitates access and control of the system

Command line advanced tools
  • aws-cli: Common command line interface for Amazon Web Services

  • bashplotlib: plotting in the terminal

  • caniusepython3: Determine which project prevents perfect porting of code to Python3

  • cookiecutter: A command line tool for creating projects from cookiecutters

  • doitlive: Tool for live presentations in the terminal

  • pyftpdlib: Extremely fast and extensible Python FTP service library

  • howdoi: Get instant answers to your programming questions via the command line

  • httpie: Command line HTTP client

  • PathPicker: Pick files from bash output

  • percol: Adding interactive selection capabilities to the UNIX shell's traditional pipe concept

  • SAWS: an enhanced version of the AWS command line

  • thefuck: Fix previous command line instructions

  • mycli: MySQL command line client

  • pgcli: Postgres command line tool

  • try: a simple command line tool for trying out python libraries

 

third party

API
  • apache-libcloud: Python library designed for various clouds

  • boto: Python interface to Amazon Web Services

  • django-wordpress: WordPress combined with Django

  • facebook-sdk: Python SDK for the Facebook platform

  • facepy:Facebook's Graph API

  • gmail: Python interface to Gmail

  • google-api-python-client: Google APIs client library for Python

  • gspread: Python API for Google Spreadsheets

  • twython: A wrapper for the Twitter API

foreign function interface
  • cffi: Foreign function interface used to call C code

  • ctypes: Another foreign function interface for calling C code

  • PyCUDA: wrapper for Nvidia CUDA API

  • SWIG: Simplified Encapsulation and Interface Generator

other

MapReduce
  • dpark: Python version of Spark

  • dumbo: allows people to easily write and run Hadoop programs

  • luigi: building complex pipelines for batch jobs

  • mrjob: Run MapReduce jobs on Hadoop or Amazon Web Services

  • PySpark:Spark's Python API

  • streamparse: Run Python code against streams of fact data

functional programming
  • CyToolz: Cython implementation of Toolz

  • fn.py: Functional programming in Python

  • funcy: cool and practical functional tools

  • Toolz: A set of functional programming tools for iterators, functions and dictionaries

compatibility
  • Python-Future: The missing compatibility layer between Python 2 and Python 3

  • Python-Modernize: Modernize Python code for eventual migration to Python 3

  • Six: Compatibility Tool for Python 2 and 3

Editor plugin
  • Elpy: Emacs Python development environment

  • SublimeJEDI: A Sublime Text plug-in for using the auto-completion library Jedi

  • Anaconda: Anaconda turns Sublime Text 3 into a full-featured Python IDE

  • YouCompleteMe: Introducing a Jedi-based Python auto-completion engine

  • Jedi-vim: binding Vim and Jedi autocompletion library

  • Python-mode: Turn Vim into a Python IDE

  • PTVS: Python Tools for Visual Studio

Automated chat tool
  • Errbot: Simple and popular chatbot tool

financial data
  • Tushare: an open source tool that can provide free financial data on stocks, funds, futures, Hong Kong stocks, etc.

  • Ta-Lib: Financial data technical analysis library

  • AkSHare: A great free financial data platform

Algorithms and Design Patterns
  • algorithms: a Python algorithm module

  • python-patterns: A collection of Python design patterns

  • sortedcontainers: SortedList, SortedDict and SortedSet types

Miscellaneous
  • blinker: A fast in-process signal/event dispatch system for Python

  • itsdangerous: a series of auxiliary tools used to transfer trusted data into untrusted environments

  • pluginbase: a simple but flexible Python plugin system

  • Pychievements: A Python framework for creating and tracking achievements

  • Tryton: A universal business framework

 

Guess you like

Origin blog.csdn.net/qq_34491508/article/details/134550559