Home  >  Article  >  Backend Development  >  We have compiled 100 selected Python libraries. It is recommended to collect them!

We have compiled 100 selected Python libraries. It is recommended to collect them!

WBOY
WBOYforward
2023-04-11 19:27:301585browse

We have compiled 100 selected Python libraries. It is recommended to collect them!

Text

Hello everyone, I am Python artificial intelligence technology

Why Python is so popular and so many people learn it is because it is simple and easy to learn. The functions are powerful, the entire community is very active, and there is a lot of information. And this language involves all aspects, such as automated testing, operation and maintenance, crawlers, data analysis, machine learning, financial fields, back-end development, cloud computing, and game development.

Tall buildings are rising from the ground. The Python building can be so powerful because it has the support of thousands of powerful libraries and countless awesome wheels supporting this building. Today we will sort it out together. Overlooking the entire Python treasure house.

I have roughly listed the application methods of the entire Python library, and roughly calculated there are more than 20 directions. The left and right sides are divided into two directions. The left side is responsible for attacking (mainly outside). Each item individually is a high-quality product, and they are all top products in Python applications. The right side is responsible for defense (mainly inside), which involves the underlying configuration, which is considered the entire The foundation of the building.

Below we select high-quality libraries in each field and show them to everyone. After reading them, you will definitely shout, WC, I have never seen so many libraries~~

1 , The underlying infrastructure of the Python building

Environment management

  • Tools for managing Python versions and environments

p: A very simple interactive python version management tool .

pyenv: Simple Python version management tool.

Vex: You can execute commands in a virtual environment.

virtualenv: Tool for creating independent Python environments.

buildout: Use declarative configuration management after isolation environment initialization.

Package Management

  • Tools for managing packages and dependencies.

pip: Python package and dependency management tool.

pip-tools: A set of tools to ensure that Python package dependencies are updated.

pipenv: Python’s officially recommended new generation package management tool.

poetry: A package management tool that can completely replace setup.py.

conda: Cross-platform, Python binary package management tool.

Curdling: A command line tool for managing Python packages.

wheel: The new standard for Python distribution, intended to replace eggs.

Distribution

  • Package as executable file for distribution.

PyInstaller: Convert Python programs into independent executable files (cross-platform).

cx_Freeze: Convert the python program into an executable file with a dynamic link library.

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

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

py2app: Turn a Python script into a standalone package (Mac OS X).

py2exe: Turn a Python script into a standalone package (Windows).

pynsist: A tool for creating Windows installers that package Python itself within the installer.

Configuration

  • Library used to save and parse configuration.

config: A hierarchical configuration module written by the author of the logging module.

ConfigObj: INI file parser with verification function.

ConfigParser: (Python standard library) INI file parser.

profig: Configuration through multiple formats, with numerical conversion function.

python-decouple: Completely isolate settings and code.

We have compiled 100 selected Python libraries. It is recommended to collect them!

2. Management configuration of Python building

Files

aiofiles: Based on asyncio, providing asynchronous file operations

imghdr: (Python standard library) detects image types

mimetypes: (Python standard library) maps file names to MIME types

path.py: module that encapsulates os.path

pathlib: (Python3.4 standard library) cross-platform, object-oriented path operation library

python-magic: Python interface of the third-party library libmagic for file type detection

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

watchdog: API and shell tool for managing file system events

Date and time

  • Manipulate date and time class library.

arrow: A better Python date and time manipulation library.

Chronyk: Python 3 class library for parsing handwritten time and date formats.

dateutil: An extension to the Python datetime module.

delorean: A library that solves tricky problems with date processing in Python.

maya: Humanized time processing library.

moment: A Python library for working with times and dates. Inspired by Moment.js.

pendulum: A time manipulation library with more explicit, predictable behavior than arrow.

PyTime: A simple and easy-to-use Python module for manipulating date/time via strings.

pytz: Modern and historical versions of world time zone definitions. Bringing time zone databases to Python.

when.py: Provides user-friendly functions to help users perform common date and time operations.

Text processing

  • Library for parsing and manipulating text.
  • General

chardet: character encoding detector, compatible with Python2 and Python3.

difflib: (Python standard library) helps us perform differential comparisons.

ftfy: Make Unicode text more complete and coherent.

fuzzywuzzy: fuzzy string matching.

Levenshtein: Quickly calculate edit distance and string similarity.

pangu.py: Add spaces between Chinese, Japanese and Korean characters and numeric letters.

