python excellent library recommendation

GUI library

1、CEF Python

This framework is based on Google Chromium and is available for Windows, MAC OS and Linux. It is mainly used for the use of embedded browsers in third-party applications.

2、Dabo

Dabo is a cross-platform application development framework based on wxpython's repackaging library. It provides database access, business logic, and user interface.

3、wxPython

wxPython is an excellent GUI graphics library for the Python language, allowing Python programmers to easily create a complete GUI user interface with full function keys.

4、Depressed

Kivy is based on OpenGL ES 2, which enables programs created using the same source code to run across platforms. This framework is event-driven and based on the main loop, making it ideal for developing games.

5、Tkinter

This is a lightweight cross-platform graphical user interface (GUI) development tool. It is the standard Python interface of the Tk graphical user interface toolkit. It can currently run on most Unix platforms, Windows and Macintosh systems.

6、PyGObject

With PyGObject, you can write Python applications for GNOME projects, and you can also use GTK+ to write Python applications.

7、PyGUI

One of the main purposes of PyGUI is to minimize the amount of code between Python applications and the underlying GUI of the platform, for Unix, Macintosh and Windows platforms

8、Flexx

Many Python GUI libraries are based on libraries written in other languages, such as wxWidgets and libavg written in C++. But Flexx was created in Python, using web technologies, and because of this Flexx is cross-platform. All you need is Python and a browser to run.

9、PyQt

Qt is a cross-platform framework. It is written in C++. This is a very comprehensive library. It contains many tools and APIs. It is widely used in many industries. It covers many platforms. PyQt is the Python version of the Qt library. PyQt3 supports Qt1 to Qt3. PyQt4 supports Qt4.

10、PySide

Qt (cute) is an application/user interface (UI) framework written in the "C++" language. "PySide" is a wrapper for "Qt". The difference from PySide is that PyQt is commercially available.

11、pywebview

A lightweight cross-platform wrapper that allows displaying HTML content in its own native GUI window. Supports direct communication between python and js.

12、Eel

For making simple Electron-like offline HTML/JS GUI applications with full access to Python features and libraries.

PyGtk, a GTK+ library for GUI program development based on Python

PyQt QT development library for Python

The GUI programming framework under WxPythonPython has a message mechanism similar to the MFC architecture. It is very simple to get started. If you need to quickly develop related applications, you can use this

Tkinter is a standard interface programming package under Python, so it is not considered a third-party library.

PySide, a cross-platform Qt application and user interface framework, supports the Qt v4 framework.

wxPython, a C++ library that mixes wxWidgets.

kivy, a GUI library for creating applications running on Windows, Linux, MAC OS X, Android and iOS

curse, used to create terminal GUI applications.

urwid, a function library for creating terminal GUI application forms, supports events and is rich in color.

pyglet, a cross-platform windowing and multimedia library for Python.

Tkinter is the de facto standard GUI package for Python.

enaml, creates beautiful user interfaces with QML-like syntax.

Toga, Toga, OS native GUI toolkit.

deep learning

PaddleHub: Batch cutouts. It is a pre-training model management and transfer learning tool based on the PaddlePaddle ecosystem, which can be combined with pre-training models to more conveniently carry out transfer learning work.

word processing

xart: can turn input characters into word art

py-term: Suitable for a series of operations such as text editing, style switching, cursor movement, etc. Suitable for terminal command line text cursor processing and other operations.

stylecloud: For me, I usually use wordcloud to make word clouds in python. If I need to use pyecharts to draw other pictures during the visualization process, then I can just use pyecharts to make the word cloud.

video processing

1、MoviePy

MoviePy is a Python library for video editing, which mainly includes: editing, embedding and splicing, title insertion, video synthesis (also known as non-linear editing), video processing, and custom effects. You can see some examples in the gallery to understand usage. MoviePy can read and write all audio and video formats, including GIF, and can run cross-platform on window/Mac/Linux through python2.7+ and python3

2、scikit-video

scikit-video is a python video processing library that can easily call various video processing algorithms

3、opencv-python

OpenCV is a Python library designed to solve computer vision problems

4、Houdini

Houdini (Movie Special Effects Magician) Side Effects Software's flagship product, an effective tool for creating advanced visual effects because of its capabilities across the company's entire product line, Houdini Master is for animators who want to make computer animations more exciting. They provide unprecedented capabilities and productivity.

5、NUKE

Visual effects software The incredible visual effects of today's major movies make people marvel at how realistic and powerful the synthesis is! NUKE has been used in many films and commercials produced by Digital Domain. NUKE is a digital node-based synthesis software developed by The Foundry. After 10 years of experience, he has won the Academy Award. Provides artists with the means to create images with high-quality photo effects.

Image Processing

1、Pillow

Pillow is designed specifically for working with images, and you can use the library to create thumbnails, convert between file formats, rotate, apply filters, display images, and more. This is ideal if you need to perform batch operations on many images.

PIL (Python Image Library), an image processing library based on Python, is powerful and supports a wide range of graphics file formats. It has many built-in image processing functions, such as image enhancement, filtering [algorithm], etc. Pillow, image processing library, PIL image library Branch and upgrade replacement products. Matplotlib, a well-known drawing library, provides a complete set of command APIs similar to matlab to draw some high-quality mathematical two-dimensional graphics, which is very suitable for interactive drawing. brewer2mpl has a professional python color matching toolkit that provides exquisite color matching from an artistic perspective.

PyGame is a multimedia development and game software development module based on Python. It includes a large number of game and image processing functions Box2d, an open source 2d physics engine. Angry Birds was developed using this physics engine. A world is simulated inside the Box2d physics engine. , you can set the gravity in this world, and then add various objects to this world, as well as some of their physical properties, such as mass, friction, damping, etc.

Pymunk, an open source physical graphics simulation library OpenCV similar to box2d, is currently the best open source image/vision library, including many general algorithms for image processing, computer vision, and [machine learning]. SimpleCV, an open source computer vision framework, similar to opencv. VTK, Visualization Toolkit (VTK, Visualization Toolkit) is an open source, cross-platform, and supports parallel processing (VTK was used to process data of nearly 1 Petabyte in size. Its platform is owned by the Los Alamos National Laboratory in the United States. Graphics application library for large systems with 1024 processors).

