整理了上千个Python类库,简直太酷啦!
Python 生态,向来以各种类库齐全而闻名,这也是这门语言如此受欢迎的重要原因。今天萝卜哥就给大家分享一下这几天的战果,宵衣旰食,不眠不休的整理了近千个 Python 库,收藏的同时,给个在看不为过吧!
文末可以获取完整思维导图高清版!
数据处理
文本处理
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:进行常用的日期和时间操作
图像处理
图像处理
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 的一个包装类
网络相关
下载
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 实现
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
地理位置
GeoDjango:世界级地理图形 Web 框架 GeoIP:MaxMind GeoIP Legacy 数据库的 API geojson:GeoJSON 的 Python 工具 geopy:地址编码工具箱 pygeoip:纯 Python GeoIP API django-countries:提供用于表格的国家选择功能,国旗图标静态文件以及模型中的国家字段
系统
进程
envoy:比 subprocess 模块更人性化的模块 sarge:另一 种 subprocess 模块的封装 sh: subprocess 替代库 subprocess:调用 shell 命令的神器
并发/并行
multiprocessing:基于进程的“线程”接口 threading:更高层的线程接口 eventlet:支持 WSGI 的异步框架 gevent:基于协程的 Python 网络库 Tomorrow:用于产生异步代码的库 uvloop:在 libuv 之上超快速实现 asyncio 事件循环的库
数据库相关
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 客户端
安全
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:允许或拒绝用户访问数据或函数
人工智能
自然语言处理
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 工具包,它提供了一个灵活可扩展的框架
科学计算与数据分析
数据处理
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 的高性能科学可视化工具
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:视觉小说引擎
音视频
音频
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:视频摘要
测试相关
测试框架
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 代码无论对错都能继续运行
代码工具
代码分析
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:一个数据驱动、自动、持续的代码审查工具
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 的进程控制系统
任务调度
APScheduler:轻巧但强大的进程内任务调度工具 django-schedule:一个 Django 排程应用 doit:任务执行和构建工具 gunnery:分布式系统使用的多用途任务执行工具 Joblib:提供轻量级作业流水线的工具 Plan:更好的编写 crontab 文件的工具 schedule:人性化的 Python 任务调度库 Spiff:使用纯 Python 实现的工作流引擎 TaskFlow:可以方便执行任务的库 AirFlow:是一个工作流分配管理系统
高性能
Cython:优化的 Python 静态编译器 PeachPy:嵌入 Python 的 x86-64 汇编器 PyPy:使用 Python 实现的 Python 解释器 Pyston:使用 LLVM 和现代 JIT 技术构建的 Python 实现 Stackless Python:一个强化版的 Python
Windows 环境
Python(x,y):面向科学应用的 Python 发行版 pythonlibs:非官方的 Windows 平台 Python 扩展二进制包 PythonNet:Python 与 .NET 公共语言运行库的集成环境 PyWin32:针对 Windows 的 Python 扩展 WinPython:Windows 7/8 系统下便携式开发环境
硬件相关
ino:操作 Arduino 的命令行工具 Pyro:Python 机器人编程库 PyUserInput:跨平台的控制鼠标和键盘的模块 scapy:操作数据包的库 wifi:用来在 Linux 平台上操作 WiFi Pingo:为类似 Raspberry Pi,pcDuino, Intel Galileo 等设备提供统一的 API
环境与包管理
环境管理
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 包库管理工具
分发与构建
软件分发
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 解析器
命令行相关
命令行工具
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 库
第三方
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:简化的封装和接口生成器
其他
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 的类库实在是太累了,实在是太多了,还请 点赞 + 在看 支持一下~
评论