当前位置:首页 » 《随便一记》 » 正文

整理了上千个 Python 工具库,涵盖24个大方向

25 人参与  2023年03月23日 19:29  分类 : 《随便一记》  评论

点击全文阅读


Python 生态,向来以各种类库齐全而闻名,这也是这门语言如此受欢迎的重要原因。

今天就给大家分享一下这几天的战果,宵衣旰食,不眠不休的整理了近千个 Python 库,梳理不易啊,收藏的同时,记得点赞支持

在这里插入图片描述

文章目录

技术提升1、数据处理文本处理特殊文本处理HTML/XML 解析文件处理配置文件处理文档相关日志管理日期和时间 2、图像处理图像处理OCR 3、网络相关下载HTTP网络可视化URL 处理网络爬虫网页内容提取WebSocketRPC 4、Web 框架全栈框架CMSWeb 权限/安全商务框架Restful API模板引擎队列搜索动态消息资源管理缓存表单数据验证电子邮件URL国际化管理面板静态站点生成WSGI 服务器ORM 5、地理位置6、系统进程并发/并行 7、数据库相关Python 实现的数据库数据库驱动 8、安全OAuth密码其他 9、人工智能自然语言处理计算机视觉机器学习/深度学习 10、科学计算与数据分析数据处理数据可视化 11、GUI 与游戏开发GUI游戏开发 12、音视频音频视频 13、测试相关测试框架Web 测试Mock 测试对象工厂代码覆盖率伪数据 14、代码工具代码分析Lint 工具代码格式化调试器性能分析日志持续集成代码质量 15、DevOps16、任务调度17、高性能18、Windows 环境19、硬件相关20、环境与包管理环境管理包管理包仓库 21、分发与构建软件分发构建交互式解释器 22、命令行相关命令行工具命令行高级工具 23、第三方API外来函数接口 24、其他MapReduce函数式编程兼容性编辑器插件自动聊天工具金融数据算法和设计模式杂七杂八

技术提升

好的文章离不开粉丝的支持,资料梳理、资料分享、数据、技术交流提升,均可加交流群获取,群友已超过2000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友

方式①、添加微信号:dkl88191,备注:来自CSDN
方式②、微信搜索公众号:Python学习与数据挖掘,后台回复:加群

1、数据处理

文本处理

chardet:字符编码检测器,该库可以检测文本、网页、xml等多种文件格式的编码

difflib:文本差异比较

ftfy:使程序更加完美的支持 Unicode 编码

fuzzywuzzy:可以进行字符串的模糊匹配

Levenshtein:计算各种距离以及字符串相似度

pangu.py:调整中日韩文字当中的字母、数字间距

pypinyin:汉字拼音转换工具

shortuuid:用来生成 UUID

simplejson:JSON 编码、解码器

unidecode:Unicode 格式操作

uniout:打印字符,不进行转义

xpinyin:把汉字转换为拼音

yfiglet-figlet:pyfiglet -figlet 的 Python 实现

flashtext: 用于文本查找替换

esmre:加速正则表达式

awesome slugify:用于处理 Unicode

python-slugify:把 unicode 转化为 ASCII

unicode-slugify:可以生成 unicode slugs,依赖与 Django

phonenumbers:用于解析、格式化、储存和验证电话号码

PLY:lex 和 yacc 解析工具

Pygments:语法高亮工具

pyparsing:可以生成通用解析器

python-nameparser:把人名分解为几个独立的部分

python-user-agents:浏览器 user agent 解析器

sqlparse:SQL 解析器

特殊文本处理

tablib:用来处理表格数据

Marmir:把 Python 数据结构转换为电子表单

openpyxl:用来读写 Excel 文件的库

pyexcel:一个提供统一 API,用来操作 Excel 文件的库

python-docx:操作 Word 文件

relatorio:模板化 OpenDocument 文件

unoconv:转换 LibreOffice/OpenOffice 文件格式

XlsxWriter:用于创建 Excel.xlsx 文件

xlwings:一个在 Excel 中调用 Python 的库

xlwt/xlrd:读写 Excel 文件的数据

PDFMiner:一个用于从 PDF 文档中抽取信息的库

PyPDF2:一个可以进行多种操作 PDF 页面的库

ReportLab:可以创建富文本 PDF 文档

Mistune:Markdown 解析器

Python-Markdown:有一个 Markdown 解析器

Python-Markdown2:纯 Python 实现的 Markdown 解析器,比 Python-Markdown 更快,更准确,可扩展

PyYAML:YAML 解析器

csvkit:操作 CSV 的工具

unp:一个用来解包归档文件的命令行工具

HTML/XML 解析

BeautifulSoup:解析 HTML 或 XML 格式数据

bleach:基于白名单的 HTML 清理和文本链接库

cssutils:CSS 库

html5lib:HTML 文档和片段解析及序列化库

lxml:一个用来处理 HTML 和 XML 的库

MarkupSafe:XML/HTML/XHTML 标记安全字符串

