python 生态,向来以各种类库齐全而闻名,这也是这门语言如此受欢迎的重要原因。今天就给大家分享一下这几天的战果,宵衣旰食,不眠不休的整理了近千个 python 库。
本文整理了python生态中近千个库,涵盖数据处理、图像处理、网络开发、web框架、人工智能、科学计算、gui工具、测试框架、环境管理等多个领域,列举了如difflib、requests、django、tensorflow等代表性工具,展示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:一个通用商务框架
总结
到此这篇关于python按照24个大方向整理的精选上千种工具库汇总的文章就介绍到这了,更多相关python按24个大方向整理的库内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论