Aggdraw, an open source image library, covers almost all functions of 2D image operations and is very flexible to use. Pycairo is the python interface of the open source vector drawing library Cairo. Cairo provides 2-D drawing on multiple backgrounds, and advanced ones can do it. Use hardware acceleration. wand, Python binding wand tool (MagickWand), C language API interface.

Turtle: A very popular function library for drawing images in the Python language.

scikit-image, (also called skimage) is an image processing library that supports color mode conversion, filters, drawing, image processing, feature detection and other functions

thumbor, - a smart imaging tool that resizes and flips images.

imgSeek, query similar images.

python-qrcode, a pure Python two-dimensional code (QR code) generator.

pyBarcode, creates barcodes without PIL module.

pygram, Instagram like image filter.

Quads, quadtree-based computer art.

nude.py, nude detection function.

scikit-image, the image processing library for the scikit toolbox.

hmap, image histogram tool.

bokeh, interactive web drawing.

plotly, web collaborative Python and Matplotlib plotting.

vincent, Vincent, the function library of Python Vega.

d3py, a Python drawing library, is based on D3.JS, ggplot-API is compatible with ggplot2.Kartograph.py of R language, and draws beautiful SVG maps in Python. pygal, creator of SVG charts.

pygraphviz, the Python interface to Graphviz.

Fonttlools, ttf font tool function package, used in font software such as fontforge and ttx.

1. Numpy: image data transfer, image flipping

2. Skimage: slower, reading color channels are RGB, HWC

3. Opencv: cv2, image preprocessing, read BGR, channel HWC, range [0,255], type uint8

4. PIL: python’s own image processing library, but its function is relatively simple, reading RGB, channel HWC, range [0,255], type uint8

5. Pillow: New features have been added compared to PIL, reading RGB, channel HWC, range [0,255], type uint8

6. Pillow-SIMD: Pillow enhanced version, faster than cv2, reads RGB, channel HWC, range [0,255], type uint8

7. matplotlib: read RGB, channel HWC, range [0,1]

You can draw good-looking graphs using Python libraries such as Matplotlib and Seaborn, but these graphs are only static and difficult to dynamically and beautifully present numerical changes.

Fmpeg is the leading multimedia framework capable of decoding, encoding, transcoding, mixing, decrypting, streaming, filtering and playing almost anything created by humans and machines.

data processing

1、JmesPath

Working with JSON in Python is very easy because JSON maps very well on Python dictionaries. Additionally, Python comes with its own excellent json library for parsing and creating JSON. To me, this is one of its best features. If I need to work with JSON, I might consider using Python.

2、Simplejson

What's wrong with the native json module in Python? No! Actually, Python's json is simplejson. Meaning, Python took a version of simplejson and incorporated it into every distribution.

3、The Chard

You can use the chardet module to detect the character set of a file or data stream. This is useful when analyzing large amounts of random text, for example. However, it can also be used when working with remotely downloaded data when you don't know what the character set is.

4、Beautiful Soup

If you extract some HTML from a website, you need to parse it to get the actual content you want. Beautiful Soup is a Python library for extracting data from HTML and XML files. It provides simple methods to navigate, search and modify parse trees. It's very powerful and, even if broken, is capable of handling all kinds of HTML. Trust me, HTML is often broken, so this is a very powerful feature.

5、FlashText

In NLP tasks, cleaning text data often requires replacing keywords in sentences or extracting keywords from sentences. Typically this can be done using regular expressions, but this can become cumbersome if the number of terms being searched runs into the thousands. Python's FlashText module is based on the FlashText algorithm and provides a suitable alternative for this situation. The great thing about FlashText is that the run time is the same regardless of the number of search terms. You can learn more here.

Chardet character encoding detector can automatically detect the encoding of text, web pages, and xml.

colorama is mainly used to add various colors to text, and is very simple and easy to use.

Prettytable is mainly used to build formatted output on the terminal or browser side.

difflib, [Python] standard library for calculating text differences

Levenshtein, fast calculation of string similarity.

fuzzywuzzy, string fuzzy matching.

esmre, a regular expression accelerator.

shortuuid, a set of concise URL/UUID function libraries.

ftfy, Unicode text tool 7

unidecode, ascii and Unicode text conversion functions.

xpinyin, a function library that converts Chinese characters into pinyin

pangu.py, adjusts the spacing between letters and numbers in Chinese, Japanese and Korean characters.

pyfiglet, a figlet program written in Python, uses characters to form ASCII art pictures

uniout, extracts readable and writable characters from a string

awesome slugify, a Python slugify library for working with Unicode.

python-slugify, a slugify function library that converts Unicode to ASCII internal code.

unicode-slugify, generates unicode internal code, Django's dependency package.

ply, Python version of lex and yacc parsing tool

phonenumbers, parses phone numbers, formats, stores and validates international phone numbers.

python-user-agents, a parser for browser user-agents.

sqlparse, SQL parser.

pygments, a general syntax highlighting tool.

python-nameparser, parses names into individual components.

pyparsing, a general-purpose parser generation framework.

tablib, tabular data formats, including XLS, CSV, JSON, and YAML.

python-docx, docx document reading, query and modification, docx files of Microsoft Word 2007/2008.

xlwt/xlrd, read and write data files in Excel format.

xlsxwriter, creates xlsx files in Excel format.

xlwings, using Python to call Excel

csvkit, CSV file toolkit.

marmir, converts Python [data structures] into spreadsheets.

pdfminer, extracts information from PDF files.

pypdf2, a function library for merging and converting PDF pages.

Python-Markdown, a Python implementation of the lightweight markup language Markdown.

Mistune, a fast, full-featured Markdown interpreter written in pure Python.

dateutil, an extension package of the standard Python official datetime module, a string date tool, in which parser parses a string into datetime, and rrule generates datetime according to defined rules.

arrow, a Python library for better date and time handling

chronyk, a Python 3 library for parsing human-written times and dates.