pyquery:一个解析 HTML 的库,类似 jQuery

requests-html:人性化的 HTML 解析库

untangle:将 XML 文档转换为 Python 对象

xhtml2pdf:HTML/CSS 转 PDF 工具

xmltodict:像处理 JSON 一样处理 XML

htmlparser,官方版解析 HTML DOM 树

文件处理

aiofiles:基于 asyncio 的文件异步操作库

imghdr:检测图片类型

mimetypes:将文件名映射为 MIME 类型

path.py:更方便的路径操作的模块

pathlib:跨平台的、面向对象的路径操作库

python-magic:文件类型检测

Unipath:用面向对象的方式操作文件和目录

pickle/cPickle:实现了基本的数据序列和反序列化

watchdog:管理文件系统事件的工具

配置文件处理

ConfigParser:ini 文件解析器

configobj:ini 文件解析器

profig:多格式配置转换工具

config:分级配置模块

python-decouple:将设置和代码完全隔离

文档相关

Sphinx:文档生成器

mkdocs:Markdown 格式文档生成器

pycco:简单快速、编程风格的文档生成器

pdoc:从源码注释中生成各种格式文档的工具

readthedocs:一个基于 Sphinx/MkDocs 的在线文档托管系统

日志管理

logging:提供日志功能

logbook:Logging 库的替代品

Eliot:为复杂的和分布式系统创建日志

Raven:Sentry 的 Python 客户端

Sentry:实时记录和收集日志的服务器

日期和时间

arrow:非常好的日期时间操作类库

Chronyk:用于解析手写格式的时间和日期

dateutil:datetime 模块的扩展

delorean:解决 Python 中有关日期处理问题的库

maya:人性化的时间处理库

moment:用来处理时间和日期的 Python 库

pendulum:一个比 arrow 更具有明确的、可预测行为的时间操作库

PyTime:用于通过字符串来操作日期/时间

pytz:现代以及历史版本的世界时区定义

when.py:进行常用的日期和时间操作

2、图像处理

图像处理

pillow:是一个更加易用的图片操作库

hmap:图像直方图映射

imgSeek:使用视觉相似性搜索一组图片集合工具

nude.py:裸体检测

pyBarcode:在 Python 程序中生成条形码

pygram:类似 Instagram 的图像滤镜

python-qrcode:一个二维码生成器

Quads:基于四叉树的计算机艺术

scikit-image:一个用于图像处理的库

thumbor:一个小型图像服务

wand:MagickWand的 Python 版本

face_recognition:简单易用的人脸识别库

OCR

pyocr:Tesseract 和 Cuneiform 的一个封装

pytesseract:Google Tesseract OCR 的另一个封装

python-tesseract:Google Tesseract OCR 的一个包装类

3、网络相关

下载

s3cmd:用来管理 Amazon S3 和 CloudFront 的命令行工具

s4cmd:S3 命令行工具

you-get:YouTube/Youku/Niconico 视频下载器

youtube-dl:用来下载 YouTube 视频的工具

Coursera:可以从 http://coursera.org 下载视频

subliminal:搜索和下载字幕的库

HTTP

aiohttp:基于 asyncio 的异步 HTTP 库

requests:最为流行的 HTTP 请求库

grequests:requests 库 + gevent 实现异步 HTTP 请求

httplib2:HTTP 客户端库

treq:类似 requests 的 HTTP 客户端

urllib3:一个具有线程安全的 HTTP 库

网络可视化

Mininet:一款流行的网络模拟器

POX:一个针对基于 Python 的软件定义网络应用

Pyretic:为网络交换机和模拟器提供强大的抽象能力

SDX Platform:基于 SDN 的 IXP 实现

NRU:一个基于组件的软件定义网络框架

URL 处理

furl:更加简单的处理 URL 库

purl:一个简单的、不可变的 URL 类

pyshorteners:一个纯 Python URL 缩短库

shorturl:生成短小 URL 的库

网络爬虫

Scrapy:一个快速高级的网络采集框架

cola:一个分布式爬虫框架

Demiurge:基于 PyQuery 的爬虫框架

feedparser:feed 解析器

Grab:站点爬取框架

MechanicalSoup:用于自动和网络站点交互的库

portia:Scrapy 可视化爬虫

pyspider:一个强大的爬虫工具

RoboBrowser:一个简单的网站浏览工具

网页内容提取

Haul:一个可扩展的图像爬取工具

html2text:将 HTML 转换为 Markdown 格式

lassie:网页内容检索库

micawber:网页内容提取库,用来从 URLs 提取富内容

newspaper:进行新闻提取,文章提取以及内容策展

opengraph:用来解析开放内容协议的模块

python-goose:HTML 内容/文章提取器

python-readability:readability 工具的 Python 接口

sanitize:杂乱数据调整

sumy:为文本文件和 HTML 页面进行自动摘要的模块

textract:从任何格式的文档中提取文本

mechanize:网页浏览工具

WebSocket

AutobahnPython:WebSocket & WAMP 工具

Crossbar:开源统一应用路由

