Please like the lovely Python test development library on Github. Thank you!

Test development

Web UI test automation

  • Splinter – Web UI testing tool, based on selnium packaging. link
  • Selenium – Web UI Automation Testing. Link – Recommendation
  • Stateful programmatic Web browsing in Mechanize-Python. link
  • Selene – Concise UI test links using Python + Ajax support + PageObjects + Widgets
  • Hitch – Advanced integration testing framework for service-based applications. link
  • Needle – Css Automated testing framework. link
  • Seleniumbase – End-to-end automation testing framework. link
  • Pytest_splinter – PyTest Spinter and Selenium integration. link
  • Browsermob Proxy – Python wrapper for Browsermob Proxy. link
  • Selenium-Requests – Extends the Selenium WebDriver class to include request functions in the request library, while doing all the required cookie and request header processing. link

Mobile test automation

  • Appium – Mobile UI automation testing. Link – Recommendation
  • Uiautomator – Android UI automatic test. link
  • ATX – Smart phone automation tool. Support iOS, Android, WebApp and games. Netease products link – recommended
  • Uiautomator2 – Android UIautomator2 Python Wrapper. Link – Recommendation
  • Facebook – WDA Facebook WebDriverAgent Python Client Library (not Official) can be used to test IOS applications. Link – Recommendation

Windows UI test automation

  • Winium.Desktop – Open source test automation tool for automatic testing of Windows applications based on WinForms and WPF platforms, based on Selenium remote WebDriver implementation. link
  • Pyautogui – cross-platform UI automation tool to control mouse and keyboard. link
  • Autopy – A simple cross-platform GUI automation toolkit for Python. link
  • Pywinauto – Windows UI automation. link
  • SikuliX – OpencV-based GUI testing framework that uses image recognition to locate and link items, scripts from Python 2.7, cross-platform. link

UI test

  • Pyautoacad – AutoCAD automation. link
  • Sikuli – Bitmap automation. link
  • Monkeyrunner – Android Automation. link
  • Ldtp-linux UI automation. link
  • Dogtail – Linux UI automation. link
  • Pyautoit – Autoit Python API. link
  • Xuefeng magnetic needle stone description:

Autopy, WATSUP and winGuiAuto are not included because they have not been updated for a long time

The performance test

  • Funkload – Performance and function testing tool. Link – Recommendation
  • The Multi-Mechanize-Python performance testing tool, based on multi-process and multi-threading, is a great way to learn performance testing goon tools. Link – Recommendation
  • Locust – a powerful performance testing tool that uses coroutines. Link – Recommendation
  • Ngrinder – one of the most powerful performance testing tools on the market, mainly written in Jython scripts, performance above LoadRunner and JMeter, good scalability. Link – Highly recommended
  • Boom – Performance testing tool similar to AB (ApacheBench). link

The test framework

  • Pyresttest Interface testing framework – Recommended

    • HttpRunner HTTP interface testing framework – recommended
  • Augmented Traffic-Control The most powerful weak network simulation tool developed by Facebook — highly recommended
  • Hypothesis – Advanced unit testing framework, behavior driven, based on property. Link – Recommendation
  • Unittest – (Python standard library) unittest framework link – recommended
  • Mamba – Behavior Driven testing framework. link
  • Nose – A better unit testing framework. Link – Recommendation
  • Nose2-nose is based on the unitTest2 version. link
  • Pytest – a great and powerful unit testing framework that is actually widely used to automate unit, interface, functional, and more testing. Link – Highly recommended
  • Potency – A unit testing framework that provides enhanced test fixture setup, breaking the test suite into easily parallelized storage buckets, PEP8 naming convention, extensive logging/reporting options, and color test runners. link
  • Trial-twisted’s unit testing framework, based on UnitTest. link
  • Robot Framework- The Robot Framework is a universal Python testing Framework that is easy to use, produces good reports, and is suitable for small companies. It supports keyword and data driven testing. However, since writing use cases is not flexible enough to use Python and requires a lot of Python encapsulation, large companies often use pyTest, Django, flask and other libraries to develop their own. link
  • Pytest – a great and powerful unit testing framework that is actually widely used to automate unit, interface, functional, and more testing. Link – Highly recommended
  • Green-color (command line can display multiple colors) unit testing framework. link
  • Tox – VirtualEnv-based testing framework designed to solve multiple versions of Python. link
  • Sixpack – A/B testing framework. link
  • Lettuce – A behavior driven testing framework. link
  • Pyccuracy – Behavior Driven Web acceptance testing framework. link
  • Pytest-bdd – A behavior driven testing framework based on PyTest. link
  • DDT – Data driven testing. link
  • Behave – Behavior-driven test. link
  • Lettuce – Behavior driven testing. link
  • Mamba-python’s test definition tool, behavior-driven. link
  • Pyophysiology – Asynchronous behaviour-driven development of Python, a port of Python.js. link
  • Pyhamcrest – Python’s Hamcrest matcher. link
  • Sure – a powerful and flexible assertion Python test library. link
  • Factory_boy – Factory_Girl’s fixture replacement based on ThinkBot. link

Mock

  • Doublex: Powerful test pile framework. link
  • Mock :(Python3 library) mock and patch. link
  • Freezegun: Forge time. [link] github.com/spulec/free…
  • Httmock: Python 2.7+ and 3.4+ Mock Requests libraries. link
  • Httpretty: Python’s HTTP request client mock tool. Python 3 is not currently supported. link
  • Responses: Mock library to the Requests library. link
  • Vcr.py: Record HTTP requests to speed up test execution and mock. Link – Recommendation
  • Factoryboy: Python test fixtures(Setup and teardown) replacement library. link
  • Mixer: Another test fixtures(Setup and Teardown) replacement library, supporting Django, Flask, SQLAlchemy, Peewee, etc. link
  • Modelmommy: Create a random fixtures link for Django tests
  • Faker: Generates a variety of pseudo data. link
  • Fake2db: Fake database generator. link
  • Mimesis: Generates mock data. [link] github.com/lk-geimfari…
  • Xuefeng magnetic needle stone description:

Radar didn’t include it on Github because it didn’t have enough stars

Other Test tools

  • Coverage: code coverage. link
  • Fuckit. py: Code errors can also be executed. link

    • RoboBrowser: A simple, Python-style library for browsing web sites without the need for a separate installed browser. link
    • MechanicalSoup: A Python library for automatically interacting with web sites. link
    • Augmented traffic-control: network simulation tool Link – Highly recommended

Continuous delivery

  • Buildbot – The continuous integration framework used by companies such as Google is harder to get started with and has far more functionality and performance than Jenkins. link
  • BitBake – Similar to make tools on embedded Linux. link
  • Buildout – Build system for creating, assembling, and deploying applications from multiple parts. link
  • PlatformIO – console build tool for different development platforms. link
  • PyBuilder – A continuous build tool written in pure Python. link
  • SCons – Software build tool. link

Test Tool Interconnection

  • Jira — Automated JIRA. link

awesome-python

Admin Panels

  • Ajenti – Linux & BSD Web Administration Panel. Manage processes and files, etc. link
  • Django-suit – Modern themed Django admin interface (non-commercial use only). link
  • Django-xadmin – handy alternative to Django admin. Full support for plugin extensions, based on Twitter Bootstrap, enhanced with in-site bookmarks, support for XLS, CSV, XML and JSON data import, and more. link
  • Flask-admin-flask is a simple and extensible Web management interface framework for flask. link
  • Real-time monitoring and networking of flower-celery. link
  • Grappelli – Django admin interface for jazz skin. [link] github.com/sehmaschine…
  • Wooey – A Django application that creates an automatic Web UI for Python scripts. link

Algorithms and Design Patterns