delorean, a function library for cleanup period.

when.py provides user-friendly functions for viewing date and time.

moment, a date/time Python library similar to Moment.js

pytz, world time zone, using tz database time zone information [database]

BeautifulSoup, a Python-based HTML/XML parser, is easy to use and very powerful. It can parse even buggy or problematic HTML codes.

lxml is a fast, easy-to-use, flexible HTML and XML processing library with super powerful functions. When encountering defective and non-standard XML, Python's own XML processor may not be able to parse it. When an error is reported, the program will try to parse again using lxml's repair mode.

. htmlparser, the official version parses the HTML DOM tree, and is occasionally used for automatic form submission from the command line.

pyyaml, the Python version of the YAML interpreter.

html5lib, - Standard library for parsing and serializing HTML documents and fragments.

pyquery, an HTML interpreter function library similar to [jQuery].

cssutils, Python CSS library.

MarkupSafe, XML or HTML/XHTML safe string markup tool.

cssutils - ACSS library for Python., MarkupSafe - Implements a XML/HTML/XHTML bleach, bleach, HTML-based whitelist function library.

xmltodict, a JSON-like XML toolkit.

xhtml2pdf, HTML/CSS format converter, generates PDF documents.

untangle converts XML documents into Python objects for easy access.

File processing

Library name introduction Mimetypes, Python standard library, maps file names to MIME types.

imghdr, the Python standard library, determines the image type. python-magic, libmagic file type recognition library, Python interface format. path.py, a secondary encapsulation of the os.path module.

watchdog, a set of API and shell utilities for monitoring file system events.

Unipath, an object-oriented file/directory manipulation toolkit. pathlib, - (Python version 3.4 has been included as the Python standard library), a cross-platform, path-oriented function library.

pickle/cPickle, Python's pickle module implements basic data sequence and deserialization. Through the serialization operation of the pickle module, we can save the object information running in the program to a file and store it permanently; through the deserialization operation of the pickle module, we can create the object saved by the last program from the file.

cPickle is a version implemented in [C language] and is faster.

ConfigParser, Python standard library, INI file parser.

configobj, INI file parser. config, hierarchical configuration, written by the logging author.

profig, a multi-format configuration conversion tool.

logging, Python standard library, log file generation and management function library.

logbook, a replacement for logging.

Sentry, real-time log server. Raven, the Python client for Sentry.

Sphinx, Sphinx, Python documentation generator.

reStructuredText, markup grammar and parsing tool, Docutils component. mkdocs, Markdown format document generator.

pycco, a simple, fast, programming-style documentation generator.

pdoc, automatically generated Python library API documentation epydoc, a tool for generating documents in various formats from source code comments

Games and multimedia

Library name introduction audiolazy, a Python toolkit for digital signal processing (DSP).

audioread, a cross-platform (GStreamer + Core Audio + MAD + FFmpeg) audio decoding library. beets, music library management.

dejavu, audio fingerprinting algorithm.

After listening to the audio once, Dejavu will record the fingerprint information of the audio, and then use the microphone to identify whether the input audio is the same song. django-elastic-transcoder, Django + Amazon elastic transcoding. eyeD3, tool for audio files, especially ID3 metadata contained in MP3 files.

id3reader, used to read MP3 metadata.

mutagen, handles audio metadata.

pydub, - A simple high-level interface for manipulating audio.

pyechonest, Echo Nest API client. talkbox, a Python library for speech and signal processing.

TimeSide, an open network audio processing framework.

tinytag, reads music file metadata, including MP3, OGG, FLAC and wave files.

m3u8, used to parse m3u8 files.

moviepy, multi-format video editing script module, including GIF animation.

http://shorten.tv, video summary.

scikit-video, SciPy video processing routines.

GeoDjango, a world-class geographical web framework.

geopy, Geo geocoding toolbox.

pygeoip, GeoIP API written in pure Python.

GeoIP, Python API interface, uses the high-precision GeoIP Legacy Database database.

geojson, GeoJSON function library django-countries, a Django program that provides country selection, static files of flag icons, and a country's regional model.

Pygame, Python game design module.

Cocos2d, a 2D game framework, demos, and other graphics/interactive applications, based on pyglet. Cocos2d- cocos2d is a framework for building 2D games, demos, and other graphical/interactive applications. It is based on pyglet.,PySDL2, SDL2 packaging library.

Panda3D- 3D game engine, developed by Disney.

Written in C++, fully compatible with Python. PyOgre, OGRE 3D rendering engine, can be used for games, simulations, anything 3D. PyOpenGL, binds OpenGL and its related APIs.

PySFML, Python bindings for SFMLRenPy, a visual novel engine.

web framework

1、Sanic

Sanic is a Flask-like Python 3.5+ web server that is very fast for writing. In addition to Flask, Sanic also supports asynchronous request handlers. This means you can use the new shiny async/await syntax in Python 3.5 to make your code non-blocking and fast.

2、Flask

Flask is a lightweight customizable framework written in Python language. It is more flexible, lightweight, secure and easy to use than other frameworks of the same type. It can be well combined with the MVC model for development. Developers work together, and small teams can complete the implementation of feature-rich small and medium-sized websites or Web services in a short time. In addition, Flask is highly customizable. Users can add corresponding functions according to their own needs, enriching and expanding functions while keeping the core functions simple. Its powerful plug-in library allows users to implement personalized websites. Customize and develop powerful websites.

3、Dash

Dash is a relatively new package that is ideal for building data visualization apps in pure Python, making it especially suitable for anyone working with data. Dash is a hybrid of Flask, Plotly.js and React.js.
Django, the most popular Python-Web framework, encourages rapid development and follows MVC design, with a short development cycle.

ActiveGrid enterprise-level Web2.0 solution

Karrigell is a simple web framework that includes web services, py script engine and pure python database. PyDBLitewebpy is a small and flexible web framework that is simple but powerful.

CherryPy is a Python-based web application development framework. Pylons is an extremely efficient and reliable web development framework based on Python. Zope is an open source web application server.

TurboGears Python-based MVC style web application framework

Twisted is a popular network programming library and large-scale web framework.