django-socketio:给 Django 用的 WebSockets 工具

WebSocket-for-Python:WebSocket 客户端和服务器库

RPC

SimpleJSONRPCServer:是 JSON-RPC 规范的一个实现

SimpleXMLRPCServer:简单的 XML-RPC 服务器实现

zeroRPC:是一个的 RPC 实现

4、Web 框架

全栈框架

Django:Python 界最流行的 web 框架

Flask:一个微型 Web 框架

pyramid:一个小巧快速的开源 Web 框架

Bottle:一个快速小巧,轻量级的 WSGI 微型 Web 框架

CherryPy:一个极简 的Web 框架

TurboGears:一个可以扩展为全栈解决方案的微型框架

web.py:一个简单,又强大 Web 框架

web2py:一个全栈 Web 框架

Tornado:一个 Web 框架和异步网络库

sanic:异步网络框架

Karrigell:简单的 Web 框架

PyDBLitewebpy:一个小巧灵活的 Web 框架

Quixote:一个 Web 开发框架

Grok:基于 Zope3 的 Web 框架

Bluebream:开源的 Web 应用服务器

guava:轻量级高性能的 Web 框架

CMS

odoo-cms: 开源的企业级 CMS

django-cms:开源的企业级 CMS

djedi-cms:轻量级但却非常强大的 Django CMS

FeinCMS:基于 Django 构建的先进的内容管理系统

Kotti:一个高级的 web 应用框架

Mezzanine:一个强大的灵活的内容管理平台

Opps:一个为杂志报纸网站设计的 CMS 平台

Plone:一个构建于开源应用服务器 Zope 之上的 CMS

Quokka:灵活可扩展的小型 CMS

Wagtail:一个 Django 内容管理系统

Widgy:最新的 CMS 框架,基于 Django

Web 权限/安全

Carteblanche:代码对齐模块,很好地处理了代码导航及权限

django-guardian:单个对象权限

django-rules:一个小巧但是强大的应用,提供对象级别的权限管理

Flask-OAuthlib:Flask的OAuth工具包

django-oauth-toolkit:为 Django 用户准备的 OAuth2

django-allauth:Django 的验证模块

Authomatic:简单但是强大的框架,身份验证/授权客户端

商务框架

django-oscar:一个用于 Django 的电子商务框架

django-shop:基于 Django 的店铺系统

Cartridge:基于 Mezzanine 构建的购物车应用

shoop:基于 Django 的电子商务平台

alipay:支付宝 API

merchant:可以接收来自多种支付平台支付的 Django 应用

money:货币类库

python-currencies:显示货币格式以及它的数值

Restful API

django-rest-framework:一个基于 Django 的工具,用来构建 Web API

django-tastypie:为 Django 应用开发 API 工具

django-formapi:Django 的表单验证工具

flask-api:为 flask 开发的 API 工具

flask-restful:为 flask 快速创建 REST APIs 的工具

flask-restless:为 SQLAlchemy 数据库模型而开发的 RESTful APIs

flask-api-utils:为 Flask 处理 API 表示和验证

eve:由 Flask, MongoDB 等驱动 的 REST API 框架

cornice:一个 Pyramid 的 REST 框架

falcon:用来建立云 API 和 Web app 后端的高性能框架

sandman:为数据库驱动系统自动创建 REST APIs

restless:框架无关的 REST 框架

ripozo:快速创建 REST APIs 工具

模板引擎

Jinja2:一个现代的友好的模板引擎

Chameleon:一个 HTML/XML 模板引擎

Genshi:用以生成 Web 感知的结果

Mako:超高速轻量级模板

队列

celery:一个异步任务队列/作业队列

huey:小型多线程任务队列

mrq:分布式 worker 任务队列,使用 Redis 和 gevent

rq:简单的作业队列工具

simpleq:一个简单的基于亚马逊 SQS 的队列

搜索

django-haystack:Django 模块化搜索工具

elasticsearch-py:Elasticsearch 的官方底层 Python 客户端

elasticsearch-dsl-py:Elasticsearch 的官方高级 Python 客户端

solrpy:solr 的 Python 客户端

Whoosh:一个快速的纯 Python 开发的搜索引擎

动态消息

django-activity-stream:从站点行为中生成通用活动信息流

Stream-Framework:使用 Cassandra 和 Redis 创建动态消息和通知系统

资源管理

django-compressor:将链接和内联的 JavaScript 或 CSS 压缩到一个单独的缓存文件中

django-storages:针对 Django 的存储后端的工具集合

fanstatic:打包、优化并把静态文件依赖作为 Python 的包来提供

File Conveyor:用来发现和同步文件到 CDNs,S3 和 FTP

Flask-Assets:将 Web 资源整合到 Flask app 中

jinja-assets-compressor:用来编译和压缩资源

webassets:为静态资源打包、优化和管理,生成独一无二的缓存 URL

缓存

Beaker:缓存会话的库

django-cache-machine:自动缓存和失效工具

