整理了上千个Python类库,简直太酷啦!(python强大的库)

网友投稿 419 2022-08-23


整理了上千个Python类库,简直太酷啦!(python强大的库)

Python 生态,向来以各种类库齐全而闻名,这也是这门语言如此受欢迎的重要原因。今天萝卜哥就给大家分享一下这几天的战果,宵衣旰食,不眠不休的整理了近千个 Python 库,收藏的同时,给个在看不为过吧!

文末可以获取完整思维导图高清版!

数据处理

文本处理

chardet:字符编码检测器,该库可以检测文本、网页、xml等多种文件格式的编码difflib:文本差异比较ftfy:使程序更加完美的支持 Unicode 编码fuzzywuzzy:可以进行字符串的模糊匹配Levenshtein:计算各种距离以及字符串相似度pangu.py:调整中日韩文字当中的字母、数字间距pypinyin:汉字拼音转换工具shortuuid:用来生成 UUIDsimplejson:JSON 编码、解码器unidecode:Unicode 格式操作uniout:打印字符,不进行转义xpinyin:把汉字转换为拼音yfiglet-figlet:pyfiglet -figlet 的 Python 实现flashtext: 用于文本查找替换esmre:加速正则表达式awesome slugify:用于处理 Unicodepython-slugify:把 unicode 转化为 ASCIIunicode-slugify:可以生成 unicode slugs,依赖与 Djangophonenumbers:用于解析、格式化、储存和验证电话号码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 的库,类似 jQueryrequests-html:人性化的 HTML 解析库untangle:将 XML 文档转换为 Python 对象xhtml2pdf:HTML/CSS 转 PDF 工具xmltodict:像处理 JSON 一样处理 XMLhtmlparser,官方版解析 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:可以从 下载视频subliminal:搜索和下载字幕的库

HTTP

aioasyncio 的异步 HTTP 库requests:最为流行的 HTTP 请求库grequests:requests 库 + gevent 实现异步 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: 开源的企业级 CMSdjango-cms:开源的企业级 CMSdjedi-cms:轻量级但却非常强大的 Django CMSFeinCMS:基于 Django 构建的先进的内容管理系统Kotti:一个高级的 web 应用框架Mezzanine:一个强大的灵活的内容管理平台Opps:一个为杂志报纸网站设计的 CMS 平台Plone:一个构建于开源应用服务器 Zope 之上的 CMSQuokka:灵活可扩展的小型 CMSWagtail:一个 Django 内容管理系统Widgy:最新的 CMS 框架,基于 Django

Web 权限/安全

Carteblanche:代码对齐模块,很好地处理了代码导航及权限django-guardian:单个对象权限django-rules:一个小巧但是强大的应用,提供对象级别的权限管理Flask-OAuthlib:Flask的OAuth工具包django-oauth-toolkit:为 Django 用户准备的 OAuth2django-allauth:Django 的验证模块Authomatic:简单但是强大的框架,身份验证/授权客户端

商务框架

django-oscar:一个用于 Django 的电子商务框架django-shop:基于 Django 的店铺系统Cartridge:基于 Mezzanine 构建的购物车应用shoop:基于 Django 的电子商务平台alipay:支付宝 APImerchant:可以接收来自多种支付平台支付的 Django 应用money:货币类库python-currencies:显示货币格式以及它的数值

Restful API

django-rest-framework:一个基于 Django 的工具,用来构建 Web APIdjango-tastypie:为 Django 应用开发 API 工具django-formapi:Django 的表单验证工具flask-api:为 flask 开发的 API 工具flask-restful:为 flask 快速创建 REST APIs 的工具flask-restless:为 SQLAlchemy 数据库模型而开发的 RESTful APIsflask-api-utils:为 Flask 处理 API 表示和验证eve:由 Flask, MongoDB 等驱动 的 REST API 框架cornice:一个 Pyramid 的 REST 框架falcon:用来建立云 API 和 Web app 后端的高性能框架sandman:为数据库驱动系统自动创建 REST APIsrestless:框架无关的 REST 框架ripozo:快速创建 REST APIs 工具