QuixoteWeb development framework

Flask lightweight web framework

Bottle, a fast, simple and lightweight WSGI pattern web framework.

Pyramid, a lightweight, fast and stable open source web framework.

web2py, a simple and easy-to-use full-stack web framework and platform.

web.py, a powerful and simple web framework. TurboGears, an easily extensible web framework.

CherryPy, a minimalist Python web framework that supports HTTP 1.1 and WSGI thread pools.

Grok, a web framework based on Zope3.

Bluebream, an open source web application server, formerly known as Zope 3.

guava, a lightweight, high-performance Python-Web framework, written in C language.

django-cms, based on Django enterprise-level open source CMS.

djedi-cms is a lightweight yet powerful plugin for Django CMS with inline editing and performance optimization.

FeinCMS, an advanced content management system based on Django.

Kotte, a high-level Python web application framework, based on Pyramid. Mezzanine, a powerful, consistent and flexible content management platform.

Opps, a Django-based CMS for high-traffic newspapers, magazines and portals.

Plone, an open source application server based on Zope.

Quokka, a flexible, scalable, lightweight CMS system using Flask and MongoDB.

Wagtail, Django content management system.

Widgy, CMS framework, based on Django.

django-oscar, Django Oscar, an open source e-commerce framework.

django-shop, an online store system based on Django.

merchant, supports multiple payment processing tools.

money, a scalable currency exchange solution.

python-currencies, currency display format.

cornice, a REST framework for Pyramid.

django-rest-framework, Django framework, a powerful and flexible tool that makes it easy to build Web APIs.

django-tastypie, creates beautiful Django application API interfaces.

django-formapi, create JSON API, HMAC authentication and Django form validation. flask-api, provides a unified browser experience, based on the Django framework.

flask-restful, quickly build REST API to support extensions.

flask-api-utils, an extension of flask. Falcon, a high-performance Python framework for building cloud APIs and web application backends.

Eve, REST API framework, using Flask, MongoDB and Good Will.

Sandman automatically generates REST APIs for existing database-driven systems. restless, a framework similar to TastyPie.

savory-pie, REST API building function library (Django, and others) Jinja2, modern designer-friendly language template. Genshi, a network-aware output template toolkit.

Mako, Marko, ultra-fast, lightweight templates for the Python platform.

Chameleon, an HTML/XML template engine.

Modeled after ZPT, optimized for speed.

Spitfire, a fast Python compilation template.

django-haystack, needle in a haystack, Django module search.

elasticsearch-py, the official low-level Python client of Elasticsearch.

solrpy, solr client.

Whoosh, fast, pure Python search engine library.

Feedly, a library for building news and notification systems, using Cassandra and Redis.

django-activity-stream, Django activity stream, generates a universal activity stream from the actions on your website.

Beaker, a cache and session usage web application, standalone Python script and application library.

dogpile.cache, is the next generation alternative work of Beaker author. HermesCache, Python's caching library, tag-based invalidation and prevention of Dogpile effects.

django-cache-machine, Django cache machine, automatic cache invalidation, using ORM. django-cacheops, automatic granular event-driven, ORM cache invalidation. johnny-cache, johnny cache framework, Django application.

django-viewlet, rendering template component extends cache control. pylibmc, in the libmemcached interface.

WTForms-JSON, JSON form data processing extension. Deform, a function library for HTML form generation.

django-bootstrap3, bootstrap3, integrates Django. django-crispy-forms, a Django program that can create elegant forms. django-remote-forms, remote forms for Django, serializer for Django tables.

django-simple-spam-blocker, Django’s simple spam blocker.

django-simple-captcha, Django simple captcha, simple and highly customizable Django application for adding captcha images Ajenti, server admin panel.

Grappelli, a Django skin with a fancy interface. django-suit, Django replacement interface (for non-commercial use only). django-xadmin, Django admin panel replacement tool.

flask-admin, a simple flask management interface framework flower, real-time monitoring and web management panel.

Pelican, Pelican, Markdown or ReST, Ziwang content theme. Support DVCS, Disqus. AGPL. Cactus, cactus, designer's website static generator.

Hyde, Hyde, a static website generator based on Jinja2.

Nikola, Nikola - a static website and blog generator.

Tags, tags, the simplest static website generator.

Tinkerer, a Sphinx-based static website generator.

asyncio, (Python standard library in Python 3.4+), asynchronous I/O, event loops, co-tasks. gevent, a Python-based network library.

Twisted, an event-driven web engine.

Tornado, a library for web frameworks and asynchronous networks.

pulsar, an event-driven parallel framework for Python.

diesel, diesel, green, event-based I/O framework.

eventlet, WSGI supports asynchronous framework.

pyzmq, a Python wrapper for the 0MQ messaging library.

txZMQ, based on Twisted's 0MQ message library and Crossbar, is an open source unified application router (WebSocket and WAMP). wsgiref, Python standard library, WSGI encapsulation implementation, single thread.

Werkzeug, a machine tool and WSGI tool library, can be easily embedded into your own project framework.

paste, paste, multi-threaded, stable, proven WSGI tool.

rocket, rocket, multi-threaded service, based on Pyramid.

netius, a fast, asynchronous WSGI server, gunicorn, the predecessor of forked, partly written in C.

fapws3, asynchronous network, written in C. meinheld, an asynchronous WSGI server, written in C.

bjoern - A fast, asynchronous WSGI server written in C.

Big data and scientific computing

Brief introduction to the library name: pycuda/opencl, GPU high-performance concurrent computing Pandas, a data statistics and analysis platform similar to R language implemented in python. Developed based on NumPy and Matplotlib, it is mainly used for data analysis and data visualization. Its data structure DataFrame is very similar to the data.frame in the R language. It has its own set of analysis mechanisms for time series data, which is very good.

Web interface for Open Mining, Business Intelligence (BI), Pandas. blaze, NumPy and Pandas big data interface. SciPy is an open source Python algorithm library and mathematical toolkit. SciPy includes modules for optimization, linear algebra, integration, interpolation, special functions, fast Fourier transform, signal processing and image processing, ordinary differential equation solving and other science and Calculations commonly used in engineering.