django-cacheops:具有自动颗粒化事件驱动失效功能的 ORM

django-viewlet:渲染模板和额外的缓存控制功能

dogpile.cache:是 Beaker 的下一代替代品

HermesCache:缓存库,具有基于标签的失效和 dogpile effect 保护功能

johnny-cache:django 应用缓存框架

pylibmc:libmemcached 接口封装

表单

Deform:HTML 表单生成库

django-bootstrap3:集成了 Bootstrap3 的 Django

django-crispy-forms:可以以一种非常优雅且 DRY(Don’t repeat yourself) 的方式来创建美观的表单

django-remote-forms:一个平台独立的 Django 表单序列化工具

WTForms:一个灵活的表单验证和呈现库

WTForms-JSON:WTForms 扩展,用来处理 JSON 数据

数据验证

Cerberus:映射验证器

colander:用于对从 XML, JSON,HTML 表单获取数据并序列化数据进行验证和反序列化的系统

kmatch:一种用于匹配/验证/筛选字典的工具

schema:用于对 Python 数据结构进行验证的库

Schematics:用于数据结构验证

valideer:轻量级数据验证和适配库

voluptuous:数据验证库,主要是为了验证传入 Python 的 JSON,YAML 等数据

电子邮件

django-celery-ses:带有 AWS SES 和 Celery 的 email 后端

envelopes:人性化的电子邮件库

flanker:一个 email 地址和 Mime 解析库

imbox:IMAP 库

inbox.py:SMTP 服务器

inbox:开源电子邮件工具箱

lamson:Python 风格的 SMTP 应用服务器

mailjet:提供批量发送邮件,统计等功能

marrow.mailer:高性能可扩展邮件分发框架

modoboa:邮件托管和管理平台

pyzmail:创建、发送和解析电子邮件

Talon:用来抽取信息和签名

django-simple-captcha:一个简单、高度可定制的 Django 应用

django-simple-spam-blocker:一个用于 Django 的简单的电子垃圾屏蔽工具

URL

webargs:解析 HTTP 请求参数的库

short_url:短网址生成

国际化

Babel:一个 Python 的国际化库

Korean:一个韩语词态库

管理面板

Ajenti:一个值得拥有的管理面板

django-suit:Django 管理界面的一个替代品

django-xadmin:Django admin 的一个替代品

flask-admin:一个用于 Flask 的简单可扩展的管理界面框架

flower:一个对 Celery 集群进行实时监控和提供 Web 管理界面的工具

Grappelli:Django 管理界面的一个漂亮的皮肤

Wooey:可以为 Python 脚本创建 Web 用户界面

静态站点生成

Pelican:通过 Markdown 或 ReST 来处理内容,使用 Jinja2 来制作主题

Cactus:为专业设计师设计的静态站点生成器

Hyde:基于 Jinja2 的静态站点生成器

Nikola:静态网站和博客生成器

Tinkerer:一个博客引擎/静态站点生成器

Lektor:一个简单易用的静态 CMS 和博客引擎

Tags:最简单的静态网站生成器

WSGI 服务器

gunicorn:部分是由 C 语言编写而成的 WSGI 工具

uwsgi:用来建立托管服务

bjoern:异步速度非常快

fapws3:异步,由 C 语言编写

meinheld:异步服务器

netius:异步,非常快速

paste:多线程,稳定,久经考验

rocket:多线程

waitress:多线程

Werkzeug:一个 WSGI 工具库

ORM

Django Models:Django 的重要组成

SQLAlchemy:SQL 工具以及对象关系映射工具

Peewee:一个小巧的 ORM

PonyORM:提供面向生成器的 SQL ORM

python-sql:Python 风格的 SQL 查询

django-mongodb-engine:Django MongoDB 后端

PynamoDB:Amazon DynamoDB 的后端

flywheel:Amazon DynamoDB 的对象映射工具

MongoEngine:用于 MongoDB 对象文档映射工具

hot-redis:为 Redis 提供的后端

redisco:提供可以持续存在在 Redis 中的简单模型和容器

butterdb:Google Drive 电子表格的 Python ORM

5、地理位置

GeoDjango:世界级地理图形 Web 框架

GeoIP:MaxMind GeoIP Legacy 数据库的 API

geojson:GeoJSON 的 Python 工具

geopy:地址编码工具箱

pygeoip:纯 Python GeoIP API

django-countries:提供用于表格的国家选择功能,国旗图标静态文件以及模型中的国家字段

6、系统

进程

envoy:比 subprocess 模块更人性化的模块

sarge:另一 种 subprocess 模块的封装

sh: subprocess 替代库

subprocess:调用 shell 命令的神器

并发/并行

multiprocessing:基于进程的“线程”接口

threading:更高层的线程接口

eventlet:支持 WSGI 的异步框架

gevent:基于协程的 Python 网络库

Tomorrow:用于产生异步代码的库

uvloop:在 libuv 之上超快速实现 asyncio 事件循环的库

7、数据库相关

Python 实现的数据库