pypinyin: Chinese pinyin conversion tool Python version.

shortuuid: A generator library for generating concise, unambiguous, URL-safe UUIDs.

simplejson: Python’s JSON encoder and decoder.

unidecode: ASCII converted form of Unicode text.

uniout: Print readable characters instead of escaped strings.

xpinyin: A library for converting Chinese characters into Pinyin.

yfiglet-figlet: pyfiglet - Python implementation of figlet.

flashtext: An efficient text search and replacement library.

  • Slugification

awesome-slugify: A Python slugification library that preserves Unicode.

python-slugify: Python slugification library that can convert unicode to ASCII.

unicode-slugify: A slug tool that can generate unicode slugs and requires Django.

  • Parser

phonenumbers: Parse, format, store, and verify phone numbers.

PLY: Python implementation of the lex and yacc parsing tools.

Pygments: Universal syntax highlighting tool.

pyparsing: A framework for generating universal parsers.

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

python-user-agents: Browser user agent parser.

sqlparse: A validation-free SQL parser.

Office text format processing

  • General

tablib: A module used to process table data.

⭐python-office: A third-party library for automated office work.

  • Office

Marmir: Convert input Python data structures into spreadsheets.

openpyxl: A library for reading and writing Excel 2010 xlsx/xlsm/xltx/xltm files.

pyexcel: A library that provides a unified API for reading, writing, and operating Excel files.

python-docx: Read, query and modify Microsoft Word 2007/2008 docx files.

relatorio: Template OpenDocument files.

unoconv: Convert between any file formats supported by LibreOffice/OpenOffice.

XlsxWriter: A Python module for creating Excel .xlsx files.

xlwings: A library that makes it easy to call Python from Excel (and vice versa), based on the BSD protocol.

xlwt: Read and write data and format information of Excel files.

  • PDF

PDFMiner: A tool for extracting information from PDF documents.

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

ReportLab: Quickly create rich text PDF documents.

  • Markdown

Mistune: A fast and full-featured pure Python implementation of the Markdown parser.

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

Python-Markdown2: Pure Python implementation of the Markdown parser, faster and more accurate than Python-Markdown

  • YAML

PyYAML: Python version YAML parser.

  • CSV

csvkit: Tools for converting and manipulating CSV.

Configuration

  • Library used to save and parse configuration.

config: A hierarchical configuration module written by the author of the logging module.

ConfigObj: INI file parser with verification function.

ConfigParser: (Python standard library) INI file parser.

profig: Configuration through multiple formats, with numerical conversion function.

python-decouple: Completely isolate settings and code.

Command Line Tools

  • Library for creating command line programs.
  • Command Line Program Development

asciimatics: Cross-platform, full-screen terminal package (i.e. mouse/keyboard input and colored, positioned text output), complete with advanced advanced complex animations and special effects API.

cement: Python’s command line program framework.

click: A package for creating beautiful command line interfaces through combination.

cliff: A framework for creating command line programs with multiple layers of commands.

clint: Python command line program tool.

colorama: Cross-platform colored terminal text.

docopt: Python-style command line argument parser.

Gooey: A command that turns a command line program into a GUI program.

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

python-fire: A library produced by Google for building command line interfaces based on Python classes.

Pythonpy: Execute any Python instruction directly from the command line.

Pictures pictures pictures pictures pictures

Awesome! N open source projects that are essential for taking on private work! Hurry and collect it

  • Productivity Tools

aws-cli: Common command line interface for Amazon Web Services.

bashplotlib: Basic drawing in the terminal.

caniusepython3: Determine which project is preventing you from porting to Python3.

cookiecutter: A command line tool for creating projects from cookiecutters (project templates).

doitlive: A tool for live demonstrations in the terminal.

pyftpdlib: A blazingly fast and extensible Python FTP service library.

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

httpie: A command-line HTTP client, a replacement for cURL that is easier to use.

PathPicker: Pick files from bash output.

percol: Adds interactive selection capabilities to the UNIX shell traditional pipe concept.

SAWS: An enhanced version of the AWS command line.

thefuck: Fix your previous command line instructions.

mycli: A MySQL command line client with auto-completion and syntax highlighting.

pgcli: Postgres command line tool with auto-completion and syntax highlighting.

try: A command line tool for trying out python libraries has never been easier.

3. The warehouse of Python Building

Database

  • A database implemented by Python.

pickleDB: A simple, lightweight key-value storage database.