Its functions are similar to the software MATLAB, Scilab and GNU Octave.

Numpy and Scipy are often used together, and most machine learning libraries in Python rely on these two modules.

ScientificPython, a selected set of Python program modules for scientific computing, including geometry (vectors, tensors, transformations, vector and tensor fields), quaternions, automatic derivatives, (linear) interpolation, polynomials, basics Statistics, nonlinear least squares fitting, unit calculations, Fortran compatible text format, 3D display via VRML, and two Tk gadgets for drawing line graphs and 3D grid models respectively. Additionally there are interfaces to netCDF, MPI and BSPlib libraries.

NumPy scientific computing library provides solutions for matrices, linear algebra, Fourier transforms, etc., the most commonly used is its N-dimensional array object. NumPy provides two basic objects: ndarray (N-dimensional array object) and ufunc (universal function object).

ndarray is a multi-dimensional array that stores a single data type, and ufunc is a function that can process arrays. Cvxopt, an optimization calculation package, can perform calculations of linear programming, quadratic programming, positive semi-definite programming, etc. Numba, an optimizing compiler for scientific computing speed. pymvpa2 is a Python toolkit that provides statistical learning analysis for large data sets. It provides a flexible and extensible framework.

It provides functions such as classification, regression, feature selection, data import and export, visualization, etc. NetworkX is an optimization software package for complex networks. zipline, a library of trading algorithms.

PyDy, Python dynamic modeling function library.

SymPy, a Python library for symbolic mathematics. statsmodels, statistical modeling and econometrics in Python.

astropy, the Python library for astronomy.

orange, data mining, data visualization, learning machine analysis through visual programming or Python scripting. RDKit, software for chemical informatics and machine learning.

Open Babel, Babel, the open chemistry toolbox.

cclib, calculation function library for chemistry software packages.

Biopython, a free biological computing toolkit.

bccb, a code set related to bioanalysis. bcbio-nextgen, provides a fully automated, high-throughput, sequencing analysis toolkit.

visvis, a visual computing module library, can visualize one- to four-dimensional data.

MapReduce is a software [architecture] proposed by Google for parallel operations on large-scale data sets (larger than 1TB). The concepts "Map" and "Reduce", as well as their main ideas, are borrowed from the functional programming language MapReduce function library. Framworks and libraries for MapReduce.,PySpark, Python API for [Spark]. dpark, a Python clone of Spark, a MapReduce framework in Python. Luigi, for batch work, build complex pipelines. mrjob, a MapReduce job that runs on Hadoop, or Amazon Web Services.

Artificial Intelligence and Machine Learning

Library name introductionNLTK (natural language toolkit) is a natural language processing toolkit for python. Launched in 2001, it includes a large number of vocabulary libraries and algorithm implementations in natural language processing: word segmentation, root calculation, classification, semantic analysis, etc.

Pattern, data mining module, including natural language processing, machine learning tools, etc.

textblob, provides API for natural language processing and decomposition NLP tasks. Based on NLTK and Pattern modules.

jieba, stutter, Chinese word segmentation tool. snownlp, used to process Chinese text libraries.

loso, Chinese word segmentation function library.

genius, Chinese CRF basic library, conditional random field (CRF), is a discriminant probability model, a type of random field, often used to label or analyze sequence data, such as natural language text or biological sequences Gensim, a very professional topic model Python toolkit, whether it is code or documents, can be used to calculate the similarity of two documents. LIBSVM is a simple and easy-to-use tool developed and designed by Professor Lin Chih-Jen of National Taiwan University and others. A fast and effective SVM pattern recognition and regression software package. It not only provides compiled executable files that can be used on Windows series systems, but also provides source code to facilitate improvement, modification and application on other [operating systems];

This software has relatively few parameter adjustments involved in SVM, and provides a lot of default parameters. Many problems can be solved by using these default parameters; it also provides the function of cross validation.

The software can solve problems such as C-SVM, ν-SVM, ε-SVR and ν-SVR, including multi-class pattern recognition problems based on one-to-one algorithms.

scikits.learn, a Python module for machine learning built on top of SciPy. It includes simple yet efficient tools for data mining and data analysis.

Covers classification, regression and clustering algorithms, such as SVM, logistic regression, naive Bayes, random forest, k-means and other algorithms. The code and documentation are very good and have been used in many Python projects.

For example, in the familiar NLTK, there is a special interface for scikit-learn on the classifier side. You can call scikit-learn's classification algorithm and training data to train the classifier model. PyMC, the machine learning sampling toolkit, and scikit-learn seem to be everyone's darling. Some people think that PyMC is more attractive.

PyMC is mainly used for Bayesian analysis. Orange, a component-based data mining and machine learning software suite, is a friendly, powerful, fast and versatile visual programming front-end for browsing data analysis and visualization, and contains a complete series of components to perform Data preprocessing and provides functions for data accounting, transition, modeling, pattern evaluation and exploration.

Focusing on data mining, it can be operated with visual language or Python, has a machine learning component, and also has plug-ins for bioinformatics and text mining.

Milk, a machine learning toolbox, focuses on providing supervised classification methods with several efficient classification analyses: SVMs (based on libsvm), K-NN, random forest economics, and decision trees.

It also enables feature selection. These classifications can be combined in many ways to form different classification systems. For unsupervised learning, it provides K-means and affinity propagation clustering algorithms.

PyMVPA (Multivariate Pattern Analysis in Python) is a Python toolkit that provides statistical learning analysis for large data sets. It provides a flexible and extensible framework. It provides functions such as classification, regression, feature selection, data import and export, visualization, etc. NuPIC is an open source artificial intelligence platform.

The project was developed by Grok (formerly known as Numenta) and includes the company's algorithms and software architecture.

NuPIC operates close to the human brain. "When the pattern changes, it forgets the old pattern and memorizes the new pattern." Like the human brain, the CLA algorithm can adapt to new changes. Pylearn2, - Theano-based machine learning library.

hebel, GPU accelerated, [deep learning] Python library.