pickleDB:简单轻量级键值储存数据库

PipelineDB:流式 SQL 数据库

TinyDB:微型的面向文档型数据库

ZODB:键值和对象图数据库

数据库驱动

aiomysql:基于 asyncio 的异步 MySQL 数据库操作库

mysql-python:MySQL 数据库连接器

mysqlclient:mysql-python 分支

oursql:一个更好的 MySQL 连接器

PyMySQL:纯 Python MySQL 驱动

psycopg2:最流行的 PostgreSQL 适配器

queries:psycopg2 库的封装

txpostgres:基于 Twisted 的异步 PostgreSQL 驱动

apsw:SQLite 封装

dataset:在数据库中存储 Python 字典

pymssql:一个简单的 Microsoft SQL Server 数据库接口

cassandra-python-driver:Cassandra 的 Python 驱动

HappyBase:为 Apache HBase 设计的库

Plyvel:一个快速且功能丰富的 LevelDB 的接口库

py2neo:Neo4j restful 接口的封装客户端

pycassa:Cassandra 的 Python Thrift 驱动

PyMongo:MongoDB 的官方 Python 客户端

redis-py:Redis 的 Python 客户端

telephus:基于 Twisted 的 Cassandra 客户端

txRedis:基于 Twisted 的 Redis 客户端

8、安全

OAuth

OAuthLib:一个 OAuth 请求-签名库

python-oauth2:完全测试的抽象接口

python-social-auth:设置简单的社会化验证方式

rauth:OAuth 1.0/a, 2.0, 和 Ofly 的 Python 库

sanction:超级简单的 OAuth2 客户端实现

密码

cryptography:提供密码学基本内容和方法

hashids:在 Python 中实现 hashids

Paramiko:提供 ssh 客户端和服务端的功能

Passlib:安全密码存储/哈希库

PyCrypto:密码学工具箱

PyNacl:网络和密码学库

其他

jose:JavaScript 对象签名和加密草案的实现

PyJWT:JSON Web 令牌

python-jws:JSON Web 签名

python-jwt:用来生成和验证 JSON Web 令牌的模块

Permissions:允许或拒绝用户访问数据或函数

9、人工智能

自然语言处理

NLTK:先进的用以构建处理人类语言数据的程序

jieba:中文分词工具

langid.py:独立的语言识别系统

SnowNLP:用来处理中文文本的库

TextBlob:自然语言处理工具

TextGrocery:简单高效的短文本分类工具

thulac:清华大学自然语言处理与社会人文计算实验室研制推出的一套中文词法分析工具包

loso:中文分词函数库

计算机视觉

OpenCV:开源计算机视觉库

pyocr:Tesseract 和 Cuneiform 的封装库

pytesseract:Google Tesseract OCR 的封装库

SimpleCV:用来创建计算机视觉应用的开源框架

机器学习/深度学习

Caffe: Caffe 的 Python 接口

Caffe2:一个轻量级的、模块化的,可扩展的深度学习框架

Crab:灵活、快速的推荐引擎

gensim:人性化的话题建模库

hebel:深度学习库

keras: 神经网络

MXNet:高效灵活的深度学习框架

NuPIC:智能计算 Numenta 平台

pattern:网络挖掘模块

PyBrain:机器学习库

pydeep:深度学习库

Pylearn2:基于 Theano 的机器学习库

python-recsys:用来实现推荐系统的库

Pytorch:具有张量和动态神经网络深度学习框架

scikit-learn:基于 SciPy 构建的机器学习模块

skflow:一个 TensorFlow 的简化接口

TensorFlow:谷歌开源的最受欢迎的深度学习框架

Theano:快速数值计算库

vowpalporpoise:轻量级 Vowpal Wabbit 的封装

Milk:机器学习工具箱

PyMVPA(Multivariate Pattern Analysis in Python):为大数据集提供统计学习分析的 Python 工具包,它提供了一个灵活可扩展的框架

10、科学计算与数据分析

数据处理

astropy:天文学相关的库

bcbio-nextgen:为全自动高通量测序分析提供符合最佳实践的处理流程

bccb:生物分析

Biopython:是一组可以免费使用的用来进行生物计算的工具

blaze:NumPy 和 Pandas 的大数据接口

cclib:用来解析和解释计算化学软件包输出结果的库

NetworkX:为复杂网络设计的高性能工具

Neupy:执行和测试各种不同的人工神经网络算法

Numba:针对数据科学用的 Python

NumPy:进行科学计算的基础包

Open Babel:用来描述多种化学数据

Open Mining:使用 Python 挖掘商业情报

orange:进行数据挖掘,数据可视化,分析和机器学习

Pandas:数据结构和数据分析工具

PyDy:用来为动力学运动建模工作流程提供帮助

PyMC:马尔科夫链蒙特卡洛采样工具

RDKit:化学信息学和机器学习软件

SciPy:用于数学,科学和工程的开源软件

statsmodels:统计建模和计量经济学

SymPy:用于符号数学的库

zipline:算法交易库