Implementation of Python algorithms and design patterns.

  • Algorithms – The algorithm module of Python. link
  • PyPattyrn – Simple and effective implementation of common design patterns. link
  • Python-patterns – A collection of design patterns in Python. link
  • Fast, pure Python implementation of sortedContainers-sortedList, SortedDict, and SortedSet types. link

Anti-virus (Anti – spam)

  • Django-simple – Captcha – A simple and highly customizable Django application that allows you to add captcha images to any Django form. link
  • Xuefeng magnetic needle stone description:

Django-simple-spam-blocker was not included because github stars were too low

Asset Management

A tool to manage, compress and shrink web site assets.

  • Django-compressor – Compresses the linked and inline JavaScript or CSS into a single cache file. link
  • Django-pipeline – Django’s asset wrapper library. link
  • Django-storages – Django custom storage backend set. link
  • Fanstatic – Encapsulates static files as Python packages, optimizes static files and decomposes dependencies. link
  • Fileconveyor – a daemon that detects and synchronizes files to CDN, S3, and FTP. link
  • Flask-assets – Integrates Web resources into flask applications. link
  • Jinja -assets-compressor – jinja extension is used to compile and compress resources. Links – Github stars less than 100.
  • Webassets – Package, optimize and manage cache-based unique urls for static resources. link

Audio (Audio)

Library for manipulating audio.

  • Audiolazy – Digital Signal Processing (DSP) software package. link
  • Audioread – Cross-library (GStreamer +Core Audio+ MAD + FFmpeg) Audio decoding. link
  • Beets – Music library management and MusicBrainzb TAB. Link – Recommendation
  • Dejavu – Audio fingerprint recognition. Link – Recommendation
  • Id3reader – Python module for reading MP3 metadata. link
  • M3u8 – Module for parsing M3U8 files. link
  • Mingus – Advanced music theory and MIDI files and playback support symbol packs. link
  • Mutagen – Python module for handling audio metadata. link
  • PyAudioAnalysis – Python AudioAnalysis library: Feature extraction, classification, segmentation and application. Link – Recommendation
  • Pydub – Handles audio through an easy-to-use advanced interface. Link – Recommendation
  • Pyechonest – Echo Nest API Python client. link
  • Talkbox – Python library for speech/signal processing. link
  • TimeSide – Open Web audio processing framework. link
  • Tinytag – library for reading music metadata from MP3, OGG, FLAC and Wave files. link
  • Xuefeng magnetic needle stone description:

Django-elastic – Transcoder, eyeD3 has too few stars on Github

Scikits. Talkbox not included due to long time not updated

Certification (Authentication)

  • Authomatic: Simple but powerful framework, authentication/authorization client. link
  • Django-allauth: django authentication application. link
  • Django-oauth-toolkit: Django OAuth2. link
  • Django-oauth2-provider: django oauth2. link
  • Flask -oauthlib: Flask OAuthlib. link
  • OAuthLib: Generic complete implementation of OAuth request-signature logic. link
  • Python-oauth2: Creates an abstract interface to fully test the OAuth client and server. link
  • Python-social-auth: Set simple social authentication. link
  • Rauth: OAuth 1.0/ A, 2.0, and Ofly. link
  • Sanction: a super simple OAuth2 client implementation. link
  • PyJWT: JSON Web token draft 01. link
  • Python-jwt: Generates and validates JSON Web tokens. link
  • Xuefeng magnetic needle stone description:

Jose, Python-jWS is not included because github has too few stars

Scikits. Talkbox not included due to long time not updated

Built-in Classes Enhancement

  • Attrs – Replaces the __init__, __eq__, __repr__ boilerplate files in the class definition.
  • Bidict – Efficient two-way dictionary.
  • Box – A Python dictionary accessed by dot notation

CMS(Content Management Systems)

Content management system

  • Django-cms: An open source, enterprise-level django-based CMS. link
  • Djedi – CMS: A lightweight but powerful Django CMS that takes into account plug-ins, inline editing, and performance. [link] djedi-cms.org/)
  • FeinCMS: One of the most advanced content management systems built on Top of Django. link
  • Kotti: A high-level Web application framework, built on Pyramid. link
  • Mezzanine: Powerful, consistent, flexible content management platform. Link – Recommendation
  • Opps: a CMS platform designed for magazines, newspapers, and high-traffic portals, based on Django. [link] github.com/opps/opps)
  • Plone: CMS built on top of The open source application server Zope. link
  • Quokka: Flexible, scalable small CMS, based on Flask and MongoDB. link
  • Wagtail: Django content management System. Link – Recommendation
  • Widgy: CMS framework, based on Django. link

Cache (Caching)

A library that caches data.

  • Beaker: Cache and session library for Web applications and standalone Python scripts and applications. link
  • DiskCache: Python DiskCache (django-compatible). link
  • Django-cache-machine: Automatic caching and invalidation of Django models. link
  • Django-cacheops: ORM with automatic granulated event-driven invalidation. link
  • Dogpile. Cache: Dogpile. Cache is a replacement for Beaker, developed by the same author. link
  • HermesCache: Python cache library with tag-based invalidation and dogpile effect protection. link
  • Johnny-cache: Django application cache framework. [link] github.com/jmoiron/joh…
  • Pylibmc: Python wrapper for the libmemcached interface. link
  • Xuefeng magnetic needle stone description:

Django-viewlet is not included because github has too few stars

ChatOps Tools

  • Errbot: The simplest and most popular tool used by chatbots to implement automatic chat. link

Code Analysis and Lint

  • Coala: Language independent and easily extensible code analysis application. link
  • Code2flow: Convert your Python and JavaScript code into flowcharts. Maintenance cannot be continued temporarily. link
  • Pycallgraph: This library visualizes the flow (callgraph) of your Python application. link
  • Flake8: Modular source code check tool: PEP8, PyFlakes and CO. link
  • Pylint: a fully customizable source code parser. link
  • Pylama: Python code audit. link
  • YAPF: Google’s Python code formatting tool. Link – Recommendation
  • Pylama: Code review tool for Python and JavaScript. link
  • Autopep8: Automatically formats Python code to conform to the PEP8 specification. Link – Recommendation
  • Mypy: static type check. Link – Recommendation
  • Pep8: Python style check. Link – Recommendation
  • Prospector – a tool to analyze Python code and output information about errors, potential problems, violations of conventions, and complexities. link

Command line Tools

Command Line Application Development

  • Asciimatics: A cross-platform, full-screen terminal package (i.e. mouse/keyboard input and color, positioning text output), complete advanced API for complex animations and special effects. link
  • Cement: Python’s command-line framework. link
  • Click: a package that creates elegant command line interfaces through composition. Link – Recommendation
  • Cliff: A framework for creating command-line programs with multiple layers of commands. link
  • Clint: Python command-line tool. link
  • Colorama: cross-platform color terminal text. link
  • Docopt: Python style command line argument parser. Link – Recommendation
  • Gooey: a command that turns a command line program into a GUI program. link
  • Python-fire: Turns a command line program into a GUI program. Link – Recommendation
  • Python-prompt-toolkit: a library for building powerful interactive command-line programs. Link – Recommendation
  • Pythonpy: Executes any Python instruction directly from the command line. link

Productivity Tools

  • Aws – CLI: Common command line interface for Amazon Web Services. link
  • Bashplotlib: Do basic drawing in terminal. link
  • Caniusepython3: Determine which project is preventing you from migrating to Python 3. link
  • Cookiecutter: A command-line tool for creating projects from Cookiecutters (project templates). link
  • Doitlive: a tool for live demos on terminals. link
  • Howdoi: Get instant programming problem solving from the command line. Link – Recommendation
  • Httpie: a command line HTTP client, an alternative to cURL. link
  • PathPicker: Selects files from the bash output. link
  • Percol: Adds interactive selection to the traditional UNIX shell concept of pipes. link
  • SAWS: An enhanced AWS command line. link
  • Thefuck: Fix your previous command line commands. link
  • Mycli: a MySQL command line client with auto-completion and syntax highlighting. Link – Recommendation
  • Pgcli: Postgres command line tool, with automatic completion and syntax highlighting functions. Link – Recommendation
  • Try: a simple command-line tool for trying python libraries. link