gensim, a machine learning library. pybrain, a machine learning module, aims to provide flexible, adaptable, and powerful machine learning algorithms for machine learning tasks.

Pybrain includes neural networks, reinforcement learning (and a combination of the two), unsupervised learning, and evolutionary algorithms. With neural network as the core, all training methods use neural network as an instance. Mahout is an open source project under the Apache Software Foundation (ASF). It provides some scalable implementations of classic algorithms in the field of machine learning, aiming to help developers Create smart applications more easily and quickly.

Mahout contains many implementations, including clustering, classification, recommendation filtering, and frequent sub-item mining. Additionally, Mahout can efficiently scale to the cloud by using the Apache Hadoop library.

Crab, a flexible and fast recommendation engine. python-recsys, entertainment system analysis, recommendation system. vowpal_porpoise, a lightweight Python wrapper for Vowpal Wabbit.

Theano, a python software package used to define, optimize and simulate mathematical expression calculations, and to efficiently solve multi-dimensional array calculation problems. It makes writing deep learning models easier while also giving some options for training them on GPUs.

System and command line

Library name introduction threading, Python standard thread library, higher-level thread interface.

envoy, envoy, Python sub-thread function library.

sh, a mature sub-thread replacement function library. sarge, encapsulates threads. subprocess, argparse, the artifact that calls shell commands, is essential for writing command line scripts. Timeit, a powerful command line difference analysis tool, can calculate the time of code running, etc. unp, a command line tool, can decompress files.

The eventlet multi-threading module with low overhead uses the concept of green threads. For example, a statement such as pool = eventlet.GreenPool(10000) creates a thread pool that can handle 10,000 client connections. Similar to the Gevent thread library Gevent, the multi-thread module pytools, the famous python general function, toolkit SendKeys, keyboard and mouse operation module, simulate keyboard and mouse simulation operations.

pyHook, a "hook" library based on Python, is mainly used to monitor mouse and keyboard events on the current computer. This library depends on another Python library PyWin32. As the name shows, PyWin32 can only run on the Windows platform, so PyHook can only run on the Windows platform.

pstuil, cross-platform, it is very convenient to obtain and control the system's processes, as well as read the system's CPU usage, memory usage and other information. Cement, a lightweight, full-featured command line tool click, a simple and elegant command line interface.

clint, Python command line tool. cliff, a command-line programming framework for creating multi-level instructions.

Clime, can convert any module into multiple CLI command programs without any configuration.

docopt, a Python command line argument parser. pycli, a command line application, supports standard command line parsing, logging, unit [testing] and functional testing.

Gooey, opens the command line program as a complete GUI application, cookiecutter, a command line tool that creates projects from cookiecutters (project templates).

For example, Python package project, jQuery plug-in project.

percol, adds an interactive selection style to the traditional UNIX pipe command.

rainbowstream, a smart and beautiful twitter client. Django Models, part of Django SQLAlchemy, a Python SQL toolkit and object-relational mapping.

peewee, a small ORM parser.

PonyORM provides a SQL-oriented interface for ORM. MongoEngine, Python object file mapping, using [MongoDB].

, Django MongoDB engine MongoDB, Django backend.

django-mongodb-engine, Django backend. redisco, a simple model and container library using [Redis] flywheel, Amazon DynamoDB object mapping.

butterdb, the ORM for Google Spreadsheet, Python version. celery, celery, asynchronous task queue/job, based on distributed message queue.

huey, Huey, lightweight, multi-threaded task queue.

mrq, Mr. Queue, distributed task queue, using redis & Gevent. rq, a simple work queue. Queue, the Queue module can be used to implement communication between multiple threads, allowing each thread to share data. The producer puts the goods into the Queue for consumers (threads) to use.

simpleq, a simple, scalable queue, the basic queue for Amazon SQS.

Psyco, a super powerful Python performance optimization tool. The magic of psyco is that it only needs to call two lines of code at the entrance of the code, and the performance can be improved by 40% or more. It can be said to be an immediate effect! If your customer thinks your program is a bit slow, please don't rush to optimize the code. psyco may be able to change his mind immediately.

psyco can be called the jit of Python. fn.py, Python Functional Programming: Missing Functionality Enjoy FP Implementation. funcy, a functional programming tool. Toolz, functional programming tools: iterators, functions, dictionaries. CyToolz, the Cython implementation of Toolz, a high-performance functional programming tool. Ansible, Ansible, an extremely simple automation platform.

SaltStack, an automated management system for infrastructure.

Fabric, a simple, remote execution and deployment language tool.

Fabtools, Fabric’s tool function.

cuisine, a popular Fabric tool function.

psutil, a cross-platform process and system tools module.

pexpect, control interactive programs.

provy, an easy-to-use configuration system for Python. honcho, Foreman's Python interface, is used to manage procfile application tools.

gunnery, a multi-tasking tool for distributed systems with network interfaces.

fig, fast. Use Docker in a standalone development environment.

APScheduler, a lightweight but powerful online task scheduler.

django-schedule, Django schedule application. doit, task runner/generation tool.

Joblib, a lightweight pipeline tool function provided by Python.

Plan, easily generate crontab files.

Spiff, a powerful workflow engine implemented in pure Python.

schedule, Python job scheduling. TaskFlow, helps make task execution simple.

ctypes, the Python standard library, is faster and Python calls the external function interface of C code. cffi, Python calls C code external function interface, similar to ctypes which directly calls c program in python program, but it is more convenient than ctypes and does not require compilation into so and then call.

Cytoolz, the python acceleration library SWIG, simplifies packaging and interface generators.

,Cython, an optimizing static compiler for Python.

PyPy, a Python implementation of the Python interpreter.

Stackless Python, an enhanced version of Python. It allows programmers to benefit from thread-based programming and avoid the performance and complexity problems caused by traditional threads.

The micro-thread extension brought by Stackless to Python is a low-overhead, lightweight convenience tool Pyston, which uses LLVM and modern JIT technology to optimize the performance of Python.

pythonlibs, unofficial Windows (32/64-bit) Python extension package scapy, excellent packet processing library. ino, Arduino command line tool. Pyro, a robotics toolkit for Python.