Bayesian-belief-networks:优雅的贝叶斯信念网络框架

ScientificPython:用于科学计算

visvis:可视化计算模块库

数据可视化

matplotlib:最流行的 Python 绘图库

bokeh:进行交互式 Web 绘图

ggplot:ggplot2 的 Python 版本

plotly:基于 matplotlib 工作的 Web 绘图库

pyecharts:基于百度 Echarts 的数据可视化库

pygal:SVG 图表创建工具

pygraphviz:Graphviz 的 Python 实现

PyQtGraph:交互式实时图像绘制组件

SnakeViz:基于浏览器的模块输出结果查看工具

vincent:把 Python 转换为 Vega 语法的转换工具

VisPy:基于 OpenGL 的高性能科学可视化工具

11、GUI 与游戏开发

GUI

curses:内建的 ncurses 封装,用来创建终端图形用户界面

enaml:创建美观的用户界面

kivy:用来创建用户交互应用程序的库

pyglet:跨平台窗口及多媒体库

PyQt:跨平台用户界面框架

PySide:跨平台用户界面框架 Qt

Tkinter:GUI 标准库

Toga:操作系统原生的 GUI 工具包

urwid:用来创建终端 GUI 应用的库

wxPython:是 wxWidgets C++ 类库和 Python 语言混合的产物

PyGObject:GLib/GObject/GIO/GTK+ (GTK+3) 的 Python 实现

Flexx:创建 GUI 程序的工具集,它使用 web 技术进行界面的展示

PyGtk:GUI 程序开发库

turtle:Python 的画图工具

游戏开发

Cocos2d:用来开发 2D 游戏的工具

Panda3D:3D 游戏引擎

Pygame:最为流行的编写游戏的模块

PyOgre:用来开发游戏和仿真程序

PyOpenGL:OpenGL 的 Python 绑定及其相关 APIs

PySDL2:SDL2 库的封装

RenPy:一个视觉小说引擎

PySFML:视觉小说引擎

12、音视频

音频

audiolazy:数字信号处理包

audioread:交叉库音频解码

beets:音乐库管理工具

dejavu:音频指纹提取和识别

django-elastic-transcoder:Django + Amazon Elastic Transcoder

eyeD3:用来操作音频文件的工具

id3reader:用来读取 MP3 元数据

m3u8:用来解析 m3u8 文件的模块

mutagen:用来处理音频元数据

pydub:操作音频文件

pyechonest:Echo Nest API 的 Python 客户端

talkbox:用来处理演讲/信号

TimeSide:开源的 Web 音频处理框架

tinytag:用来读取 MP3, OGG, FLAC 以及 Wave 文件音乐元数据的库

mingus:高级音乐理论和曲谱包

视频

moviepy:用来进行基于脚本的视频编辑模块

scikit-video:SciPy 视频处理常用程序

shorten.tv:视频摘要

13、测试相关

测试框架

unittest:单元测试框架

nose:扩展了 unittest 的功能

contexts:BDD 框架

hypothesis:基于先进的 Quickcheck 风格特性的测试库

mamba:Python 的终极测试工具

PyAutoGUI:PyAutoGUI 是一个人性化的跨平台 GUI 自动测试模块

pyshould:基于 PyHamcrest 的测试模块

pytest:成熟的全功能测试工具

green:干净多彩的测试工具

pyvows:BDD 风格的测试工具

Robot Framework:通用的自动化测试框架

Web 测试

Selenium:Selenium WebDriver 的 Python 实现

locust:可扩展的用户压力测试工具

sixpack:和语言无关的 A/B 测试框架

splinter:开源的 Web 应用测试工具

Mock 测试

mock:用于伪造测试数据的库

doublex:功能强大的 doubles 测试框架

freezegun:日期伪造模块

httmock:伪造请求的库

httpretty:HTTP 请求 mock 工具

responses:伪造 requests 请求的库

VCR.py:在测试中记录和重放 HTTP 交互

对象工厂

factoryboy:测试固件替代库

mixer:另外一个测试固件替代库

modelmommy:为 Django 测试创建随机固件

代码覆盖率

coverage:代码覆盖率测量

Codecov:代码覆盖率测试工具

伪数据

faker:用来生成伪数据

fake2db:伪数据库生成器

radar:生成随机的日期/时间

FuckIt.py:使用最先进的技术来保证 Python 代码无论对错都能继续运行

14、代码工具

代码分析

coala:语言独立和易于扩展的代码分析应用程序

code2flow:把 Python 和 JavaScript 代码转换为流程图

pycallgraph:可以把 Python 应用的流程(调用图)进行可视化

pysonar2:类型推断和检索工具

Lint 工具

Flake8:模块化源码检查工具

Pylint:完全可定制的源码分析器

YAPF: Google 的 Python 代码格式化工具

pylama:Python 和 JavaScript 的代码审查工具

代码格式化

autopep8:自动格式化 Python 代码,以使其符合 PEP8 规范

black:一个坚定的 Python 代码格式化工具

调试器

