Python 生态,向来以各种类库齐全而闻名,这也是这门语言如此受欢迎的重要原因。
今天就给大家分享一下这几天的战果,宵衣旰食,不眠不休的整理了近千个 Python 库,梳理不易啊,收藏的同时,记得点赞支持
文章目录
- 技术提升
- 1、数据处理
- 文本处理
- 特殊文本处理
- HTML/XML 解析
- 文件处理
- 配置文件处理
- 文档相关
- 日志管理
- 日期和时间
- 2、图像处理
- 图像处理
- OCR
- 3、网络相关
- 下载
- HTTP
- 网络可视化
- URL 处理
- 网络爬虫
- 网页内容提取
- WebSocket
- RPC
- 4、Web 框架
- 全栈框架
- CMS
- Web 权限/安全
- 商务框架
- Restful API
- 模板引擎
- 队列
- 搜索
- 动态消息
- 资源管理
- 缓存
- 表单
- 数据验证
- 电子邮件
- URL
- 国际化
- 管理面板
- 静态站点生成
- WSGI 服务器
- ORM
- 5、地理位置
- 6、系统
- 进程
- 并发/并行
- 7、数据库相关
- Python 实现的数据库
- 数据库驱动
- 8、安全
- OAuth
- 密码
- 其他
- 9、人工智能
- 自然语言处理
- 计算机视觉
- 机器学习/深度学习
- 10、科学计算与数据分析
- 数据处理
- 数据可视化
- 11、GUI 与游戏开发
- GUI
- 游戏开发
- 12、音视频
- 音频
- 视频
- 13、测试相关
- 测试框架
- Web 测试
- Mock 测试
- 对象工厂
- 代码覆盖率
- 伪数据
- 14、代码工具
- 代码分析
- Lint 工具
- 代码格式化
- 调试器
- 性能分析
- 日志
- 持续集成
- 代码质量
- 15、DevOps
- 16、任务调度
- 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:一个通用商务框架