pluginbase, a simple and flexible Python plugin system.

itsdangerous, secure data transfer tool. blinker, a signal/event dispatching system in fast Python.

pychievements, a framework for creating and tracking results.

python-patterns, design patterns in Python.

pefileWindows PE file parser SIP, a tool that automatically generates Python extension modules for C and C++ libraries

database

Library name introduction MySQLdb, mature [MySQL] database module, Baresql, SQL database package ZODB, Python local object database. A KV object graph database.

pickledb, a simple and lightweight KV key-value store.

TinyDB, a lightweight, document-oriented database.

mysql-python, a Python tool library for MySQL.

mysqlclient, mysql-python branch, supports Python 3., PyMySQL, a MySQL driver written in pure Python, compatible with mysql-python. mysql-connector-python, MySQL connector, from [Oracle], written in pure Python. oursql, the MySQL connector, provides local command statements and BLOBs support.

psycopg2, the most popular Python PostgreSQL adapter. txpostgres, an asynchronous driver for PostgreSQL based on Twisted.

queries, psycopg2 function library for PostgreSQL.

dataset, stores Python dictionary data, for SQLite, MySQL and PostgreSQL.

cassandra-python-driver, the Python driver for the open source distributed NoSQL database system Apache Cassandra system.pycassa, a simplified Python driver for the cassandra database.

HappyBase, a friendly Apache [Hbase] function library.

PyMongo, the official MongoDB client.

Plyvel, a fast and feature-rich Python interface to LevelDB. redis-py, redis client.

py2neo, Python client (RESTful interface based on Neo4j). telephus, cassandra client based on Twisted. txRedis, a Redis client based on Twisted.

network

Curl, the Pycurl package is a Python interface to libcurl, which is written in C language.

It is much faster compared to urllib.

Libcurl is a client URL transfer library that supports FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE and LDAP. libcurl also supports HTTPS authentication, HTTP POST, HTTP PUT, FTP upload, proxy, Cookies, basic authentication , FTP file breakpoint relay, HTTP proxy channel, etc.

Requests, written in Python language, is an open source HTTP library based on urllib.

It is more convenient and more Pythoner than urllib.

Support Python3. httpie, a command-line HTTP client, a user-friendly replacement for cURL.

s3cmd, command line tool for managing Amazon S3 and CloudFront.

youtube-dl, command line program, downloads videos from YouTube.

you-get, a video download tool written in Python3, can be used for YouTube/Youku/Niconico video downloads

Coursera, download videos from http://coursera.org, rename files wikiteam, wiki download tool.

Subliminal, a command line tool, a function library for searching and downloading subtitles, requests, and an HTTP function library are more user-friendly. grequests, asynchronous HTTP request + Gevent (high-performance and high-concurrency function library).

urllib3, a thread-safe HTTP connection pool that supports file post.

httplib2, a comprehensive HTTP client function library. treq, Python API interface, Twisted HTTP client. Mininet, a popular network emulator, has an API written in python.

POX, a Python-based open source software-defined network (SDN) control development platform for applications such as OpenFlow's SDN controller.

Pyretic, the programming language for SDN, provides powerful abstractions over network switches or emulators. SDX Platform, an SDN-based IXP implementation that leverages minimal networking, pox and heat. inbox.py, Python’s SMTP server. imbox, a Python version of the IMAP library. inbox, inbox, open source email toolkit.

lamson, SMTP server. flanker, email address and MIME parsing library.

marrow.mailer, a high-performance scalable email delivery framework.

django-celery-ses, Django email backend using AWS SES and Celery.

modoboa, email hosting and management platform including modern and simplified web UI.

envelopes, mail tool.

mailjet, bulk mail mailjet API interface, with statistics. Talon, Talon, Mailgun library to extract messages and signatures. mailjet - Mailjet API implementation for batch mailing, statistics and more., Talon - Mailgun library to extract message quotations and signatures., pyzmail, write, send and parse emails. furl, fuel, a small URL parsing library. purl, a simple, clean API for manipulating URLs.

pyshorteners, pure Python library, URL shortener editing.

short_url, short URL generation.

Scrapy, a framework for fast screen capture and web scraping.

portia, Portia, a visualization extension for Scrapy.

feedparser, information source interpreter RoboBrowser, a simple web browsing Python function library without using a web browser.

MechanicalSoup, a website automated interactive testing toolkit.

mechanize, a web browsing programming tool.

Demiurge, the demiurge, - a lightweight tool for PyQuery.

newspaper, extract newspaper news. html2text, converts HTML to text in Markdown format. python-goose, HTML content extractor.

lassie, Lassie, humanized website content retrieval.

micawber, a function library for grabbing web pages through UR.

sumy, summary, automatic summarization module for text and HTML web pages.

Haul, a distance,scalable image crawler.

python-readability, readability tool Arc90, fast Python interface.

opengraph, OpenGraphProtocol protocol parsing module, textract, extract text from any file, Word, PowerPoint, PDF file, etc.

sanitize, disinfect, and make chaotic data sane.

AutobahnPython, a library for WebSocket and WAMP, using Twisted and PythonWebSocket-for-Python, a websocket client and server-side library. SimpleXMLRPCServer, python standard library, simple XML-RPC server, single-threaded.

SimpleJSONRPCServer, JSON-RPC specification implementation function library.

zeroRPC, an RPC implementation based on ZeroMQ and MessagePack.

apache-libcloud, Python interface library for all cloud services.

wifi, WiFi - A set of Python libraries and command line tools for working with WiFi, for [Linux].

streamparse, runs real-time streams of Python code and data. Integrated with Apache Storm.

boto, Amazon Web Services interface.

twython, Twitter API. google-api-python-client, Google client API.

gspread, the Python API for Google Spreadsheets.

facebook-sdk, facebook platform Python SDK.

facepy, a simple facebook graphics API gmail, a Python interface for Gmail.

django-wordpress, Django models and views for WordPress.

Safety

Permissions function library allows or denies users to access data or functions.

django-guardian, Django guardian, manages permissions of each object, used in Django 1.2 + Carteblanche, manages navigation and permissions.

