在GitHub搜Python库时发现了一个的宝藏仓库,收录了全网种类超全的Python库!
包括:Web 框架、网络爬虫、网络内容提取、模板引擎、数据库、数据可视化、图片处理、文本处理、自然语言处理、机器学习、日志、代码分析等。
截至这个回答之前,这个仓库有129000+stars。
A curated list of awesome Python frameworks, libraries, software and resources (http://github.com)e-python
点赞收藏,就不用担心下次找不到这份python库了~
1.管理面板(Admin Panels )
管理界面库。
- Ajenti:一个你的服务器值得拥有的管理面板。
- django-grappelli:拥有绚丽外观的 Django Admin 界面。
- django-jet:具有改进功能的现代响应式 Django 管理界面模板。
- django-suit:Django 管理界面的一个替代品(仅对于非商业用途是免费的)。
- django-xadmin:Django admin 的一个替代品,具有很多不错的功能。
- flask-admin:一个用于 Flask 的简单可扩展的管理界面框架。
- flower:一个对 Celery 集群进行实时监控和提供 web 管理界面的工具。
- jet-bridge:管理面板框架,适用于任何具有良好 UI 的应用(例如 Django)。
- Wooey:一个 Django 应用,可以为 Python 脚本创建 web 用户界面。
2.算法和设计模式(Algorithms and Design Patterns)
数据结构、算法和设计模式的 Python 实现。也可以参考 awesome-algorithms 。
- 算法
- algorithms:数据结构和算法的简单示例。
- python-ds:用于面试的数据结构和算法的集合。
- sortedcontainers:排序集合的快速的纯 Python 实现。
- TheAlgorithms:所有算法的 Python 实现。
- 设计模式
- PyPattyrn:一个简单而有效的库,用于实现常见的设计模式。
- python-patterns:一个 Python 设计模式集合。
- transitions:轻量级的,面向对象的有限状态机实现。
3.ASGI 服务器(ASGI Servers)
兼容 ASGI 的 web 服务器。
- daphne:用于 ASGI 和 ASGI-HTTP 的,支持 HTTP,HTTP2 和 WebSocket 协议的服务器。
- uvicorn:使用 uvloop 和 httptools 实现的闪电般快速的 ASGI 服务器。
4.异步编程(Asynchronous Programming)
- asyncio (Python标准库)异步I/O、事件循环、协程和任务。
- awesome-asyncio
- trio 异步并发和 I/O 友好的库。
- Twisted 一个事件驱动的网络引擎。
- uvloop 在 libuv 之上超快速实现 asyncio 事件循环。
5.音频(Audio)
用于操作音频及其元数据的库。
- 音频:
- audioread:交叉库 (GStreamer + Core Audio + MAD + FFmpeg) 音频解码。
- dejavu:音频指纹提取和识别。
- kapre:Keras 音频处理器。
- librosa:音频音乐分析 Python 库。
- matchering:用于音频母带制作的库。
- mingus:一个高级音乐理论和曲谱包,支持 MIDI 文件和回放功能。
- pyAudioAnalysis:音频特征提取,分类,分段和应用。
- pydub:通过简单、简洁的高层接口来操作音频文件。
- TimeSide:开源 web 音频处理框架。
- 元数据:
- beets:一个音乐库管理工具及 MusicBrainz 标签添加工具。
- eyeD3:一个用来操作音频文件的工具,具体来讲就是包含 ID3 元信息的 MP3 文件。
- mutagen:一个用来处理音频元数据的 Python 模块。
- tinytag:一个用来读取 MP3, OGG, FLAC 以及 Wave 文件音乐元数据的库。
6.验证(Authentication)
实现验证方案的库。
- OAuth
- authlib:一个强大的Python库,用来构建 OAuth 和 OpenID 服务端。包括:JWS, JWK, JWA, JWT。
- django-allauth:Django 的验证应用。
- django-oauth-toolkit:为 Django 用户准备的 OAuth2。
- OAuthLib:一个 OAuth 请求-签名逻辑通用、 完整的实现。
- Flask-OAuthlib:OAuth 1.0/a, 2.0 客户端实现,供 Flask 使用。
- python-oauth2:一个完全测试的抽象接口。用来创建 OAuth 客户端和服务端。
- python-social-auth:一个设置简单的社会化验证方式。
- 其他
- PyJWT:JSON Web 令牌的实现。
- python-jwt:一个用来生成和验证 JSON Web 令牌的模块。
- python-jose:python 版 JOSE 实现。
7.构建工具(Build Tools)
将源码编译成软件。
- BitBake:针对嵌入式 Linux 的类似 make 的构建工具。
- buildout:一个构建系统,从多个组件来创建,组装和部署应用。
- PlatformIO:多平台命令行构建工具。
- PyBuilder:纯 Python 实现的持续化构建工具。
- SCons:软件构建工具。
8.内置类的增强版实现(Built-in Classes Enhancement)
一些 Python 内置类的增强版实现库。
- attrs:一个在类定义时可替换 __init__, __eq__, __repr__等方法的样板。
- bidict:高效的 Pythonic 的双向映射数据结构和相关功能。
- Box:具有高级点符号访问权限的 Python 字典。
- dataclasses:(Python 标准库) 数据类。
- DottedDict:提供一种使用点路径符号访问列表和字典的方法的库。
9.CMS
内容管理系统。
- django-cms:一个开源的,企业级 CMS,基于 Django。
- FeinCMS:基于 Django 构建的最先进的内容管理系统之一。
- indico:一个功能丰富的事件管理系统,由 @CERN 开发。
- Kotti:一个高级的,Python 范的 web 应用框架,基于 Pyramid 构建。
- Mezzanine:一个强大的,持续的,灵活的内容管理平台。
- Plone:一个构建于开源应用服务器 Zope 之上的 CMS。
- Quokka:灵活,可扩展的小型 CMS,基于 Flask 和 MongoDB。
- Wagtail:一个 Django 内容管理系统。
10.缓存(Caching)
缓存数据的库。
- Beaker:一个缓存和会话库,可以用在 web 应用和独立 Python 脚本和应用上。
- django-cache-machine:Django 模型的自动缓存和失效。
- django-cacheops:具有自动颗粒化事件驱动失效功能的 ORM。
- dogpile.cache:dogpile.cache 是 Beaker 的下一代替代品,由同一作者开发。
- HermesCache:Python 缓存库,具有基于标签的失效和 dogpile effect 保护功能。
- pylibmc:libmemcached 接口的 Python 封装。
- python-diskcache:SQLite 和文件支持的缓存后端,具有比 memcached 和 redis 更快的查找速度。
11.聊天工具(ChatOps Tools)
聊天机器人开发相关的库。
- errbot:实现 ChatOps 的最简单最受欢迎的聊天机器人。
12.代码分析(Code Analysis)
进行代码分析、解析和操作代码库的库和工具。
- 代码分析
- coala:语言独立和易于扩展的代码分析应用程序。
- code2flow:把你的 Python 和 JavaScript 代码转换为流程图。
- prospector:分析 Python 代码的工具。
- pycallgraph:这个库可以把你的 Python 应用的流程(调用图)进行可视化。
- vulture:用于发现和分析无效 Python 代码的工具。
- Lint 工具
- Flake8:模块化源码检查工具,提供与 pycodestyle、pyflakes、McCabe 相关的装饰器。
- pylama:Python 和 JavaScript 的代码审查工具。
- Pylint:一个完全可定制的源码分析器。
- wemake-python-styleguide:有史以来最严格的 Python 代码审查工具。
- 代码格式化
- black:一个坚定的 Python 代码格式化工具。
- isort:用于纠正包导入顺序的 Python 库。
- autopep8:自动格式化 Python 代码,以使其符合 PEP8 规范。
- 静态类型检查,也可以参考 awesome-python-typing
- mypy:在编译期间检查变量类型。
- pyre-check:性能类型检查。
- typeshed:带有静态类型的Python库存根的集合。
- 静态类型注释生成器
- MonkeyType:通过收集运行时的类型来为 Python 生成静态类型注释的系统。
- pyannotate:自动生成符合 PEP-484 的注解。
- pytype:检查和推断 Python 代码中的类型,无需添加注解。
13.命令行界面开发(Command-line Interface Development)
用于创建命令行程序的库。
- 命令行程序开发
- cement:Python 的命令行程序框架。
- click:一个通过组合的方式来创建精美命令行界面的包。
- cliff:一个用于创建命令行程序的框架,可以创建具有多层命令的命令行程序。
- docopt:Python 风格的命令行参数解析器。
- python-fire:Google 出品的一个基于 Python 类的构建命令行界面的库。
- python-prompt-toolkit:一个用于构建强大的交互式命令行程序的库。
- 终端呈现方式
- alive-progress:一款新的进度条,具有实时吞吐量信息以及非常酷的动画。
- asciimatics:跨平台,全屏终端包(即鼠标/键盘输入和彩色,定位文本输出),完整的复杂动画和特殊效果的高级 API。
- bashplotlib:在终端中进行基本绘图。
- colorama:跨平台彩色终端文本。
- rich:一个在终端中支持富文本和格式美化的 Python 库, 同时提供了RichHandler
日志处理程序。 - tqdm:一个可在循环和命令行中使用的快速、可扩展的进度条。
14.命令行工具(Command-line Tools)
- 生产力工具
- copier:用于呈现项目模板的库和命令行实用程序。
- cookiecutter:从 cookiecutters(项目模板)创建项目的一个命令行工具。
- doitlive:一个用来在终端中进行现场演示的工具。
- howdoi:通过命令行获取即时的编程问题解答。
- Invoke:用于管理面向 shell 的子进程,同时支持将可执行的 Python 代码组织成命令行可调用的状态。
- PathPicker:从 bash 输出中选出文件。
- percol:向 UNIX shell 传统管道概念中加入交互式选择功能。
- thefuck:修正你之前的命令行指令。
- tmuxp:tmux 会话管理器。
- try:一个极其简单的命令行工具,用来试用 python 库。
- 高级 CLI
- httpie:一个命令行 HTTP 客户端,cURL 的替代品,易用性更好。
- iredis:支持自动补全和高亮显示的 redis 命令行工具。
- kube-shell:K8S 命令行集成的 shell 工具。
- litecli:支持自动补全和语法高亮的 SQLite 命令行工具。
- mycli:支持自动补全和语法高亮的 MySQL 命令行客户端
- pgcli:支持自动补全和语法高亮的 Postgres 命令行工具。
- SAWS:一个加强版的 AWS 命令行。
15.兼容性(Compatibility)
帮助从 Python 2 向 Python 3 迁移的库。
- Python-Future:这就是 Python 2 和 Python 3 之间丢失的那个兼容性层。
- Six:Python 2 和 3 的兼容性工具。
- modernize:使 Python 代码更加现代化以便最终迁移到 Python 3。
16.计算机视觉(Computer Vision)
计算机视觉相关库。
- OpenCV:开源计算机视觉库。
- pytesseract:Google Tesseract OCR 的另一包装库。
- SimpleCV:一个用来创建计算机视觉应用的开源框架。
- EasyOCR:支持40多种语言的即用型 OCR。
- Face Recognition:简单的面部识别库。
- Kornia:PyTorch 的开源差异化计算机视觉库。
- tesserocr:另一个简单的,兼容 Pillow 的 tesseract-ocr
API 装饰器,可用于 OCR。
17.并发和并行(Concurrency and Parallelism)
用以进行并发和并行操作的库。
- concurrent.futures:(Python 标准库) 异步执行可调用对象的高级接口。
- threading:(Python 标准库)更高层的线程接口。
- eventlet:支持 WSGI 的异步框架。
- gevent:一个基于协程的 Python 网络库,使用 greenlet。
- Tomorrow:用于产生异步代码的神奇的装饰器语法实现。
- uvloop:在 libuv 之上超快速实现 asyncio 事件循环。
- multiprocessing:(Python 标准库) 基于进程的“线程”接口。
- scoop:支持在 Python 中进行可伸缩并行操作。
18.配置(Configuration)
用来保存和解析配置的库。
- config:logging 模块作者写的分级配置模块。
- ConfigObj:INI 文件解析器,带验证功能。
- ConfigParser:(Python 标准库) INI 文件解析器。
- python-decouple:将设置和代码完全隔离。
- hydra:一个优雅地配置复杂应用程序的框架。
19.密码学(Cryptography)
- cryptography:这个软件包意在提供密码学基本内容和方法提供给 Python 开发者。
- Paramiko:SSHv2 协议的 Python (2.6+, 3.3+) ,提供客户端和服务端的功能。
- Passlib:安全密码存储/哈希库。
- PyCrypto:Python 密码学工具箱。
- PyNacl:网络和密码学(NaCl) 库的 Python 绑定。
20.数据分析(Data Analysis)
用来进行数据分析的库。
- AWS Data Wrangler:AWS 平台上使用的 Pandas。
- blaze:NumPy 和 Pandas 的大数据接口。
- Open Mining:使用 Python 挖掘商业情报 (BI) (Pandas web 接口)。
- Optimus:在使用 PySpark 时,让敏捷数据科学工作流程变得简单。
- orange:通过可视化编程或 Python 脚本进行数据挖掘,数据可视化,分析和机器学习。
- Pandas:提供高性能,易用的数据结构和数据分析工具。
21.数据验证(Data Validation)
数据验证库。多用于表单验证。
- Cerberus:一个映射验证器(mappings-validator)。支持多种规则,提供归一化功能,可以方便地定制为 Python 风格的 schema 定义。
- colander:一个用于对从 XML, JSON,HTML 表单获取的数据或其他同样简单的序列化数据进行验证和反序列化的系统。
- schema:一个用于对 Python 数据结构进行验证的库。
- Schematics:数据结构验证。
- valideer:轻量级可扩展的数据验证和适配库。
- voluptuous:一个 Python 数据验证库。主要是为了验证传入 Python 的 JSON,YAML 等数据。
- jsonschema:JSON Schema 的 python 实现,用于 JSON 数据的验证。
22.数据可视化(Data Visualization)
进行数据可视化的库。参见:awesome-javascript。
- matplotlib:一个 Python 2D 绘图库。
- bokeh:用 Python 进行交互式 web 绘图。
- ggplot:ggplot2 给 R 提供的 API 的 Python 版本。
- plotly:协同 Python 和 matplotlib 工作的 web 绘图库。
- pyecharts:基于百度 Echarts 的数据可视化库。
- pygal:一个 Python SVG 图表创建工具。
- pygraphviz:Graphviz 的 Python 接口。
- PyQtGraph:交互式实时 2D/3D/ 图像绘制及科学/工程学组件。
- SnakeViz:一个基于浏览器的 Python's cProfile 模块输出结果查看工具。
- vincent:把 Python 转换为 Vega 语法的转换工具。
- VisPy:基于 OpenGL 的高性能科学可视化工具。
- Altair:用于 Python 的声明式统计可视化库。
- bqplot:Jupyter Notebook 的交互式绘图库。
- Cartopy:具有 matplotlib 支持的 Python 制图库。
- Dash:构建在 Flask、React 和 Plotly 之上,旨在用于分析 Web 应用程序。
- awesome-dash
- diagrams:用图表作为代码。
- plotnine:基于ggplot2的Python图形语法。
- PyGraphviz:Graphviz 的 Python 接口。
- Seaborn:使用 Matplotlib 进行统计数据可视化。
23.数据库(Database)
Python 实现的数据库。
- pickleDB:一个简单,轻量级键值储存数据库。
- TinyDB:一个微型的,面向文档型数据库。
- ZODB:一个 Python 原生对象数据库。一个键值和对象图数据库。
24.数据库驱动(Database Drivers)
用来连接和操作数据库的库。
- MySQL:awesome-mysql 系列
- aiomysql:基于 asyncio 的异步 MySQL 数据库操作库。
- mysql-python:Python 的 MySQL 数据库连接器。
- ysqlclient:mysql-python 分支,支持 Python 3。
- oursql:一个更好的 MySQL 连接器,支持原生预编译指令和 BLOBs。
- PyMySQL:纯 Python MySQL 驱动,兼容 mysql-python。
- PostgreSQL
- psycopg2:Python 中最流行的 PostgreSQL 适配器。
- queries:psycopg2 库的封装,用来和 PostgreSQL 进行交互。
- txpostgres:基于 Twisted 的异步 PostgreSQL 驱动。
- 其他关系型数据库
- apsw:另一个 Python SQLite 封装。
- dataset:在数据库中存储 Python 字典
- pymssql:一个简单的 Microsoft SQL Server 数据库接口。
- NoSQL 数据库
- cassandra-python-driver:Cassandra 的 Python 驱动。
- HappyBase:一个为 Apache HBase 设计的,对开发者友好的库。
- Plyvel:一个快速且功能丰富的 LevelDB 的 Python 接口。
- py2neo:Neo4j restful 接口的 Python 封装客户端。
- pycassa:Cassandra 的 Python Thrift 驱动。
- PyMongo:MongoDB 的官方 Python 客户端。
- redis-py:Redis 的 Python 客户端。
- telephus:基于 Twisted 的 Cassandra 客户端。
- txRedis:基于 Twisted 的 Redis 客户端。
- kafka-python:Apache Kafka Python 客户端。
- 异步客户端
- motor:支持 MongoDB 的异步 Python 驱动程序。
25.日期和时间(Date and Time)
操作日期和时间的类库。
- arrow:更好的 Python 日期时间操作类库。
- Chronyk:Python 3 的类库,用于解析手写格式的时间和日期。
- dateutil:Python datetime 模块的扩展。
- delorean:解决 Python 中有关日期处理的棘手问题的库。
- maya:人性化的时间处理库。
- pendulum:一个比 arrow 更具有明确的,可预测的行为的时间操作库。
- PyTime:一个简单易用的 Python 模块,用于通过字符串来操作日期/时间。
- pytz:现代以及历史版本的世界时区定义。将时区数据库引入 Python。
- when.py:提供用户友好的函数来帮助用户进行常用的日期和时间操作。
- dateutil:Python 标准包 datetime 的扩展。
- moment:一个处理日期/时间的库,灵感来自 Moment.js。
- pytz:支持跨平台时区计算,并将 tz database 引入 Python。
26.调试工具(Debugging Tools)
用来进行代码调试的库。
- 调试器
- ipdb:IPython 启用的 pdb。
- pudb:全屏,基于控制台的 Python 调试器。
- pdb++:另一种 pdb 的替代。
- wdb:一个奇异的 web 调试器,通过 WebSockets 工作。
- 追踪器
- lptrace:为 Python 程序打造的 strace。
- manhole:调试UNIX套接字连接,并显示所有线程的堆栈跟踪和交互式提示。
- pyringe:能够附加到 Python 进程并将代码注入Python进程的调试器。
- python-hunter:一个灵活的代码追踪工具包。
- 性能分析器
- lineprofiler:逐行性能分析。
- Memory Profiler、内存:监控 Python 代码的内存使用。
- py-spy:Python 程序采样分析器,使用 Rust 实现。
- pyflame:用于 Python 的跟踪分析器。
- vprof:视觉 Python 分析器。
- 其他
- pyelftools:解析和分析 ELF 文件以及 DWARF 调试信息。
- django-debug-toolbar:为 Django 显示各种调试信息。
- django-devserver:一个 Django 运行服务器的替代品。
- flask-debugtoolbar:django-debug-toolbar 的 flask 版。
- icecream:通过一个简单的函数调用检查变量、表达式和程序执行情况。
27.深度学习(Deep Learning)
神经网络和深度学习相关框架。也可以参考 awesome-deep-learning。
- Caffe:一个 Caffe 的 python 接口。
- keras:以 tensorflow/theano/CNTK 为后端的深度学习封装库,快速上手神经网络。
- MXNet:一个高效和灵活的深度学习框架。
- Pytorch:一个具有张量和动态神经网络,并有强大 GPU 加速能力的深度学习框架。
- SerpentAI:游戏代理框架,可使用任意视频游戏作为深度学习沙箱。
- Theano:一个快速数值计算库。
- TensorFlow:谷歌开源的最受欢迎的深度学习框架。
- hebel:GPU 加速的深度学习库。
- pydeep:Python 深度学习库。
28.DevOps 工具(DevOps Tools)
用于 DevOps 的软件和库。
- Ansible:一个非常简单的 IT 自动化平台。
- SaltStack:基础设施自动化和管理系统。
- OpenStack:用于构建私有和公有云的开源软件。
- Docker Compose:快速分离的开发环境,使用 Docker。
- Fabric:一个简单的,Python 风格的工具,用来进行远程执行和部署。
- cuisine:为 Fabric 提供一系列高级函数。
- Fabtools:一个用来编写超赞的 Fabric 文件的工具。
- gitapi:Git 的纯 Python API。
- hgapi:Mercurial 的纯 Python API。
- honcho:Foreman 的 Python 克隆版,用来管理基于 Procfile 的应用。
- pexpect:在一个伪终端中控制交互程序,就像 GNU expect 一样。
- psutil:一个跨平台进程和系统工具模块。
- supervisor:UNIX 的进程控制系统。
- cloudinit:一个多分发包,用于处理云实例的早期初始化。
- pyinfra:一个通用的 CLI 工具包和 python 库,用于自动化的基础设施。
- honcho:Foreman 的 Python 克隆版,用于管理基于 Procfile 的应用。
- BorgBackup:具有压缩和加密功能的重复数据删除存档器。
- docker-compose:使用 Docker 的快速独立的开发环境。
29.分布式计算(Distributed Computing)
分布式计算相关的框架和库。
- dpark:Spark 的 Python 克隆版,一个类似 MapReduce 的框架。
- dumbo:这个 Python 模块可以让人轻松的编写和运行 Hadoop 程序。
- luigi:这个模块帮你构建批处理作业的复杂流水线。
- mrjob:在 Hadoop 或 Amazon Web Services 上运行 MapReduce 任务。
- dask:用于分析计算的灵活的并行计算库。
- PySpark:Spark 的 Python API 。
- Ray:一个用于并行和分布式 Python 的系统,它统一了机器学习生态系统。
- faust:一个 Python 流处理库,核心思想来源 Kafka Streams。
- streamparse:运行针对事实数据流的 Python 代码。集成了 Apache Storm。
- mars:是基于张量的,用于进行大规模数据计算的统一计算框架。
30.分发(Distribution)
打包为可执行文件以便分发。
- PyInstaller:将 Python 程序转换成独立的执行文件(跨平台)。
- cx_Freeze:将python程序转换为带有一个动态链接库的可执行文件。
- dh-virtualenv:构建并将 virtualenv 虚拟环境作为一个 Debian 包来发布。
- Nuitka:将脚本、模块、包编译成可执行文件或扩展模块。
- py2app:将 Python 脚本变为独立软件包(Mac OS X)。
- py2exe:将 Python 脚本变为独立软件包(Windows)。
- pynsist:一个用来创建 Windows 安装程序的工具,可以在安装程序中打包 Python 本身。
- pyarmor:一个用于加密 python 脚本的工具,也可以将加密后的脚本绑定到固件上,或设置已加密脚本的有效期。
- shiv:一个命令行工具,可用于构建完全独立的 zip 应用(PEP 441 所描述的那种),同时包含了所有的依赖项。
31.文档(Documentation)
用以生成项目文档的库。
- Sphinx:Python 文档生成器。
- awesome-sphinxdoc
- pdoc:一个可以替换 Epydoc 的库,可以自动生成 Python 库的 API 文档。
- Pycco:文学编程(literate-programming)风格的文档生成器。
32.下载器(Downloader)
用来进行下载的库.
- s3cmd:一个用来管理 Amazon S3 和 CloudFront 的命令行工具。
- s4cmd:超级 S3 命令行工具,性能更加强劲。
- you-get:一个 YouTube/Youku/Niconico 视频下载器,使用 Python 3 编写。
- youtube-dl:一个小巧的命令行程序,用来下载 YouTube 视频。
- akshare:为方便人使用而创建的金融数据接口库。
33.电子商务(E-commerce)
用于电子商务以及支付的框架和库。
- django-oscar:一个用于 Django 的开源的电子商务框架。
- django-shop:一个基于 Django 的店铺系统。
- Cartridge:一个基于 Mezzanine 构建的购物车应用。
- shoop:一个基于 Django 的开源电子商务平台。
- alipay:非官方的 Python 支付宝 API。
- merchant:一个可以接收来自多种支付平台支付的 Django 应用。
- money:一个货币类库。带有可选的 CLDR 后端本地化格式,提供可扩展的货币兑换解决方案。
- python-currencies:显示货币格式以及它的数值。
- forex-python:外汇汇率,价格指数和货币换算。
- saleor:一款兼容 Django 的电子商务平台。
34.编辑器插件和 IDE(Editor Plugins and IDEs)
- Emacs
- elpy:Emacs Python 开发环境。
- Sublime Text
- anaconda:Anaconda 可将功能齐全的 Python 开发 IDE 转换为 Sublime Text 3。
- SublimeJEDI:一个很棒的自动补全库 Jedi 的Sublime Text 插件。
- Vim
- jedi-vim:用于 Python 的 Jedi 自动补全库的 Vim 绑定。
- python-mode:一个将 Vim 转换为 Python IDE 的多合一插件。
- YouCompleteMe:包含 Jedi 补全的 Python 引擎。
- Visual Studio
- PTVS:Visual Studio Python 工具。
- Visual Studio Code
- Python:对 Python 有丰富支持的官方 VSCode 扩展。
- IDE
- PyCharm:JetBrains 提供的商业 Python IDE,也有免费的社区版。
- spyder:开源 Python IDE。
35.电子邮件(Email)
用来发送和解析电子邮件的库。
邮件服务器:
- modoboa:一个邮件托管和管理平台,具有现代的、简约的 Web UI。
- salmon:一个 Python 邮件服务器。
客户端 :
- yagmail:yagmail是一个GMAIL / SMTP客户端,旨在使其尽可能简单地发送电子邮件。
- imbox:Python IMAP 库。
其他:
- flanker:一个 email 地址和 Mime 解析库。
- mailer:一款高性能可扩展的邮件投递框架。
- inbox:一个开源电子邮件工具箱。
36.企业级应用集成(Enterprise Application Integrations)
企业级环境中用于集成的平台与工具。
- Zato:ESB, SOA, REST, APIs 以及云的 Python 整合。
37.环境管理(Environment Management)
管理 Python 版本和环境的工具
- pyenv:简单的 Python 版本管理工具。
- Vex:可以在虚拟环境中执行命令。
- virtualenv:创建独立 Python 环境的工具。
38.文件(Files)
文件管理和 MIME(多用途的网际邮件扩充协议)类型检测。
- aiofiles:基于 asyncio,提供文件异步操作。
- imghdr:(Python 标准库)检测图片类型。
- mimetypes:(Python 标准库)将文件名映射为 MIME 类型。
- path.py:对 os.path 进行封装的模块。
- pathlib:(Python3.4+ 标准库)跨平台的、面向对象的路径操作库。
- python-magic:文件类型检测的第三方库 libmagic 的 Python 接口。
- Unipath:用面向对象的方式操作文件和目录。
- watchdog:管理文件系统事件的 API 和 shell 工具。
- PyFilesystem2:Python 的文件系统抽象层。
39.外来函数接口(Foreign Function Interface)
使用外来函数接口的库。
- cffi:用来调用 C 代码的外来函数接口。
- ctypes:(Python 标准库) 用来调用 C 代码的外来函数接口。
- PyCUDA:Nvidia CUDA API 的封装。
- SWIG:简化的封装和接口生成器。
40.表单(Forms)
进行表单操作的库。
- Deform:Python HTML 表单生成库,受到了 formish 表单生成库的启发。
- django-bootstrap3:集成了 Bootstrap 3 的 Django。
- django-bootstrap4:集成了 Bootstrap 4 的 Django。
- django-crispy-forms:一个 Django 应用,他可以让你以一种非常优雅且 DRY (Don't repeat yourself) 的方式来创建美观的表单。
- django-remote-forms:一个平台独立的 Django 表单序列化工具。
- WTForms:一个灵活的表单验证和呈现库。
41.函数式编程(Functional Programming)
使用 Python 进行函数式编程。
- CyToolz:Toolz 的 Cython 实现:高性能函数式工具。
- fn.py:在 Python 中进行函数式编程:实现了一些享受函数式编程缺失的功能。
- funcy:炫酷又实用的函数式工具。
- Toolz:一组用于迭代器,函数和字典的函数式编程工具。
- Coconut:为了简单、优雅、更 Pythonic 的函数式编程而构建的 Python 变体。
- more-itertools:比 itertools
拥有更多的可迭代对象的操作方式。 - returns:一个类型安全的单元、转换器与合成工具集合。
42.图形用户界面(GUI Development)
用来创建图形用户界面程序的库。
- curses:内建的 ncurses 封装,用来创建终端图形用户界面。
- enaml:使用类似 QML 的 Declaratic 语法来创建美观的用户界面。
- kivy:一个用来创建自然用户交互(NUI)应用程序的库,可以运行在 Windows, Linux, Mac OS X, Android 以及 iOS 平台上。
- pyglet:一个 Python 的跨平台窗口及多媒体库。
- PyQt:跨平台用户界面框架 Qt 的 Python 绑定 ,支持 Qt v4 和 Qt v5。
- PySide:跨平台用户界面框架 Qt 的 Python 绑定 ,支持 Qt v4。
- Tkinter:Tkinter 是 Python GUI 的一个事实标准库。
- Toga:一个 Python 原生的,操作系统原生的 GUI 工具包。
- urwid:一个用来创建终端 GUI 应用的库,支持组件,事件和丰富的色彩等。
- wxPython:wxPython 是 wxWidgets C++ 类库和 Python 语言混合的产物。
- PyGObject:GLib/GObject/GIO/GTK+ (GTK+3) 的 Python 绑定。
- Flexx:Flexx 是一个纯 Python 语言编写的用来创建 GUI 程序的工具集,它使用 web 技术进行界面的展示。
- Eel:用于制作简单离线 HTML/JS GUI 应用的库。
- PySimpleGUI:tkinter,Qt,WxPython 和 Remi 的封装。
- pywebview:围绕网页视图组件的轻量级跨平台的原生包装。
- DearPyGui:一个简单的可使用 GPU 加速的 Python GUI 框架。
43.GraphQL(GraphQL)
GraphQL 相关库。
- graphene:Python GraphQL 框架。
- tartiflette-aiohttp:Tartiflette 的基于 aiohttp 的装饰器,用于通过 HTTP 公开 GraphQL API。
- tartiflette-asgi:Tartiflette GraphQL 引擎的 ASGI 支持。
- tartiflette:支持 Python 3.6+ 和 asyncio 的 SDL 优先的 GraphQL 引擎实现。
44.游戏开发(Game Development)
超赞的游戏开发库。
- Cocos2d:cocos2d 是一个用来开发 2D 游戏, 示例和其他图形/交互应用的框架。基于 pyglet。
- Panda3D:由迪士尼开发的 3D 游戏引擎,并由卡内基梅陇娱乐技术中心负责维护。使用 C++ 编写, 针对 Python 进行了完全的封装。
- Pygame:Pygame 是一组 Python 模块,用来编写游戏。
- PyOgre:Ogre 3D 渲染引擎的 Python 绑定,可以用来开发游戏和仿真程序等任何 3D 应用。
- PyOpenGL:OpenGL 的 Python 绑定及其相关 APIs。
- PySDL2:SDL2 库的封装,基于 ctypes。
- RenPy:一个视觉小说(visual novel)引擎。
- Arcade:一个现代 Python 框架,用于制作具有引人入胜的图形与声音的游戏。
- Harfang3D:支持3D,VR 与游戏开发的 Python 框架。
45.地理位置(Geolocation)
地理编码地址以及用来处理经纬度的库。
- GeoDjango:世界级地理图形 web 框架。
- GeoIP:MaxMind GeoIP Legacy 数据库的 Python API。
- geojson:GeoJSON 的 Python 绑定及工具。
- geopy:Python 地址编码工具箱。
- django-countries:一个 Django 应用程序,提供用于表格的国家选择功能,国旗图标静态文件以及模型中的国家字段。
- pygeoip:Python GeoIP 接口。
46.HTML 处理(HTML Manipulation)
处理 HTML 和 XML 的库。
- BeautifulSoup:以 Python 风格的方式来对 HTML 或 XML 进行迭代,搜索和修改。
- bleach:一个基于白名单的 HTML 清理和文本链接库。
- cssutils:一个 Python 的 CSS 库。
- html5lib:一个兼容标准的 HTML 文档和片段解析及序列化库。
- lxml:一个非常快速,简单易用,功能齐全的库,用来处理 HTML 和 XML。
- MarkupSafe:为 Python 实现 XML/HTML/XHTML 标记安全字符串。
- pyquery:一个解析 HTML 的库,类似 jQuery。
- requests-html:人性化的,Pythonic 的 HTML 解析库。
- untangle:将 XML 文档转换为 Python 对象,使其可以方便的访问。
- xhtml2pdf:HTML/CSS 转 PDF 工具。
- xmltodict:像处理 JSON 一样处理 XML。
- WeasyPrint:用于HTML和CSS的可视化呈现引擎,并可以导出为 PDF。
- xmldataset:简单 XML 解析。
47.HTTP
使用 HTTP 的库。
- aiohttp:基于 asyncio 的异步 HTTP 网络库。
- requests:人性化的 HTTP 请求库。
- grequests:requests 库 + gevent ,用于异步 HTTP 请求。
- httplib2:全面的 HTTP 客户端库。
- treq:类似 requests 的 Python API 构建于 Twisted HTTP 客户端之上。
- urllib3:一个具有线程安全连接池,支持文件 post,清晰友好的 HTTP 库。
- httpx:下一代 Python HTTP 客户端。
48.硬件(Hardware)
用来对硬件进行编程的库。
- ino:操作 Arduino 的命令行工具。
- Pyro:Python 机器人编程库。
- PyUserInput:跨平台的,控制鼠标和键盘的模块。
- scapy:一个非常棒的操作数据包的库。
- wifi:一个 Python 库和命令行工具用来在 Linux 平台上操作 WiFi。
- Pingo:Pingo 为类似 Raspberry Pi,pcDuino, Intel Galileo 等设备提供统一的 API 用以编程。
- keyboard:在 Windows 和 Linux 上挂钩并模拟全局键盘事件。
- mouse:在 Windows 和 Linux 上挂钩并模拟全局鼠标事件。
49.图像处理(Image Processing)
用来操作图像的库.
- pillow:Pillow 是一个更加易用版的 PIL。
- hmap:图像直方图映射。
- imgSeek:一个使用视觉相似性搜索一组图片集合的项目。
- nude.py:裸体检测。
- python-barcode:不借助其他库在 Python 程序中生成条形码。
- pygram:类似 Instagram 的图像滤镜。
- python-qrcode:一个纯 Python 实现的二维码生成器。
- Quads:基于四叉树的计算机艺术。
- scikit-image:一个用于(科学)图像处理的 Python 库。
- thumbor:一个小型图像服务,具有剪裁,尺寸重设和翻转功能。
- wand:MagickWand 的 Python 绑定。MagickWand 是 ImageMagick 的 C API 。
- face_recognition:简单易用的 Python 人脸识别库。
- pagan:基于输入和哈希的复古风图标(头像)生成工具。
- PyMatting:支持 alpha matting 的库。
- pywal:由图像生成配色方案的工具。
- pyvips:低内存消耗且快速的图像处理库。
50.高性能(Implementations)
让 Python 更快的库。
- Cython:优化的 Python 静态编译器。使用类型混合使 Python 编译成 C 或 C++ 模块来获得性能的极大提升。
- CLPython:用 Common Lisp 编写的 Python 编程语言的实现。
- Grumpy:编译器比解释器更强大的 cpython2.7 替代品(alpha)。
- IronPython:用 C# 编写的 Python 编程语言的实现。
- Jython:为 JVM 用 Java 编写的 Python 编程语言的实现。
- MicroPython:精简高效的 Python 编程语言实现。
- Pyjion:基于 CoreCLR 的 Python JIT。
- Numba:Python JIT (just in time) 编译器,针对科学用的 Python ,由 Cython 和 NumPy 的开发者开发。
- PeachPy:嵌入 Python 的 x86-64 汇编器。可以被用作 Python 内联的汇编器或者是独立的汇编器,用于 Windows,Linux,OS X,Native Client 或者 Go 。
- PyPy:使用 Python 实现的 Python。解释器使用黑魔法加快 Python 运行速度且不需要加入额外的类型信息。
- Pyston:使用 LLVM 和现代 JIT 技术构建的 Python 实现,目标是为了获得很好的性能。
- Stackless Python:一个强化版的 Python。
51.交互式解析器(Interactive Interpreter)
交互式 Python 解析器。
- IPython:功能丰富的工具,非常有效的使用交互式 Python。
- bpython:界面丰富的 Python 解析器。
- ptpython:高级交互式 Python 解析器, 构建于 python-prompt-toolkit 之上。
- Jupyter Notebook (IPython):一个能够让你最大限度地以交互式方式使用 Python 的丰富工具包。
- awesome-jupyter
52.国际化(Internationalization)
用来进行国际化的库。
- Babel:一个 Python 的国际化库。
- PyICU:一个封装了 ICU C++ 库的 Python 扩展。
53.任务调度(Job Scheduler)
任务调度库。
- APScheduler:轻巧但强大的进程内任务调度,使你可以调度函数。
- django-schedule:一个 Django 排程应用。
- doit:一个任务执行和构建工具。
- gunnery:分布式系统使用的多用途任务执行工具 ,具有 web 交互界面。
- Joblib:一组为 Python 提供轻量级作业流水线的工具。
- Plan:如有神助地编写 crontab 文件。
- schedule:人性化的 Python 任务调度库。
- Spiff:使用纯 Python 实现的强大的工作流引擎。
- TaskFlow:一个可以让你方便执行任务的 Python 库,一致并且可靠。
- Airflow :是一个工作流分配管理系统,通过有向非循环图的方式管理任务流程,设置任务依赖关系和时间调度。
- Prefect:一个现代的工作流程编排框架,使构建、计划和监视健壮的数据管道变得容易。
54.日志(Logging)
用来生成和操作日志的库。
- logging:(Python 标准库) 为 Python 提供日志功能。
- logbook:Logging 库的替代品。
- Eliot:为复杂的和分布式系统创建日志。
- Raven:Sentry 的 Python 客户端。
- Sentry:实时记录和收集日志的服务器。
- sentry-python:Python 版 Sentry SDK。
- loguru:旨在带来愉悦体验的 Python 日志库。
- structlog:结构化日志,让日志变得简单。