Compatibility (Compatibility)

A library to help migrate from Python 2 to Python 3.

  • Python-future: This is the missing compatibility layer between Python 2 and Python 3. link
  • Python-modernize: Modernizes Python code for eventual migration to Python 3. [link] github.com/mitsuhiko/p…
  • Six: Compatibility tools for Python 2 and 3. link

Computer Vision

Computer vision library.

  • OpenCV: Open source computer vision library. link
  • Pyocr: Wrapper libraries for Tesseract and Cuneiform. link
  • Pytesseract: Another wrapper for Google Tesseract OCR. Link to the document
  • SimpleCV: An open source framework for creating computer vision applications. link

Concurrency and Parallelism (Concurrency and Parallelism)

A library for concurrent and parallel operations.

  • Multiprocessing :(the Python standard library) a process-based “threading” interface. Link – Recommendation
  • Threading: A higher level threading interface. Link – Recommendation
  • Eventlet: Asynchronous framework that supports WSGI. link
  • Gevent: a Coroutine based Python network library, using greenlet. Link – Recommendation
  • Tomorrow: Fancy decorator syntax implementation for generating asynchronous code. link
  • Uvloop: Super fast asyncio event loop on top of Libuv. Link – Recommendation
  • Asyncio – (Python standard library) Asynchronous I/O, event loops, coroutines and task links – recommended
  • Aiohttp Asynchronous HTTP Client/Server Framework (Asyncio) link – recommended
  • Curio concurrency library for coroutines. link
  • Pulsar – Event-driven concurrency framework. link
  • Python encapsulation of the PyZmq-ZeromQ message library. link
  • Twisted – An event-driven network engine. Asyncio has a lot in common with asyncio and is gradually being replaced, requiring support links from related ecosystems such as databases
  • Diesel – Greenlet-based event I/O framework. Links.
  • Tornado – Web Framework and Asynchronous Network library. link
  • Trio — asynchronous I/O links could soar
  • NAPALM – Handles cross-provisioning API. Links for network devices
  • TxZMQ – A Python wrapper based on Twisted’s ZeroMQ message library. link

The Configuration (Configuration)

A library for saving and parsing configurations.

  • Config: logging module Hierarchical configuration module written by the author. Link – not updated for a long time
  • ConfigObj: INI file parser with validation. link
  • ConfigParser :(Python standard library) INI file parser. link
  • Profig: Configure multiple formats through value conversion. link
  • (Ppython) — Keep Settings and code completely isolated. link

Encryption (Cryptography)

  • Cryptography: This package is intended to provide basic cryptography content and methods for Python developers. link
  • Hashids: Implement hashids in Python. link
  • Paramiko: Paramiko: Python (2.6+, 3.3+) of the SSHv2 protocol, providing client and server functions. Link – Recommendation
  • Passlib: security password store/hash library, link
  • PyCrypto: Python cryptography toolkit. link
  • PyNacl: Python binding for the Network and Cryptography (NaCl) library. link

Data Analysis

  • Blaze: Big data interface for NumPy and Pandas. link
  • Open Mining: Mining business Intelligence (BI) using Python (Pandas Web interface). link
  • Orange: Data mining, data visualization, analysis and machine learning through visual programming or Python scripting. link
  • Pandas: Provides high-performance, easy-to-use data structure and data analysis tools. Link – Highly recommended
  • Book: Data Analysis with Python 2017 2nd edition Code links — recommended
  • Data analysis with Python. 2nd edition — Recommended

Data Validation

Data validation library. Most commonly used for form validation.

  • Cerberus: lightweight extensible data validation library. link
  • Colander: Validates and deserializes data obtained from XML, JSON, and HTML forms. link
  • Colander: Implementation of json schema. link
  • Kmatch: a language for matching/validating/filtering Python dictionaries. [link] ()
  • Schema: A library for validating Python data structures. [link] ()
  • Schematics: User-friendly Python data structures. link
  • Valideer: lightweight extensible data validation and adaptation library. link
  • Voluptuous: Python data authentication library. The main purpose is to validate JSON, YAML, etc. data passed into Python. link

Data Visualization

A library for data visualization. See also: awesome-javascript.

  • Matplotlib: Python 2D drawing library. Link – Recommendation
  • Bokeh: Interactive Web drawing in Python. Link – Recommended English Quick Start Chinese quick Start
  • Ggplot: Python port of ggplot. Commend link –
  • Plotly: Interactive browser-based drawing. link
  • Pyecharts: Data visualization library based on Baidu Echarts. Commend link –
  • Pygal: Python SVG diagram creation tool. link
  • Pygraphviz: The Python interface for Graphviz. link
  • PyQtGraph: Interactive real-time 2D/3D/ image rendering and science/engineering components. link
  • SnakeViz: browser-based Python cProfile module output viewing tool. link
  • Vincent: A conversion tool to convert Python into Vega syntax. link
  • VisPy: A high-performance scientific visualization tool based on OpenGL. link
  • Altair – A declarative statistical visualization library for Python. link
  • Bqplot – Jupyter Notebook’s interactive drawing library. link
  • Seaborn – Visualization of statistics using Matplotlib. Commend link –
  • Plotly. Py interactive browser-based drawing – recommendation

A Dramatic Tour through Python’s Data Visualization Landscape (including ggplot and Altair)

Python data visualization: Comparing 7 tools

10 Useful Python Data Visualization Libraries for Any Discipline

Overview of Python Visualization Tools

Effectively Using Matplotlib

pyecharts + notebook

Bokeh vs Dash

01+ Resources to Learn Data Science chinese

The Database (Database)

A database implemented in Python.

  • PickleDB: Simple, lightweight key-value store database. link
  • PipelineDB: Streaming SQL database. link
  • TinyDB: Lightweight, document-oriented database. link
  • ZODB: Python native object database. Key value and object graph database. link

Database Drivers