Authomatic, a simple and powerful authentication/authorization client.

OAuthLib, universal, normative, OAuth request signing tool.

rauth, a Python library for OAuth 1.0, 2.0,.

python-oauth2, utilizes fully tested, abstract interfaces to create OAuth clients and servers.

python-social-auth, an easy-to-install social authentication mechanism.

,django-oauth-toolkit,Django OAuth toolkit django-oauth2-provider,Django OAuth2 toolkit. django-allauth, Django authentication application.

Flask-OAuthlib, Flask's OAuth toolkit sanction, simple oauth2 client.

jose, [JavaScript] Object Signing and Encryption (JOSE) draft implementation, flag status.

python-jwt, a web token generation and verification module for JSON.

pyjwt, JSON Web Token Draft 01.

python-jws, Web Token Draft 02 for JSON.

PyCrypto, a cryptographic toolkit for Python.

Paramiko, an implementation of the sshv2 protocol, provides client-side and server-side functionality.

cryptography, a cryptographic development toolkit.

PyNac, a library of networking and cryptographic (NaCl) functions. hashids, a Python function library for hashids.

Passlib, a secure password storage/hashing library, very high level.

Hash algorithms such as hashlib, md5, and sha are used to replace the md5 and sha modules and make their APIs consistent.

It is supported by OpenSSL and supports the following algorithms: md5, sha1, sha224, sha256, sha384, sha512.

Build encapsulation

pyenv, simple Python version management.

virtualenv, creates an independent Python environment for installing different versions of python environments at the same time.

virtualenvwrapper is a set of extensions to virtualenv.

pew, a set of tools for managing multiple virtual environments.

vex, causes the specified virtualenv command to be run.

PyRun, a single-file, no-installation Python version management tool.

PIP, a management tool for Python packages and dependencies.

easy_install, a software package management system, provides a standard format for distributing Python software and libraries. It is a module with configuration tools and a third-party function library. Designed to speed up the distribution of Python libraries. RubyGems similar to the Ruby language.

conda, a cross-platform, binary package manager.

Curdling, a command-line tool for managing Python packages.

wheel, the new standard for Python distribution, aims to replace eggs.

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

py2exe, Freeze script tool for Windows platform, Py2exe, converts python scripts into executable programs that can run independently on Windows

py2app, Freeze script tool for MAC OS X platform

pyinstaller, - Python program converted into a standalone executable (cross-platform).

pynsist, a tool for building Windows installers, written in Python.

dh-virtualenv, build and distribute virtualenv (Debian package format)

PyPI, a new generation of Python package library management tool.

warehouse, a new generation of Python package library (PyPI) management tool.

devpi, PyPI server and packaging/testing/release tools.

localshop, PyPI official package mirror server, supports local (private) package upload.

buildout creates, assembles, and deploys multiple parts of an application, some of which may be non-Python based. SCons, software construction tool.

platformio, a console tool that builds code that can be used on different development platforms.

bitbake, a specially designed tool for creating and deploying [embedded] Linux software packages

fabricate, automatically generates dependency packages for any programming language.

django-compressor, Django compressor, compresses and inlines JavaScript or CSS, linking it to a single cached file. jinja-assets-compressor, Jinja compressor, a Jinja extension, compresses your resources through compilation.

webassets, optimized management, static resources, unique cache clearing.

fanstatic, fans, package optimization, providing static files.

fileconveyor, monitors resource changes, and can be saved to CDN (content distribution network) and file systems.

django-storages, a set of custom storage Django backends.

glue, glue, a simple command line tool to generate CSS Sprites.

libsass-python, a Python interface to Sass (Cascading Style Sheets).

Flask-Assets, integrate application resources.

Code debugging

unittest, Python standard library, unit testing framework.

nose, nose, unittest extension product.

pytest, a mature and full-featured Python testing tool.

mamba, Mamba, the authoritative testing tool for Python. From the BDD banner.

contexts, background, BDD testing framework, based on C#.

pyshould, a should-style testing framework, based on PyHamcrest.

pyvows, BDD style testing framework

Selenium, web testing framework, Python binding Selenium.

splinter, split, an open source tool for testing web applications.

locust, a scalable user load testing tool written in Python.

sixpack, a language-agnostic A/B testing framework.

Mock, simulation object (English: mock object, also translated as imitation object), simulation test library.

responses, tool function, used for mock simulation testing.

doublex - a powerful testing framework.

freezegun, through time adjustment, test modules.

httpretty, a simulation tool for HTTP requests.

httmock, mock simulation test.

coverage, code coverage measurement test.

faker, a Python package that generates simulated test data.

mixer, mixer, generates simulated data, used for Django ORM, SQLAlchemy, Peewee, MongoEngine, Pony ORM, etc.

model_mommy, a tool for creating test randomizers in Django.

ForgeryPy, an easy-to-use analog data generator.

radar, radar, generates random dates/times.

FuckIt.py, tests the Python code running.

Code Analysispysonar2, Python type index.

pycallgraph, a visual traffic (call graph) application.

code2flow, converts Python and JavaScript code into flowcharts.

LinterFlake8, source code module checker

pylama, a code auditing tool for Python and JavaScript.

Pylint, a source code analyzer, finds programming errors, helps enforce a code standard and sniffs out some code smells. Note: Compared to PyChecker, Pylint is a high-level Python code analysis tool that analyzes errors in Python code.

Pyflakes, a simple program for checking Python source files for errors. Pyflakes analyzes programs and checks for various errors. It does this by parsing source files, no imports required.

pdb, Python standard library, Python debugger.

ipdb, the PDB used by IPython.

winpdb platform independent GUI debugger.

pudb, full-screen, python-based debugging console.

pyringe, - a debugger that can be attached to and inject code into Python programs.

python-statsd, statsd server client.

memory_profiler, memory monitoring.

profiling, an interactive Python profiler.

django-debug-toolbar, Django debugging toolbar, displays various debugging information: current request/response.

django-devserver, Django debugging tool.

flask-debugtoolbar, flask debugging tool.

Guess you like

Origin blog.csdn.net/lojloj/article/details/118292001