模板引擎

Jinja2:一个现代的友好的模板引擎Chameleon:一个 HTML/XML 模板引擎Genshi:用以生成 Web 感知的结果Mako:超高速轻量级模板

队列

celery:一个异步任务队列/作业队列huey:小型多线程任务队列mrq:分布式 worker 任务队列,使用 Redis 和 geventrq:简单的作业队列工具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 和 FTPFlask-Assets:将 Web 资源整合到 Flask app 中jinja-assets-compressor:用来编译和压缩资源webassets:为静态资源打包、优化和管理,生成独一无二的缓存 URL

缓存

Beaker:缓存会话的库django-cache-machine:自动缓存和失效工具django-cacheops:具有自动颗粒化事件驱动失效功能的 ORMdjango-viewlet:渲染模板和额外的缓存控制功能dogpile.cache:是 Beaker 的下一代替代品HermesCache:缓存库,具有基于标签的失效和 dogpile effect 保护功能johnny-cache:django 应用缓存框架pylibmc:libmemcached 接口封装

表单

Deform:HTML 表单生成库django-bootstrap3:集成了 Bootstrap3 的 Djangodjango-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:一个小巧的 ORMPonyORM:提供面向生成器的 SQL  ORMpython-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 数据库的 APIgeojson:GeoJSON 的 Python 工具geopy:地址编码工具箱pygeoip:纯 Python GeoIP APIdjango-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 中实现 hashidsParamiko:提供 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:针对数据科学用的 PythonNumPy:进行科学计算的基础包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:跨平台用户界面框架 QtTkinter: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 绑定及其相关 APIsPySDL2:SDL2 库的封装RenPy:一个视觉小说引擎PySFML:视觉小说引擎

音视频

音频

audiolazy:数字信号处理包audioread:交叉库音频解码beets:音乐库管理工具dejavu:音频指纹提取和识别django-elastic-transcoder:Django + Amazon Elastic TranscodereyeD3:用来操作音频文件的工具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:伪造请求的库请求 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 中启用的 pdbpudb:基于控制台的 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 APIhgapi:Mercurial 的纯 Python APIhoncho:用来管理基于 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 平台上操作 WiFiPingo:为类似 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:下一代 PyPIbandersnatch: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:判断是哪个项目妨碍完美移植代码到 Python3cookiecutter:从 cookiecutters 创建项目的一个命令行工具doitlive:用来在终端中进行现场演示的工具pyftpdlib:速度极快和可扩展的 Python FTP 服务库howdoi:通过命令行获取即时的编程问题解答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 SDKfacepy:Facebook's Graph APIgmail:Gmail 的 Python 接口google-api-python-client:Python 用的 Google APIs 客户端库gspread:Google 电子表格的 Python APItwython: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 APIstreamparse:运行针对事实数据流的 Python 代码

函数式编程

CyToolz:Toolz 的 Cython 实现fn.py:在 Python 中进行函数式编程funcy:炫酷又实用的函数式工具Toolz:一组用于迭代器,函数和字典的函数式编程工具

兼容性

Python-Future:Python 2 和 Python 3 之间丢失的那个兼容性层Python-Modernize:使 Python 代码更加现代化以便最终迁移到 Python 3Six:Python 2 和 3 的兼容性工具

编辑器插件

Elpy:Emacs Python 开发环境SublimeJEDI:一个 Sublime Text 插件,用来使用自动补全库 JediAnaconda:Anaconda 把 Sublime Text 3 变成一个功能齐全的 Python IDEYouCompleteMe:引入基于 Jedi 的 Python 自动补全引擎Jedi-vim:绑定 Vim 和 Jedi 自动补全库Python-mode:将 Vim 变成 Python IDEPTVS: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 的类库实在是太累了,实在是太多了,还请 点赞


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:超强 Python 数据可视化库,一文全解析(超强兵王在都市)
下一篇:resty upload无需依赖的文件上传与下载
相关文章

 发表评论

暂时没有评论,来抢沙发吧~