A library to connect to and manipulate databases.

  • Mysql-python: Python’s mysql database connector. The link does not support PYTHon3 and is not recommended
  • PyMySQL: a pure Python MySQL driver compatible with mysql-Python. Link – Recommendation
  • Mysql-connector-python: the official Python API of mysql. Link – Recommendation
  • Psycopg: The most popular PostgreSQL adapter in Python. Link – Recommendation
  • Queries: Encapsulates the Psycopg2 library to interact with PostgreSQL. link
  • Txpostgres: Twisted based asynchronous PostgreSQL driver. link
  • Apsw: Another Python SQLite package. link
  • Dataset: Stores the Python dictionary in the database

    Pymssql: A simple Microsoft SQL Server database interface. [link] (https://github.com/pudo/dataset)Copy the code
  • Cassandra-python-driver: Python driver for Cassandra. link
  • HappyBase: Apache HBase. link
  • Plyvel: a fast and rich Python interface to LevelDB. link
  • Pycassa: Python Thrift driver for Cassandra. link
  • PyMongo: Official Python client for MongoDB. Link – Recommendation
  • Redis-py: Python client of Redis. Link – Recommendation
  • Telephus: Twisted based Cassandra client. link
  • TxRedis: Twisted based Redis client. link

Date and Time

A library for manipulating dates and times.

  • Arrow: Better Python date-time manipulation library. Link – Recommendation
  • Chronyk: Python 3 library for parsing times and dates in handwritten format. link
  • Dateutil: Extension of the Python datetime module. link
  • Delorean: A library that solves some tricky problems with date handling in Python. link
  • Moment: Python library for handling times and dates. The inspiration came from moment.js. link
  • Pendulum: More on datetime. link
  • PyTime: An easy-to-use Python module for manipulating dates/times with strings. link
  • Pytz: Modern and historical versions of world time zone definitions. Introduce the time zone database into Python. Link – Recommendation
  • When. Py: Provides user-friendly functions to help users with common date and time operations. link
  • When. Py: Human-friendly datetime. link

Debugging Tools

A library for code debugging.

  • Ipdb: IPython’s PDB. link
  • Pudb: an alternative to PDB. Link – Recommendation
  • Pudb: full-screen, console-based Python debugger. link
  • Pyringe: Debugger that allows you to attach and inject code into a Python process. [link] ()
  • WDB: a bizarre Web debugger that works over WebSockets. [link] ()
  • Winpdb: A Python debugger with a graphical user interface for remote debugging, based on RPDB2. [link] ()
  • Django-debug-toolbar: Displays debugging information for Django. [link] ()
  • Django-devserver: a django-run server replacement. [link] ()
  • Flask – Debugtoolbar: Flask version of Django-debug-Toolbar. [link] ()
  • Performance analyzer

    Lineprofiler: Line-by-line performance analysis. [link] ()Copy the code
  • Memory Profiler: Monitors Memory usage of Python code. Official website, memory

    Profiling: An interactive Python performance analysis tool. [link] ()Copy the code
  • other

    Pyelftools: Parses and analyzes ELF files and DWARF debugging information. [link] ()Copy the code
  • Python-statsd: Indicates the Python client of the Statsd server. [link] ()

Deep Learning

Machine learning library. See also: awesome – deep – learning. *

  • Caffe – Fast open Deep Learning Framework – Recommended
  • Keras – An advanced neural network library capable of running on TensorFlow or Theano. – recommend
  • MXNet – Efficient and flexible deep learning framework.
  • Neupy – Runs and tests different artificial neural network algorithms.
  • Pytorch – Tensors and dynamic neural networks in Python, with powerful GPU acceleration capabilities. – recommend
  • Serpent.AI – Game Agency framework. Use any video game as a deep learning sandbox. – recommend
  • TensorFlow – The most popular deep learning framework created by Google. — Highly recommended
  • Theano – library for fast numerical calculations. — Recommended

DevOps Tools

  • Software and libraries for DevOps. *
  • Ansible – extremely simple IT automation platform. – recommend
  • Cloud-init – Multi-dispatch packets that handle early initialization of Cloud instances.
  • Cuisine – Provides a series of advanced functions for Fabric.
  • Docker Compose – A fast isolation development environment using Docker. – recommend
  • Fabric – Simple Pythonic remote execution and deployment tool. – recommend
  • Fabtools – Tools for writing awesome Fabric files.
  • Honcho – a [Foreman] Python clone (github.com/ddollar/for… For managing procfile-based applications.
  • Nova-openstack computing. – recommend
  • Swift-openstack storage. – recommend
  • Pexpect – Controls interactive programs in pseudo-terminals like GNU Expect. — Highly recommended
  • Psutil – Cross-platform implementation and system utility module. – recommend
  • SaltStack – Infrastructure automation and management system. – recommend
  • Supervisor – Supervisor process control system for UNIX.
  • Gitapi: Git’s pure Python API. website
  • Hgapi: Mercurial’s pure Python API. website
  • Honcho: Foreman Python clone used to manage procfile-based applications. website

Distribution (Distribution)

Package as an executable for distribution.

  • PyInstaller: Converts Python programs into standalone executable files (cross-platform). Link – Recommendation
  • Dh-virtualenv: Build and distribute the Virtualenv virtual environment as a Debian package. link
  • Nuitka: Compile scripts, modules, packages into executable files or extension modules. link
  • Py2app: Make Python scripts standalone packages (Mac OS X). Link – Recommendation
  • Py2exe: Makes Python scripts into standalone packages (Windows). Link – has not been updated for a long time.
  • Pynsist: a tool for creating Windows installers that package Python itself in the installer. link

Documents (Documentation)

A library used to generate project documents.

  • Sphinx: Python document generator. link
  • Awesome – sphinxdoc: link
  • MkDocs: Markdown-friendly document generator. Link – Recommendation
  • Pdoc: Replaces the Epydoc library and automatically generates Python library API documentation. link
  • Pycco: Literary programming style document generator. link
  • Readthedocs: An online document hosting system based on Sphinx/MkDocs, free for open source projects. Link – Recommendation

Download (Downloader)

A library for downloading.

  • S3cmd: a command line tool for managing Amazon S3 and CloudFront. link
  • S4cmd: super S3 command line tool with more powerful performance. link
  • You-get: YouTube/Youku/Niconico video download, written using Python3. Link – Recommendation
  • Youtube-dl: a small command-line program for downloading YouTube videos. link

E-commerce

Frameworks and libraries for e-commerce and payments.

  • Django-oscar: An open source e-commerce framework based on Djangos. Link – Recommendation
  • Django-shop: Django-based store system. link
  • Cartridge: A shopping cart application built on Mezzanine. link
  • Shoop: Django-based open source e-commerce platform. link
  • Alipay: Unofficial Python Alipay API. link
  • Merchant: A Django application that accepts payments from a variety of payment platforms. link
  • Money: Python money class with an optional CLDR supported locale recognition format and an extensible currency exchange solution. link
  • Forex-python: Foreign exchange rates, Bitcoin price index and currency exchange. link
  • Saleor – E-commerce storefront for Python and Django. link
  • Xuefeng magnetic needle stone description:

Python-currencies are not included because there are fewer stars

Editor Plugins and IDEs

Editor and IDE plug-ins

  • Elpy: Emacs Python development environment. link
  • SublimeJEDI: Sublime Text plugin for autocomplete Library Jedi. link
  • Anaconda: Turn your Sublime Text 3 into a fully featured Python IDE. link
  • YouCompleteMe: Introduced a Jedi-based Python autocomplete engine. link
  • Jedi-vim: Bind vim and Jedi autocomplete libraries to complete Python autocomplete. link
  • Python-mode: Vim becomes an all-in-one plugin for Python IDE. link
  • PTVS: Visual Studio’s Python tools link
  • WingIDE: Commercial Python IDE, powerful, resource-intensive, Python development. There is also a free community edition available. [link]wingware.com/) — recommended
  • PyCharm: Commercial Python IDE, developed by JetBrains. There is also a free community edition available. link
  • LiClipse: A free multilingual IDE based on Eclipse. Use PyDev to support Python. link
  • Spyder: Open source Python IDE. link
  • Komodo ide links. –

E-mail (Email)

A library for sending and parsing E-mail messages.

  • Mailer: A simple way to send emails. Link – Recommendation
  • envelopes: A humanized email library. link
  • Flanker: Email address and Mime parsing library. link
  • Imbox: User-friendly Python IMAP library link
  • Inbox.py: User-friendly Python SMTP server. link
  • Inbox: IMAP/SMTP synchronization system with stylish API. Link – Recommendation
  • Lamson: SMTP application server in Python style. link
  • Marrow. Mailer: High-performance extensible mail distribution framework. link
  • Modoboa: A mail hosting and management platform with a modern, minimalist Web UI. link
  • Pyzmail: Creates, sends, and parses E-mail. link
  • Talon: Mailgun library for extracting information and signatures. link
  • Yagmail – Another Gmail/SMTP client. link
  • Sync-engine-imap /SMTP synchronization. Link – Recommendation

Environment Management

Python version and environment management

  • Pipenv: combination of Pipfile, Pip, and Virtualenv. Link – Highly recommended
  • P: Simple Python version management tool. link
  • Pyenv: Simple Python version management. Link – Highly recommended
  • Venv: Create the Python virtual environment, python3 standard library. Link – Highly recommended
  • Virtualenv: Create a separate Python environment. Link – Highly recommended
  • Virtualenvwrapper: Extension to virtualenv. Link – Highly recommended

Documents (Files)

File management and MIME type detection.

  • Imghdr :(Python standard library) detects image types. link
  • Mimetypes :(the Python standard library) maps file names to MIME types. link
  • Path. py: module that encapsulates os.path. link
  • Pathlib :(Python3.4+) a cross-platform, object-oriented path manipulation library. Link – Highly recommended
  • Python-magic: Python interface to libmagic, a third-party library for file type detection. link
  • Unipath: Operates files and directories in an object-oriented manner. link
  • Watchdog: API and shell tool for managing file system events. Link – Recommendation

Foreign Function Interface

  • Cffi: Calls C code. Link – Highly recommended
  • Ctypes :(Python standard library) calls C code. Link – Highly recommended
  • PyCUDA: Nvidia CUDA API package. link
  • SWIG: Simple wrapper and interface generator. link

Forms (Forms)

  • Deform: Python HTML form generation library, inspired by the Formish form generation library. link
  • Django-bootstrap3: Django with Bootstrap 3 integration. Link – Recommendation
  • Django-crispy-forms: A very elegant and DRY(Don’t repeat Yourself) way to create beautiful forms. Link – Recommendation
  • Django-remote-forms: A platform-independent django form serialization tool. link
  • WTForms: Flexible form validation and rendering library. link

Functional Programming

  • CyToolz: Cython implementation of Toolz: High-performance function tool. link
  • Fn.py: Functional programming in Python: Implements some functionality missing from functional programming. Link – Recommendation
  • Funcy: A fancy and functional tool. link
  • Toolz: A set of functional programming tools for iterators, functions, and dictionaries. link

Dynamic message

A library for creating user activity.

  • Django-activity-stream: Generate a generic activity stream from your site’s behavior. link
  • Stream-framework: Create dynamic messaging and notification systems using Cassandra and Redis. link

Graphical User Interface (GUI)

  • Curses: Built-in Ncurses wrapper for creating terminal graphical user interfaces. The standard library. link
  • Eel – A small library for making simple electronic offline HTML/JS GUI applications. link
  • Enaml: Use QML-like Declaratic syntax to create a beautiful user interface. link
  • Kivy: Library for creating NUI applications that run on Windows, Linux, Mac OS X, Android, and iOS platforms. Link – Recommendation
  • Pyglet: Python’s cross-platform window and multimedia library. link
  • PyQt: A Python binding of the cross-platform user interface framework Qt, supporting Qt V4 and Qt V5. link
  • PySide: A Python binding of the cross-platform user interface framework Qt, supporting Qt V4. link
  • Tkinter: Python GUI standard library. link
  • Toga: Python native, operating system native GUI toolkit. link
  • Urwid: library for creating terminal GUI applications, supporting components, events, rich colors, etc. link
  • WxPython: wxPython is a hybrid of the wxWidgets C++ library and the Python language. link
  • PyGObject: Python binding of GLib/GObject/GIO/GTK+ (GTK+3). link
  • Flexx: A set of tools written in pure Python for creating GUI programs that display interfaces using Web technologies. link

Game Development

  • Cocos2d – Cocos2d is a framework for building 2D games, presentations and other graphical/interactive applications. It is based on Pyglet.
  • Panda3D – 3D game engine developed by Disney and maintained by the Carnegie Mellon Entertainment Technology Center. Written in C ++ and wrapped entirely in Python. – recommend
  • Pygame – Pygame is a set of Python modules for writing games. – recommend
  • PyOgre – Python binding of Ogre 3D rendering engine, can be used for games, simulations, any 3D.
  • PyOpenGL – The Python ctypes binding for OpenGL and its associated API.
  • Ctypes – based wrapper for pYSDL2-SDL2 library.
  • RenPy – Visual Novel Engine.

Geolocation

Geocoding addresses and libraries of latitude and longitude.

  • Django-countries – A Django application that provides country options for use with forms and marks the country/region fields for ICONS of static files and models.
  • GeoDjango – A world-class geographic web framework. – recommend
  • GeoIP – MaxMind Python API for GeoIP legacy database.
  • Geojson – Python bindings and utilities for geoJSON.
  • Geopy-python geocoding toolkit.
  • Pygeoip – Pure Python GeoIP API.

HTML Manipulation (HTML Manipulation)

A library for processing HTML and XML.

  • BeautifulSoup – Python style way to iterate, search, and modify HTML or XML. – recommend
  • Bleach – Whitelist-based HTML cleanup and text link library.
  • Cssutills – CSS library for Python.
  • Html5lib – a standards-compliant library for parsing and serializing HTML documents and fragments.
  • LXML – very fast, easy to use and versatile library for processing HTML and XML. – recommend
  • MarkupSafe – implements XML/HTML/XHTML MarkupSafe strings for Python.
  • Pyquery – jQuery library for parsing HTML.
  • Untangle – Converts XML documents into Python objects for easy access.
  • WeasyPrint – VISUAL rendering engine for HTML and CSS that can be exported to PDF.
  • Xmldataset – Simple XML parsing.
  • Xhtml2pdf: HTML/CSS to PDF tool. website
  • Xmltodict – Handles XML like JSON.

HTTP

Libraries that use HTTP.

  • Aiohttp: asynchronous HTTP network library based on AsynCIO. website
  • Requests: User-friendly LIBRARY of HTTP requests. Website — highly recommended
  • Grequests: Requests library + gevent, used for asynchronous HTTP requests. website
  • Httplib2: A comprehensive HTTP client library. website
  • Treq: A Python API like Requests is built on top of the Twisted HTTP client. website
  • Urllib3: a clean and friendly HTTP library with thread-safe connection pooling, file POST support. website

Hardware (Hardware)

A library for hardware programming.

  • Ino – Command line toolkit for Arduino.
  • Keyboard – Hooks and emulates global keyboard events on Windows and Linux.
  • Mouse – Hooks and emulates global mouse events on Windows and Linux.
  • Pingo-pingo provides a unified API for programming devices like Raspberry Pi, pcDuino, Intel Galileo, and more.
  • PyUserInput – a module for cross-platform mouse and keyboard control.
  • Scapy – excellent packet manipulation library.
  • Wifi – Python libraries and command-line tools for using wifi on Linux.
  • Pyro: Python robot programming library. website
  • PyUserInput: cross-platform, mouse and keyboard control module. website

Image Processing

A library for processing images.

  • Pillow: Pillow is a much easier to use version of PIL. Official website – Recommended
  • Hmap: Image histogram mapping. website
  • ImgSeek: An item that searches for a collection of images using visual similarity. The official website has not been updated for a long time
  • Nude. Py: Nude detection. website
  • PyBarcode: Generates bar codes in Python programs without the help of the PIL library. website
  • Pygram: Instagram-like image filter. website
  • Python-qrcode: A two-dimensional code generator for pure Python implementations. Official website — Recommendation
  • Quads: Computer art based on quadtree. website
  • Scikit-image: A Python library for (scientific) image processing. Official website — Recommendation
  • Thumbor: Small image service with cropping, resizing, and flipping capabilities. Official website — Recommendation
  • Wand: The Python binding of MagickWand. MagickWand is ImageMagick’s C API. website
  • Face_recognition: An easy-to-use Python face recognition library. website
  • Pagan – Retro Identicon (Avatar) generation based on input strings and hashes.

Implementation (Implementations)

  • An implementation of Python. *
  • CLPython – Python programming language written in Common Lisp.
  • CPython – the default, most widely used implementation of the Python programming language written in C. — Highly recommended
  • Cython – Optimized static compiler for Python. Compile Python to C or C ++ modules using the type mixin for a huge performance boost — highly recommended
  • Grumpy – CPython2.7 replacement for more powerful compilers than interpreters (alpha). – recommend
  • IronPython – implements orientation written in C#. NET Framework and Mono’s Python programming language. – recommend
  • Jython – Implements the Python programming language written in Java for the Java Virtual Machine (JVM). – recommend
  • MicroPython – MicroPython – A compact and efficient implementation of the Python programming language for microcontrollers and restricted systems — recommended
  • Numba – Python JIT compiler for LLVM for Scientific Python. – recommend
  • PeachPy – an x86-64 assembler embedded in Python. Can be used as an inline assembler for Python, or as a standalone assembler for Windows, Linux, OS X, Native Client, and Go. – recommend
  • Pyjion – Python JIT based on CoreCLR.
  • PyPy – Implements the Python programming language written in RPython and compiled into C. PyPy focuses on speed, efficiency, and compatibility with the original CPython interpreter. The interpreter uses dark magic to make Python very fast without needing to add additional type information. — Highly recommended
  • The enhanced version of Pysec-Python makes it easier for security professionals and developers to write applications that are more resilient to attacks and operations.
  • Pyston – A Python implementation built using LLVM and modern JIT technology with the goal of achieving good performance. – recommend
  • Stackless Python – An enhanced version of the Python programming language that allows programmers to reap the benefits of thread-based programming without the performance and complexity associated with traditional threading problems. – recommend

Python Interactive Interpreter

  • Bpython – Rich Python parser interface.
  • IPython – a feature-rich tool that works very effectively with interactive Python. — Highly recommended
  • Jupyter Notebook – a feature-rich tool that is very efficient using interactive Python. – recommend
  • Ptpython – Advanced Python REPL built on top of [python-prompt-Toolkit] (github.com/jonathansle… . – recommend

internationalization

Libraries in collaboration with I18N

  • Babel – Python internationalization library.
  • PyICU – International Component Packaging (ICU) for the Unicode C ++ library.

Job Scheduler

A library for scheduling jobs.

  • APScheduler – a lightweight but powerful in-process task scheduler that allows you to schedule functions.
  • Django-schedule – Djangos calendar application.
  • Doit – Task runner and build tool.
  • Gunnery – Multi-purpose task execution tool with distributed system based Web interface.
  • Joblib – a set of tools that provide lightweight pipelining in Python.
  • Plan – Writing crontab files in Python is like a charm.
  • Schedule – A user-friendly Python task scheduling library. – recommend
  • Spiff – a powerful workflow engine implemented in pure Python.
  • TaskFlow – A Python library that makes it easy to perform tasks consistently and reliably.
  • AirFlow: Open sourced by Airbnb, AirFlow is a workflow allocation management system that manages the flow of tasks, setting up task dependencies and scheduling via directed acyclic graphs. The official

Log (Logging)

A library for generating and processing logs.

  • Eliot – Complex and distributed Systems log.
  • Logbook – An alternative to logging Python.
  • Logging – (Python standard Library) Logging tool for Python. – recommend
  • Raven – Sentry Python client for Logging/error tracking, crash reporting, and aggregation platforms for Web applications.

Machine learning

Machine learning library. See also: awesome-machine-learning.

  • Metrics – Machine learning Metrics.
  • NuPIC – Numenta platform for intelligent computing. – recommend
  • Scikit-learn – the popular Python library for machine learning. – recommend
  • Spark ML – Apache Spark’s extensible machine learning library. – recommend
  • Vowpal_porpoise – lightweight Python wrapper for [Vowpal Wabbit] (github.com/JohnLangfor… .
  • Xgboost – Scalable, portable and distributed gradient enhancement library. – recommend

MapReduce

  • MapReduce framework and library. *
  • PySpark – Apache Spark Python API.
  • Dpark: A Python clone of Spark, similar to MapReduce. website
  • Dumbo: This Python module makes it easy to write and run Hadoop programs. website
  • Luigi – modules that help you build complex pipelines for batch jobs.
  • Mrjob – Runs MapReduce jobs on Hadoop or Amazon Web Services.
  • Streamparse – Runs Python code for real-time data streams. Integration with Apache Storm.
  • Dask – flexible analytical computing parallel computing library.

Microsoft Windows

  • Python programming on Microsoft Windows. *
  • Python(X, Y) – A Python distribution for scientific applications based on Qt and Spyder. – recommend
  • The pythonlibs-Python extension package is an unofficial Windows binary. – recommend
  • Python integration of PythonNet -.NET Common Language runtime (CLR).
  • PyWin32 – A Windows extension to Python. – recommend
  • WinPython – Windows 7/8 portable development environment. – recommend

miscellaneous

Useful libraries or tools that do not fit the above categories.

  • Blinker: Fast Python in-process signal/event distribution system. website
  • Itsdangerous: A series of assistive tools for passing trusted data into untrusted environments. website
  • Pluginbase: A simple but very flexible Python plug-in system. website
  • Pychievements: A Python framework for creating and tracking achievements. website
  • Tryton: General business Framework. website

Natural Language Processing

  • NLTK: The leading platform for building Python programs to process human language data. Connection – Recommended
  • Jieba: Chinese word segmentation tool. Official website – Recommended
  • Langid. py: Independent language recognition system. website
  • Pattern: Python network information mining module. Official website – Recommended
  • SnowNLP: Library for processing Chinese text. Official website – Recommended
  • TextBlob: Provides a consistent API for doing common natural language processing tasks. Official website – Recommended
  • TextGrocery: a simple and efficient short text categorization tool based on LibLinear and Jieba. website
  • Thulac: the official website of a Chinese lexical analysis kit developed by the Natural Language Processing and Social Human Computing Laboratory of Tsinghua University
  • Gensim – A topic modeling library for humanization.
  • SpaCy – industrial strength natural language processing library for Python and Cython. – recommend

Network Virtualization

Tools and libraries for virtual networks and SDN(software defined Networks).

  • Mininet: popular network emulator and API written in Python. Official website – Recommended
  • POX: An open source development platform for Python-based software-defined network applications such as the OpenFlow SDN controller. website
  • Pyretic: a member of the popular SDN programming language that provides powerful abstraction capabilities for network switches and emulators. website
  • SDX Platform: SDN based IXP implementation that affects Mininet, POX and Pyretic. website
  • NRU: a component-based software defined networking framework. website

Network (Networking)

Library for network programming.

  • Asyncio :(Python standard library) asynchronous I/O, event loops, coroutines, and tasks. Official website – Recommended
  • Twisted: An event-driven network engine. Official website – Recommended
  • Pulsar: Event-driven concurrency framework. website
  • Diesel: Greenlet-based event I/O framework. website
  • Pyzmq: Python encapsulation of the ZeroMQ message library. website
  • Flask library Toapi: Lightweight, simple, fast Flask library dedicated to providing API services for all websites. Official website – Recommended
  • TxZMQ: A Python wrapper based on Twisted’s ZeroMQ message library. website
  • NAPALM – Cross-vendor API for manipulating network devices.

Dynamic message

A library for creating user activity.

  • Django-activity-stream: Generate a generic activity stream from your site’s behavior. website
  • Stream-framework: Create dynamic messaging and notification systems using Cassandra and Redis. Official website – Recommended

ORM

A library that implements object-relational mapping or data mapping techniques.

Relational database

  • Django Models: Part of Django. link
  • SQLAlchemy: Python SQL tools and object-relational mapping tools. link
  • Awesome – SQLAlchemy series of links
  • Peewee: A small, expressive ORM that supports PostgresQL, mysql and SQLite. [link] github.com/coleifer/pe…
  • PonyORM: ORM that provides a generator-oriented SQL interface. link
  • Python-sql: Write PYTHON style SQL queries. link

No database

  • Django-mongodb -engine: specifies the django mongodb backend. link
  • PynamoDB: A Python-style interface to Amazon DynamoDB. link
  • Flywheel: Object mapping tool for Amazon DynamoDB. link
  • MongoEngine: Python object document mapping tool for MongoDB link
  • Hot-redis: Provides Python rich data types for Redis. link
  • Redisco: A Python library that provides simple models and containers that can persist in Redis. link

other

  • Butterdb: Python ORM for Google Drive spreadsheets. link
  • Dataset: jSON-based database. link

Package Management

Manage packages and dependencies

  • PIP: Management packages and dependencies. Link to pYPI — highly recommended
  • Conda: a cross-platform Python binary package management tool. Link – Highly recommended
  • Curdling: command line tool for managing Python packages. link
  • Pip-tools: a tool to keep Python package dependencies up to date. link
  • Wheel: A new standard distributed by Python, intended to replace EGGS. Link – Highly recommended

Package warehouse

Local PyPI warehouse services and agents.

  • Warehouse: Next-generation PyPI. link
  • Warehouse: link
  • Bandersnatch: PyPI mirroring tool provided by PyPA. link
  • Devpi: PyPI service and packaging/testing/distribution tool. link
  • Localshop: local PyPI service (customized package and automatic PyPI mirroring). link

Rights (Permissions)

A library that allows or denies users access to data or functionality.

  • Carteblanche – modules that align code with what users and designers want. Also handles navigation and permissions magically.
  • Django-guardian – For Django 1.2+ Permission management
  • Django-rules – a small but powerful application that gives Django object-level permissions without the need for a database.

Process (the Processes)

A library for starting and communicating with OS processes.

  • Delegator.py-subprocesses is used for Humans2.0. – recommend
  • Another encapsulation of sarge-subprocesses.
  • Sh – a comprehensive alternative to Python subroutines. – recommend

Queue (Queue)

A library for processing event and task queues.

  • Celery – Asynchronous task queues/job queues based on distributed messaging. – recommend
  • Huey – Small multithreaded task queue.
  • Mr Mrq-queue – Distributed worker task queues in Python using Redis&gevent.
  • Rq – Simple Python job queue. – recommend
  • Simpleq – A simple, infinitely scalable Queue based on Amazon SQS.

Recommender Systems

Libraries for building recommendation systems.

  • C ++ / Python approximates the nearest neighbor optimized for memory usage. – recommend
  • FastFM – Factorization of machine libraries.
  • A fast Python implementation of implicit-implicit data set collaborative filtering.
  • Libffm-field-aware factorizer (FFM) library.
  • LightFM – Python implementation of some popular recommendation algorithms.
  • Surprise – SciKit for building and analyzing recommendation systems.
  • Tensorrec-recommendation engine framework in TensorFlow

RESTful API

A library for developing RESTful apis.

  • Django * Django – Rest – Framework – A powerful and flexible toolkit for building Web apis. — Highly recommended

* Django-tastypie – Creates delicious apis for Django applications. – recommend

  • Flask * EVE – REST API framework and supported by Flask, MongoDB. – recommend

* flask-ap-utils – Is responsible for flask’S API representation and authentication. * Flask – API – Browsable Web API for Flask. * Flask-restful – Quickly build REST apis for flask. * Flask – Restless – Generates RESTful apis for database models defined by SQLAlchemy. *Pyramid * Cornice – RESTful framework of Pyramid. * Others * Falcon – a high-performance framework for building cloud apis and Web application backends. * HUG – a Python3 framework for cleanly exposing apis and command lines with automatic documentation and validation over HTTP. — Recommended * Restless – Frameworks based on lessons learned from Tastypie unknowable REST frameworks. * Ripozo – Quickly create REST/HATEOAS/Hypermedia apis. * Sandman – Automated REST API for existing database-driven systems. * Apistar – Intelligent Web API framework designed for Python 3. – recommend

RPC Servers

  • Rpc-compatible server. *
  • SimpleJSONRPCServer – This library is an implementation of the JSON-RPC specification.
  • SimpleXMLRPCServer – (Python standard Library) Simple XML-RPC server implementation, single thread.
  • ZeroRPC – zeroRPC is based on ZeroMQ and MessagePack. – recommend

Science (Science)

  • Astropy – Community Python library for astronomy.
  • Bcbio-nextgen – Provides a best practice pipeline for fully automated high-throughput sequencing analysis.
  • BCCB – Collect useful code related to biological analysis.
  • Biopython – Biopython is a set of free biocomputing tools.
  • Cclib – a library for parsing and interpreting the results of computational chemistry packages.
  • Color – a Color science software package for implementing various Color theory conversions and algorithms.
  • NetworkX – Efficient software for complex networks.
  • NIPY – a neuroimaging kit. – recommend
  • NumPy – Basic software package for scientific computation in Python. — Highly recommended
  • Open Babel – a chemistry toolkit for speaking a variety of chemical data in a language.
  • ObsPy – A Python toolkit for seismology.
  • PyDy – Short for Python Dynamics, used to assist workflows in dynamic motion modeling.
  • PyMC – Markov Chain Monte Carlo sampling Kit.
  • RDKit – Cheminformatics and Machine Learning Software.
  • SciPy – a Python-based open source software ecosystem for mathematics, science and engineering. — Highly recommended
  • Statsmodels – Statistical modeling and econometrics in Python. – recommend
  • SymPy – The Python library for symbolic mathematics.
  • Zipline – Pythonic trading library. – recommend
  • SimPy – Process – based discrete event simulation framework. – recommend

search

Libraries and software for indexing and executing data search queries.

  • Django-haystack – Django modular search.
  • Elasticsearch – DSL -py – The official advanced Python client for ElasticSearch.
  • Elasticsearch – py – [elasticsearch] official low-level Python client (HTTPS: / / www.elastic.co/products/elasticsearch).
  • Esengine – ElasticSearch ODM for Python.
  • Pysolr – Lightweight Python wrapper for Apache Solr (including SolrCloud awareness).
  • Solrpy – a Python client for [solr] (lucene.apache.org/solr/).
  • Whoosh – Fast, pure Python search engine library. – recommend

Serialization (Serialization)

A library for serializing complex data types

  • Marshmallow – Marshmallow is an ORM/ODM/framework-independent library for converting complex data types, such as objects, to and from native Python data types.

Serverless Frameworks is not available

A framework for developing serverless Python code.

  • Apex – Easy to build, deploy and manage AWS Lambda features. – recommend
  • Python-lambda – Toolkit for developing and deploying Python code in AWS Lambda.
  • Zappa-tools for deploying WSGI applications on AWS Lambda and API gateways. – recommend

Specific Formats Processing

Libraries for parsing and manipulating particular text formats.

general

  • Tablib: XLS, CSV, JSON, YAML table data module. link

Office

  • Marmir: Converts the input Python data structure into an e-form. link

  • Openpyxl: a library for reading and writing Excel 2010 XLSX/XLSM/XLTX/XLTM files. Link – Highly recommended

  • Python-docx: Read, query, and modify Microsoft Word 2007/2008 docx files. link

  • Unoconv: Converts between any file formats supported by LibreOffice/OpenOffice. link

  • XlsxWriter: a Python module for creating Excel. XLSX files. Link – Recommendation

  • Xlwings: A Python library in Excel (and vice versa), based on the BSD protocol. link

  • XLWT/XLRD: Read and write data and format information of MS Excel 97/2000/XP/2003 XLS Excel files. link

  • Relatorio: Template for output ODT and PDF. link
  • Pyexcel: a single API for reading, manipulating, and writing CSV, ODS, XLS, XLSX, and XLSM file data. link

Pandas is the first data processing library, which supports all excel formats, but will rely on some of the libraries listed above.

To merge multiple Excel tables, plugins mergebooks. DLL and VBA can do the job. VBA can handle multi-table summing, but pandas will be much more powerful. PyXLL

PDF

  • PDFMiner: A tool for extracting information from PDF documents. link

  • PyPDF2: library that can split, merge, and convert PDF pages. link

  • ReportLab: Quickly create rich text PDF documents. link

Markdown

  • Mistune: A fast and fully featured Markdown parser for pure Python implementations. link

  • Python-markdown: A Python implementation of John Gruber’s Markdown. link

  • Python-markdown 2: A Markdown parser implemented purely in Python that is faster, more accurate, and extensible than python-markdown. link

YAML

  • PyYAML: The Python version of the YAML parser. link

CSV

  • CSV: Standard library, CSV file reading and writing. link
  • Csvkit: A tool for converting and manipulating CSV. Link – Recommendation

    Archive

  • Unp: command line tool for unpacking archive files. link

Static Site Generator

  • [Cactus(github.com/eudicots/Ca… – Static website generator for designers.
  • Hyde – Jinja2 based static web site generator.
  • Lektor – easy to use static CMS and blogging engine.
  • Nikola – Static website and blog generator.
  • Pelican – Use Markdown or ReST for content and Jinja 2 for topics. Support DVCS, Disqus. AGPL. — Highly recommended
  • Tinkerer – Blog engine and static website generator, powered by Sphinx.

Label (Tagging)

  • Django-taggit – Simple Django tag.

Template Engine

  • Genshi – Python template kit for generating network-aware output.
  • Jinja2 – Modern and design-friendly template language. – recommend
  • Ultra-fast and lightweight templates for the Mako-Python platform.

Text Processing

A library for parsing and manipulating text.

general

  • Chardet: character encoding detector compatible with Python2 and Python3. link
  • Difflib (the Python standard library) helps us to make differentiation comparisons. link
  • Ftfy: Makes Unicode text more complete and coherent. link
  • Fuzzywuzzy: Fuzzy string matching. Link – Recommendation
  • Levenshtein: Quickly calculates edit distance and string similarity. link
  • Pyfiglet: PyFiglet – Python implementation of Figlet. link
  • Shortuuid: Generator library for generating concise, unambiguous, URL-safe UUID. link
  • Unidecode: ASCII converted form of Unicode text. link
  • Uniout: Prints readable characters instead of escaped strings. link
  • Xpinyin: A library for converting Chinese characters into pinyin. link
  • Pypinyin: A library for converting Chinese characters into pinyin. link
  • Simplejson: Python JSON encoding and decoder. link
  • Smassedit: Python sed. link

Slugify

  • Awesome-slugify: A Python slug library that maintains Unicode. link
  • Python-slugify: A Python slug library that converts Unicode to ASCII. link
  • Unicode-slugify: Slug tool that generates Unicode slugs that rely on Django. link

The parser

  • Phonenumbers: parse, format, store, and verify international phonenumbers. link
  • PLY: Python implementations of the lex and yACC parsing tools. link
  • Pyacknowledgments: Generic syntax highlighting tool. Link – Highly recommended
  • Pyparsing: A framework for generating general-purpose parsers. link
  • Python-nameparser: Splits the name into separate parts. link
  • Python-user-agents: browser user agent parser. link
  • Sqlparse: SQL parser without validation. The website links

Third-party APIs (APIs)

A library for accessing third-party apis. See: List of Python API Wrappers and Libraries. link

  • Apache-libcloud: Python library designed for various clouds. link
  • Boto3: Python interface to Amazon Web Services. link
  • Django-wordpress: WordPress models and Views for Django. link
  • Facebook-sdk: Python SDK for the Facebook platform. link
  • Facepy: Facepy makes interacting with Facebook’s Graph API much easier. link
  • Gmail: Python interface for Gmail. link
  • Google-api-python-client: Google APIs client library for Python. link
  • Gspread: Python API for Google spreadsheets. link
  • Twython: Encapsulation of the Twitter API. link

URL Manipulation

A library that parses URLs

  • Furl: Small Python library for easier handling of urls. link
  • Purl: A simple, immutable URL class with a concise API for querying and processing. link
  • Pyshorteners: Pure Python URL shortening library. link
  • Shorturl: Python implementation that generates short urls and bit.ly like short chains. link
  • Webargs: A library for parsing HTTP request parameters, with built-in support for popular Web frameworks including Flask, Django, Bottle, Tornado, and Pyramid. link

Video

Library for manipulating videos and GIFs.

  • Moviepy: Script-based video editing module for a variety of formats, including GIFs. link

WSGI Server (WSGI Servers)

Wsgi-compatible Web server

  • Gunicorn: Pre-forked, partially written in C. Link – Recommendation
  • Uwsgi: The purpose of the UWSGi project is to develop a set of full-stack tools for building managed services, written in C. link
  • Bjoern: Asynchronous, very fast, written in C. link
  • Fapws3: asynchronous (network only), written in C language. link
  • Meinheld: asynchronous, partially written in C. link
  • Netius: Asynchronous, very fast. link
  • Paste: Multi-threaded, stable, time-tested. Link – Recommendation
  • Waitress: Multithreading, it’s what drives the Pyramid framework. link
  • Werkzeug: A WSGI toolkit that powers Flask and can be easily embedded in your projects. Link – Recommendation

Extracting Web Content (Extracting Web Content)

A library for extracting web content.

  • Haul: An expandable image crawl tool. link
  • Html2text: Convert HTML to Markdown format text links
  • Lassie: User-friendly web content search library. link
  • Micawber: A small web content extraction library for extracting rich content from URLs. link
  • Newspaper: Use Python for news extraction, article extraction and content curation. Link – Recommendation
  • Opengraph: Python module for parsing open graphics protocols. link
  • Python-goose: HTML content/article extractor. link
  • Python-readability: portability of arc90’s readability tools. link
  • Sumy: a module for automatic summarization of text files and HTML pages. link
  • Textract: Extract text from documents in any format, Word, PowerPoint, PDFs, etc. link

It is Web Crawling

  • Scrapy: Fast advanced screen crawler and web page collection framework. Link – Highly recommended
  • Cola: High-level distributed crawler framework. link
  • Demiurge: A pyQuery-based crawler mini-framework. link
  • Feedparser: Generic feedparser. link
  • Grab: site crawl framework. link
  • MechanicalSoup: A Python library for automatically interacting with web sites. link
  • Portia: Scrapy visual crawl. Link – Recommendation
  • Pyspider: A powerful crawler system. Link – Highly recommended
  • RoboBrowser: A simple, Python-style library for browsing web sites without the need for a separate installed browser. link
  • MechanicalSoup: A Python library for automatically interacting with web sites. link

Web Frameworks (Web Frameworks)

Full stack Web framework.

  • Django: The most popular Web framework in Python. Links to the Wesome – Django series – highly recommended
  • Flask: Python mini-framework. Links to the awesome- Flask series of links – highly recommended Python Web framework first
  • Pyramid: A small, fast, and accessible open source Python Web framework. link

    Awesome - pyramid series [link] (https://github.com/uralbash/awesome-pyramid)Copy the code
  • Bottle: a fast, compact, lightweight WSGI mini-Web framework. Link – Recommendation
  • CherryPy: A minimalist Python Web framework that supports the HTTP/1.1 protocol and has WSGI thread pools. link
  • Sanic: Python3 fast Web server, similar to flask. Link – Recommendation
  • Web. py: A simple and powerful Web framework. link
  • TurboGears: Easy to expand full stack microframework. link
  • Web2py: A full-stack Web framework and platform for secure database access on the Web. link
  • Tornado – Web Framework and Asynchronous Network library. link

WebSocket

  • AutobahnPython: WebSocket & WAMP based on Twisted and Asyncio. link
  • Crossbar: Open Source Unified Application Routing (Websocket & WAMP for Python on Autobahn). link
  • Django-channels: Django asynchronous channels link
  • Django-socketio: Django WebSocket. link
  • Websocket-for-python: WebSocket client and server library written for PYTHon2/3 and PyPy. link

The resources

Github.com/vinta/aweso…

Github.com/atinfo/awes…

Westurner. Making. IO/wiki/awesom…

Pythontesting: PythonTesting

  • Technical support nail free group: 21745728