ipdb:在 IPython 中启用的 pdb

pudb:基于控制台的 Python 调试器

pyringe:可以在进程中附加和注入代码的调试器

wdb:通过 WebSockets 工作的 Web 调试器

winpdb:具有图形用户界面的 Python 调试器

django-debug-toolbar:为 Django 显示各种调试信息

django-devserver:一个 Django 运行服务器的替代品

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

性能分析

lineprofiler:逐行性能分析工具

Memory Profiler:监控 Python 代码的内存使用情况

profiling:交互式 Python 性能分析工具

pyelftools:解析和分析 ELF 文件以及 DWARF 调试信息

python-statsd:statsd 服务器的 Python 客户端

日志

logging:为 Python 提供日志功能

logbook:Logging 库的替代品

Eliot:为复杂的和分布式系统创建日志

Raven:Sentry 的 Python 实现

Sentry:实时记录和收集日志的服务器

持续集成

Travis CI:一个流行的持续集成工具

CircleCI:一个持续集成工具

Vexor CI:为私人 app 提供持续集成的工具

Wercker:基于 Docker 平台,用来构建和部署微服务

代码质量

Codacy:自动化代码审查

QuantifiedCode:一个数据驱动、自动、持续的代码审查工具

15、DevOps

Ansible:非常简单的 IT 自动化平台

SaltStack:基础设施自动化和管理系统

OpenStack:用于构建私有和公有云的开源软件

Docker Compose:基于 Docker 的快速分离开发环境

Fabric:简单的进行远程执行和部署的工具

cuisine:为 Fabric 提供一系列高级函数

Fabtools:用来编写 Fabric 文件的工具

gitapi:Git 的纯 Python API

hgapi:Mercurial 的纯 Python API

honcho:用来管理基于 Procfile 的应用

pexpect:在一个伪终端中控制交互程序

psutil:跨平台进程和系统工具模块

supervisor:UNIX 的进程控制系统

16、任务调度

APScheduler:轻巧但强大的进程内任务调度工具

django-schedule:一个 Django 排程应用

doit:任务执行和构建工具

gunnery:分布式系统使用的多用途任务执行工具

Joblib:提供轻量级作业流水线的工具

Plan:更好的编写 crontab 文件的工具

schedule:人性化的 Python 任务调度库

Spiff:使用纯 Python 实现的工作流引擎

TaskFlow:可以方便执行任务的库

AirFlow:是一个工作流分配管理系统

17、高性能

Cython:优化的 Python 静态编译器

PeachPy:嵌入 Python 的 x86-64 汇编器

PyPy:使用 Python 实现的 Python 解释器

Pyston:使用 LLVM 和现代 JIT 技术构建的 Python 实现

Stackless Python:一个强化版的 Python

18、Windows 环境

Python(x,y):面向科学应用的 Python 发行版

pythonlibs:非官方的 Windows 平台 Python 扩展二进制包

PythonNet:Python 与 .NET 公共语言运行库的集成环境

PyWin32:针对 Windows 的 Python 扩展

WinPython:Windows 7/8 系统下便携式开发环境

19、硬件相关

ino:操作 Arduino 的命令行工具

Pyro:Python 机器人编程库

PyUserInput:跨平台的控制鼠标和键盘的模块

scapy:操作数据包的库

wifi:用来在 Linux 平台上操作 WiFi

Pingo:为类似 Raspberry Pi,pcDuino, Intel Galileo 等设备提供统一的 API

20、环境与包管理

环境管理

p:非常简单的交互式 Python 版本管理工具

pyenv:简单的 Python 版本管理工具

Vex:可以在虚拟环境中执行命令的工具

virtualenv:创建独立 Python 环境的工具

virtualenvwrapper:virtualenv 的一组扩展

pew:一套管理多个虚拟环境的工具

PyRun:无需安装的Python版本管理工具

包管理

pip:包和依赖关系管理工具

pip-tools:保证 Python 包依赖关系更新的一组工具

pipenv:官方推荐的新一代包管理工具

conda:跨平台的二进制包管理工具

Curdling:管理 Python 包的命令行工具

wheel:Python 分发的新标准

Pdm:新一代包管理工具

easy_install:软件包管理系统

包仓库

warehouse:下一代 PyPI

bandersnatch:PyPA 提供的 PyPI 镜像工具

devpi:PyPI 服务和打包/测试/分发工具

localshop:本地 PyPI 服务

PyPI:新一代的 Python 包库管理工具

21、分发与构建

软件分发

PyInstaller:将 Python 程序转换成独立的执行文件

dh-virtualenv:构建并将 virtualenv 虚拟环境作为一个 Debian 包来发布

Nuitka:将脚本、模块、包编译成可执行文件或扩展模块

py2app:将 Python 脚本变为独立软件包

py2exe:将 Python 脚本变为独立软件包

pynsist:用来创建 Windows 安装程序的工具

cx-Freeze:跨平台的用于打包成可执行文件的库

构建

buildout:一个构建系统