PipelineDB: Streaming SQL database.

TinyDB: A micro, document-oriented database.

ZODB: A Python native object database. A key-value and object graph database.

Database driver

  • Library used to connect and operate the database.
  • MySQL: awesome-mysql series

aiomysql: an asynchronous MySQL database operation library based on asyncio.

mysql-python: MySQL database connector for Python.

ysqlclient: mysql-python branch, supports Python 3.

oursql: A better MySQL connector with support for native precompiled directives and BLOBs.

PyMySQL: Pure Python MySQL driver, compatible with mysql-python.

  • PostgreSQL

psycopg2: The most popular PostgreSQL adapter in Python.

queries: A wrapper of the psycopg2 library, used to interact with PostgreSQL.

txpostgres: Twisted-based asynchronous PostgreSQL driver.

  • Other relational databases

apsw: Another Python SQLite wrapper.

dataset: Stores a Python dictionary in a database

pymssql: A simple Microsoft SQL Server database interface.

  • NoSQL Databases

asyncio-redis: A redis client based on asyncio (PEP 3156).

cassandra-python-driver: Python driver for Cassandra.

HappyBase: A developer-friendly library designed for Apache HBase.

Plyvel: A fast and feature-rich Python interface to LevelDB.

py2neo: Python wrapper client for Neo4j restful interface.

pycassa: Python Thrift driver for Cassandra.

PyMongo: The official Python client for MongoDB.

redis-py: Python client for Redis.

telephus: Cassandra client based on Twisted.

txRedis: Redis client based on Twisted.

4. Network communication in Python building

Network

  • Library for network programming.

asyncio: (Python standard library) Asynchronous I/O, event loops, coroutines and tasks.

Twisted: An event-driven network engine.

pulsar: event-driven concurrency framework.

diesel: Greenlet-based event I/O framework.

pyzmq: A Python wrapper for the ZeroMQ messaging library.

Toapi: A lightweight, simple, and fast Flask library dedicated to providing API services for all websites.

txZMQ: A Python wrapper for the ZeroMQ messaging library based on Twisted.

HTTP

  • Library for using HTTP.

aiohttp: Asynchronous HTTP network library based on asyncio.

requests: Humanized HTTP request library.

grequests: requests library gevent, for asynchronous HTTP requests.

httplib2: Comprehensive HTTP client library.

treq: A requests-like Python API built on top of the Twisted HTTP client.

urllib3: A clear and friendly HTTP library with thread-safe connection pool, support for file post.

WebSocket Library to help use WebSocket. In addition, when searching for public accounts, Linux should learn how to reply "monkey" in the background and get a surprise gift package.

AutobahnPython: For Python, using WebSocket & WAMP based on Twisted and asyncio.

Crossbar: Open source unified application routing (Websocket & WAMP for Python on Autobahn).

django-socketio: WebSockets for Django.

WebSocket-for-Python: WebSocket client and server library written for Python2/3 and PyPy.

WSGI Server

  • WSGI-compatible web server

gunicorn: Pre-forked, partially written in C language.

uwsgi: The purpose of the uwsgi project is to develop a set of full-stack tools for building managed services, written in C language.

bjoern: Asynchronous, very fast, written in C.

fapws3: Asynchronous (for network side only), written in C language.

meinheld: Asynchronous, partly written in C.

netius: Asynchronous, very fast.

paste: multi-threaded, stable and proven.

rocket: multi-threaded.

waitress: multi-threading, which drives the Pyramid framework.

Werkzeug: A WSGI tool library that drives Flask and can be easily embedded into your project.

Web Framework

  • Full stack web framework.

Django: The most popular web framework in the Python world.

Flask: A Python micro-framework.

pyramid: A small, fast, and down-to-earth open source Python web framework.

Bottle: A fast, small, lightweight WSGI micro web framework.

CherryPy: A minimalist Python web framework that complies with the HTTP/1.1 protocol and has a WSGI thread pool.

TurboGears: A micro-framework that can be extended into a full-stack solution.

Tornado: a web framework and asynchronous networking library.

sanic: Asynchronous network framework based on Python3.5.

starlette: A lightweight, high-performance ASGI framework

E-commerce

  • A framework and library for e-commerce and payment.

django-oscar: An open source e-commerce framework for Django.

django-shop: A shop system based on Django.

Cartridge: A shopping cart application built on Mezzanine.

shoop: An open source e-commerce platform based on Django.