BitBake:针对嵌入式 Linux 的构建工具

fabricate:自动找到依赖关系的构建工具

PlatformIO:多平台命令行构建工具

PyBuilder:纯 Python 实现的持续化构建工具

SCons:软件构建工具

交互式解释器

IPython:功能丰富的工具

bpython:界面丰富的 Python 解析器

ptpython:高级交互式 Python 解析器

22、命令行相关

命令行工具

asciimatics:跨平台、全屏终端库

cement:Python 的命令行程序框架

click:通过组合的方式来创建精美命令行界面的包

cliff:用于创建命令行程序的框架

clint:Python 命令行程序工具

colorama:跨平台彩色终端文本

docopt:Python 风格的命令行参数解析器

Gooey:将命令行程序变成一个 GUI 程序

python-prompt-toolkit:用于构建强大的交互式命令行程序的库

python-fire:Google 出品的一个构建命令行界面的库

Pythonpy:在命令行中直接执行任何 Python 指令

Clime:可以转换任何模块为多的 CLI 命令程序

docopt:Python 命令行参数分析器

pycli:命令行应用程序

rainbowstream:推特客户终端

argparse:写命令行脚本工具

pyHook:基于 Python 的“钩子”库

pstuil:跨平台地方便获取和控制系统的进程库

命令行高级工具

aws-cli:Amazon Web Services 的通用命令行界面

bashplotlib:在终端中进行绘图

caniusepython3:判断是哪个项目妨碍完美移植代码到 Python3

cookiecutter:从 cookiecutters 创建项目的一个命令行工具

doitlive:用来在终端中进行现场演示的工具

pyftpdlib:速度极快和可扩展的 Python FTP 服务库

howdoi:通过命令行获取即时的编程问题解答

httpie:命令行 HTTP 客户端

PathPicker:从 bash 输出中选出文件

percol:向 UNIX shell 传统管道概念中加入交互式选择功能

SAWS:一个加强版的 AWS 命令行

thefuck:修正之前的命令行指令

mycli:MySQL 命令行客户端

pgcli:Postgres 命令行工具

try:简单的命令行工具,用来试用 python 库

23、第三方

API

apache-libcloud:为各种云设计的 Python 库

boto:Amazon Web Services 的 Python 接口

django-wordpress:WordPress 与 Django 的结合

facebook-sdk:Facebook 平台的 Python SDK

facepy:Facebook’s Graph API

gmail:Gmail 的 Python 接口

google-api-python-client:Python 用的 Google APIs 客户端库

gspread:Google 电子表格的 Python API

twython:Twitter API 的封装

外来函数接口

cffi:用来调用 C 代码的外来函数接口

ctypes:另一个用来调用 C 代码的外来函数接口

PyCUDA:Nvidia CUDA API 的封装

SWIG:简化的封装和接口生成器

24、其他

MapReduce

dpark:Spark 的 Python 版

dumbo:可以让人轻松的编写和运行 Hadoop 程序

luigi:构建批处理作业的复杂流水线

mrjob:在 Hadoop 或 Amazon Web Services 上运行 MapReduce 任务

PySpark:Spark 的 Python API

streamparse:运行针对事实数据流的 Python 代码

函数式编程

CyToolz:Toolz 的 Cython 实现

fn.py:在 Python 中进行函数式编程

funcy:炫酷又实用的函数式工具

Toolz:一组用于迭代器,函数和字典的函数式编程工具

兼容性

Python-Future:Python 2 和 Python 3 之间丢失的那个兼容性层

Python-Modernize:使 Python 代码更加现代化以便最终迁移到 Python 3

Six:Python 2 和 3 的兼容性工具

编辑器插件

Elpy:Emacs Python 开发环境

SublimeJEDI:一个 Sublime Text 插件,用来使用自动补全库 Jedi

Anaconda:Anaconda 把 Sublime Text 3 变成一个功能齐全的 Python IDE

YouCompleteMe:引入基于 Jedi 的 Python 自动补全引擎

Jedi-vim:绑定 Vim 和 Jedi 自动补全库

Python-mode:将 Vim 变成 Python IDE

PTVS:Visual Studio 的 Python 工具

自动聊天工具

Errbot:简单且流行的聊天机器人工具

金融数据

Tushare:可以提供免费股票、基金、期货、港股等金融数据的开源工具

Ta-Lib:金融数据技术分析库

AkSHare:一个非常棒的免费金融数据平台

算法和设计模式

algorithms:一个 Python 算法模块

python-patterns:Python 设计模式的集合

sortedcontainers:SortedList,SortedDict 和 SortedSet 类型

杂七杂八

blinker:一个快速的 Python 进程内信号/事件分发系统

itsdangerous:一系列辅助工具,用来将可信的数据传入不可信的环境

pluginbase:一个简单但是灵活的 Python 插件系统

Pychievements:一个用来创建和追踪成就的 Python 框架

Tryton:一个通用商务框架


点击全文阅读


本文链接:http://zhangshiyu.com/post/56372.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1