alipay: Unofficial Python Alipay API.

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

money: A currency library. Comes with optional CLDR backend localization format, providing a scalable currency exchange solution.

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

RESTful API

  • Library for developing RESTful APIs
  • Django

django-rest-framework: a powerful and flexible Tools for building web APIs.

django-tastypie: Develop APIs for Django applications.

django-formapi: Create JSON APIs for Django form validation.

  • Flask

flask-api: Developed for flask, browse Web APIs.

flask-restful: Quickly create REST APIs for flask.

flask-restless: Create RESTful APIs for database models defined by SQLAlchemy.

flask-api-utils: Handles API representation and validation for Flask.

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

  • Pyramid

cornice: A REST framework for Pyramid.

  • Framework-agnostic

falcon: A high-performance framework for building cloud APIs and web app backends.

sandman: Automatically create REST APIs for existing database-driven systems.

restless: A framework-agnostic REST framework based on lessons learned from Tastypie.

ripozo: Quickly create REST/HATEOAS/Hypermedia APIs.

Template engine

  • Libraries and tools for template generation and lexical parsing.

Jinja2: A modern, designer-friendly template engine.

Chameleon: An HTML/XML template engine. Imitates ZPT (Zope Page Templates) and optimizes the speed.

Genshi: Python template tool for generating web-aware results.

Mako: Ultra-fast lightweight templates for the Python platform.

Queue

  • Library for handling events and task queues.

celery: an asynchronous task queue/job queue, based on distributed messaging.

huey: Small multi-threaded task queue.

mrq: Mr. Queue - A Python distributed worker task queue using Redis and gevent.

rq: Simple Python job queue.

simpleq: A simple, infinitely scalable queue based on Amazon SQS.

Search

  • Libraries and software that index data and perform search queries.

django-haystack: Modular search for Django.

elasticsearch-py: The official underlying Python client for Elasticsearch.

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

solrpy: Python client for solr.

Whoosh: A fast pure Python search engine library.

Email

  • Library for sending and parsing emails.

django-celery-ses: Django email backend with AWS SES and Celery.

envelopes: An email library for human use.

flanker: An email address and Mime parsing library.

imbox: Python IMAP library.

inbox.py: Python SMTP server.

inbox: An open source email toolbox.

lamson: Python style SMTP application server.

mailjet: Mailjet API implementation, used to provide batch email sending, statistics and other functions.

marrow.mailer: A high-performance scalable email distribution framework.

modoboa: An email hosting and management platform with a modern, minimalist web UI.

pyzmail: Create, send and parse emails.

Talon: Mailgun library, used to extract information and signatures.

yagmail: yagmail is a GMAIL/SMTP client designed to make sending email as simple as possible.

URL Handling

  • Library for parsing URLs

furl: A small Python library that makes handling URLs easier.

purl: A simple, immutable URL class with a concise API for interrogation and processing.

pyshorteners: A pure Python URL shortening library.

shorturl: Python implementation for generating short URLs and short links similar to bit.ly.

webargs: A library for parsing HTTP request parameters with built-in support for popular web frameworks, including Flask, Django, Bottle, Tornado and Pyramid.

5. Power system of Python building

Process

  • Operating system process startup and communication library.

envoy: More user-friendly than the Python subprocess module.

sarge: Another encapsulation of the subprocess module.

sh: A complete subprocess replacement library.

Concurrency and parallelism

  • Library for concurrent and parallel operations.

multiprocessing: (Python standard library) Process-based "thread" interface.

threading: (Python standard library) Higher-level threading interface.

eventlet: an asynchronous framework that supports WSGI.

gevent: A coroutine-based Python networking library using greenlet.

Tomorrow: A magical decorator syntax implementation for generating asynchronous code.

uvloop: Ultra-fast implementation of asyncio event loop on top of libuv.

We have compiled 100 selected Python libraries. It is recommended to collect them!

#If you don’t know it, you will be surprised at first glance. There are really too many Python libraries. The above 100 libraries are only part of the Python empire building and are responsible for building the internal cornerstone of the building. Later, Xiao F will continue to introduce the library of Python applications, so stay tuned.

We welcome students who need it to try it. If this article is helpful to you, please give it a like and watch it! ❤️

There are more high-quality project system learning resources on GitHub. Welcome to share them with other students!

The above is the detailed content of We have compiled 100 selected Python libraries. It is recommended to collect them!. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:51cto.com. If there is any infringement, please contact admin@php.cn delete