哪些 Python 库让你相见恨晚?
- 2019 年 11 月 27 日
- 筆記
Awesome Python
环境管理
管理 Python 版本和环境的工具
- 我想很多程序员应该记得 GitHub 上有一个 Awesome – XXX 系列的资源整理。awesome-python 是 vinta 发起维护的 Python 资源列表,内容包括:Web框架、网络爬虫、网络内容提取、模板引擎、数据库、数据可视化、图片处理、文本处理、自然语言处理、机器学习、日志、代码分析等。
- Awesome Python
- 环境管理
- 包管理
- 包仓库
- 分发
- 构建工具
- 交互式解析器
- 文件
- 日期和时间
- 文本处理
- 特殊文本格式处理
- 自然语言处理
- 文档
- 配置
- 命令行工具
- 下载器
- 图像处理
- OCR
- 音频
- Video
- 地理位置
- HTTP
- 数据库
- 数据库驱动
- ORM
- Web 框架
- 权限
- CMS
- 电子商务
- RESTful API
- 验证
- 模板引擎
- Queue
- 搜索
- 动态消息
- 资源管理
- 缓存
- 电子邮件
- 国际化
- URL处理
- HTML处理
- 网页内容提取
- 表单
- 数据验证
- 反垃圾技术
- 标记
- 管理面板
- 静态站点生成器
- 进程
- 并发和并行
- 网络
- WebSocket
- WSGI 服务器
- RPC 服务器
- 密码学
- 图形用户界面
- 游戏开发
- 日志
- Testing
- 代码分析和Lint工具
- Debugging Tools
- Science and Data Analysis
- p:非常简单的交互式 python 版本管理工具。官网
- pyenv:简单的 Python 版本管理工具。官网
- Vex:可以在虚拟环境中执行命令。官网
- virtualenv:创建独立 Python 环境的工具。官网
- virtualenvwrapper:virtualenv 的一组扩展。官网
包管理
管理包和依赖的工具。
- pip:Python 包和依赖关系管理工具。官网
- pip-tools:保证 Python 包依赖关系更新的一组工具。官网
- conda:跨平台,Python 二进制包管理工具。官网
- Curdling:管理 Python 包的命令行工具。官网
- wheel:Python 分发的新标准,意在取代 eggs。官网
包仓库
本地 PyPI 仓库服务和代理。
- warehouse:下一代 PyPI。官网
- Warehouse:PyPA 提供的 PyPI 镜像工具。官网 bandersnatch
- devpi:PyPI 服务和打包/测试/分发工具。官网
- localshop:本地 PyPI 服务(自定义包并且自动对 PyPI 镜像)。官网
分发
打包为可执行文件以便分发。
- PyInstaller:将 Python 程序转换成独立的执行文件(跨平台)。官网
- dh-virtualenv:构建并将 virtualenv 虚拟环境作为一个 Debian 包来发布。官网
- Nuitka:将脚本、模块、包编译成可执行文件或扩展模块。官网
- py2app:将 Python 脚本变为独立软件包(Mac OS X)。官网
- py2exe:将 Python 脚本变为独立软件包(Windows)。官网
- pynsist:一个用来创建 Windows 安装程序的工具,可以在安装程序中打包 Python本身。官网
构建工具
将源码编译成软件。
- buildout:一个构建系统,从多个组件来创建,组装和部署应用。官网
- BitBake:针对嵌入式 Linux 的类似 make 的构建工具。官网
- fabricate:对任何语言自动找到依赖关系的构建工具。官网
- PlatformIO:多平台命令行构建工具。官网
- PyBuilder:纯 Python 实现的持续化构建工具。官网
- SCons:软件构建工具。官网
交互式解析器
交互式 Python 解析器。
- IPython:功能丰富的工具,非常有效的使用交互式 Python。官网
- bpython:界面丰富的 Python 解析器。官网
- ptpython:高级交互式Python解析器, 构建于python-prompt-toolkit 之上。官网
文件
文件管理和 MIME(多用途的网际邮件扩充协议)类型检测。
- imghdr:(Python 标准库)检测图片类型。官网
- mimetypes:(Python 标准库)将文件名映射为 MIME 类型。官网
- path.py:对 os.path 进行封装的模块。官网
- pathlib:(Python3.4+ 标准库)跨平台的、面向对象的路径操作库。官网
- python-magic:文件类型检测的第三方库 libmagic 的 Python 接口。官网
- Unipath:用面向对象的方式操作文件和目录。官网
- watchdog:管理文件系统事件的 API 和 shell 工具官网
日期和时间
操作日期和时间的类库。
- arrow:更好的 Python 日期时间操作类库。官网
- Chronyk:Python 3 的类库,用于解析手写格式的时间和日期。官网
- dateutil:Python datetime 模块的扩展。官网
- delorean:解决 Python 中有关日期处理的棘手问题的库。官网
- moment:一个用来处理时间和日期的Python库。灵感来自于Moment.js。官网
- PyTime:一个简单易用的Python模块,用于通过字符串来操作日期/时间。官网
- pytz:现代以及历史版本的世界时区定义。将时区数据库引入Python。官网
- when.py:提供用户友好的函数来帮助用户进行常用的日期和时间操作。官网
文本处理
用于解析和操作文本的库。
- 通用
- chardet:字符编码检测器,兼容 Python2 和 Python3。官网
- difflib:(Python 标准库)帮助我们进行差异化比较。官网
- ftfy:让Unicode文本更完整更连贯。官网
- fuzzywuzzy:模糊字符串匹配。官网
- Levenshtein:快速计算编辑距离以及字符串的相似度。官网
- pangu.py:在中日韩语字符和数字字母之间添加空格。官网
- yfiglet-figlet:pyfiglet -figlet 的 Python实现。
- shortuuid:一个生成器库,用以生成简洁的,明白的,URL 安全的 UUID。官网
- unidecode:Unicode 文本的 ASCII 转换形式 。官网
- uniout:打印可读的字符,而不是转义的字符串。官网
- xpinyin:一个用于把汉字转换为拼音的库。官网
- simplejson:Python的JSON编码、解码器。官网、GitHub
- Slug化
- 解析器
特殊文本格式处理
一些用来解析和操作特殊文本格式的库。
- 通用
- tablib:一个用来处理中表格数据的模块。官网
- Office
- Marmir:把输入的Python 数据结构转换为电子表单。官网
- openpyxl:一个用来读写 Excel 2010 xlsx/xlsm/xltx/xltm 文件的库。官网
- python-docx:读取,查询以及修改 Microsoft Word 2007/2008 docx 文件。官网
- unoconv:在 LibreOffice/OpenOffice 支持的任意文件格式之间进行转换。官网
- XlsxWriter:一个用于创建 Excel .xlsx 文件的 Python 模块。官网
- xlwings:一个使得在 Excel 中方便调用 Python 的库(反之亦然),基于 BSD 协议。官网
- xlwt:读写 Excel 文件的数据和格式信息。官网 / xlrd
- relatorio:模板化OpenDocument 文件。官网
- Markdown
- YAML
- PyYAML:Python 版本的 YAML 解析器。官网
- CSV
- csvkit:用于转换和操作 CSV 的工具。官网
- Archive
- unp:一个用来方便解包归档文件的命令行工具。官网
自然语言处理
用来处理人类语言的库。
- NLTK:一个先进的平台,用以构建处理人类语言数据的 Python 程序。官网
- jieba:中文分词工具。官网
- langid.py:独立的语言识别系统。官网
- Pattern:Python 网络信息挖掘模块。官网
- SnowNLP:一个用来处理中文文本的库。官网
- TextBlob:为进行普通自然语言处理任务提供一致的 API。官网
- TextGrocery:一简单高效的短文本分类工具,基于 LibLinear 和 Jieba。官网
文档
用以生成项目文档的库。
- Sphinx:Python 文档生成器。官网
- awesome-sphinxdoc:官网
- MkDocs:对 Markdown 友好的文档生成器。官网
- pdoc:一个可以替换Epydoc 的库,可以自动生成 Python 库的 API 文档。官网
- Pycco:文学编程(literate-programming)风格的文档生成器。官网
配置
用来保存和解析配置的库。
- config:logging 模块作者写的分级配置模块。官网
- ConfigObj:INI 文件解析器,带验证功能。官网
- ConfigParser:(Python 标准库) INI 文件解析器。官网
- profig:通过多种格式进行配置,具有数值转换功能。官网
- python-decouple:将设置和代码完全隔离。官网
命令行工具
用于创建命令行程序的库。
- 命令行程序开发
- asciimatics:跨平台,全屏终端包(即鼠标/键盘输入和彩色,定位文本输出),完整的复杂动画和特殊效果的高级API。官网
- cement:Python 的命令行程序框架。官网
- click:一个通过组合的方式来创建精美命令行界面的包。官网
- cliff:一个用于创建命令行程序的框架,可以创建具有多层命令的命令行程序。官网
- clint:Python 命令行程序工具。官网
- colorama:跨平台彩色终端文本。官网
- docopt:Python 风格的命令行参数解析器。官网
- fire:用于自动生成命令行界面的内容库。官网
- Gooey:一条命令,将命令行程序变成一个 GUI 程序。官网
- python-prompt-toolkit:一个用于构建强大的交互式命令行程序的库。官网
- Pythonpy:在命令行中直接执行任何Python指令。官网
- 生产力工具
- aws-cli:Amazon Web Services 的通用命令行界面。官网
- bashplotlib:在终端中进行基本绘图。官网
- caniusepython3:判断是哪个项目妨碍你你移植到 Python 3。官网
- cookiecutter:从 cookiecutters(项目模板)创建项目的一个命令行工具。官网
- doitlive:一个用来在终端中进行现场演示的工具。官网
- howdoi:通过命令行获取即时的编程问题解答。官网
- httpie:一个命令行HTTP 客户端,cURL 的替代品,易用性更好。官网
- PathPicker:从bash输出中选出文件。官网
- percol:向UNIX shell 传统管道概念中加入交互式选择功能。官网
- SAWS:一个加强版的 AWS 命令行。官网
- thefuck:修正你之前的命令行指令。官网
- mycli:一个 MySQL 命令行客户端,具有自动补全和语法高亮功能。官网
- pgcli:Postgres 命令行工具,具有自动补全和语法高亮功能。官网
- try:一个从来没有更简单的命令行工具,用来试用python库。官网
下载器
用来进行下载的库.
- s3cmd:一个用来管理Amazon S3 和 CloudFront 的命令行工具。官网
- s4cmd:超级 S3 命令行工具,性能更加强劲。官网
- you-get:一个 YouTube/Youku/Niconico 视频下载器,使用 Python3 编写。官网
- youtube-dl:一个小巧的命令行程序,用来下载 YouTube 视频。官网
图像处理
用来操作图像的库.
- pillow:Pillow 是一个更加易用版的 PIL。官网
- hmap:图像直方图映射。官网
- imgSeek:一个使用视觉相似性搜索一组图片集合的项目。官网
- nude.py:裸体检测。官网
- pyBarcode:不借助 PIL 库在 Python 程序中生成条形码。官网
- pygram:类似 Instagram 的图像滤镜。官网
- python-qrcode:一个纯 Python 实现的二维码生成器。官网
- Quads:基于四叉树的计算机艺术。官网
- scikit-image:一个用于(科学)图像处理的 Python 库。官网
- thumbor:一个小型图像服务,具有剪裁,尺寸重设和翻转功能。官网
- wand:MagickWand的Python 绑定。MagickWand 是 ImageMagick的 C API 。官网
- face_recognition:简单易用的 python 人脸识别库。官网
OCR
光学字符识别库。
- pyocr:Tesseract 和 Cuneiform 的一个封装(wrapper)。官网
- pytesseract:Google Tesseract OCR 的另一个封装(wrapper)。官网
- python-tesseract – Google Tesseract OCR 的一个包装类。
音频
用来操作音频的库
- audiolazy:Python 的数字信号处理包。官网
- audioread:交叉库 (GStreamer + Core Audio + MAD + FFmpeg) 音频解码。官网
- beets:一个音乐库管理工具及 MusicBrainz 标签添加工具官网
- dejavu:音频指纹提取和识别官网
- django-elastic-transcoder:Django + Amazon Elastic Transcoder。官网
- eyeD3:一个用来操作音频文件的工具,具体来讲就是包含 ID3 元信息的 MP3 文件。官网
- id3reader:一个用来读取 MP3 元数据的 Python 模块。官网
- m3u8:一个用来解析 m3u8 文件的模块。官网
- mutagen:一个用来处理音频元数据的 Python 模块。官网
- pydub:通过简单、简洁的高层接口来操作音频文件。官网
- pyechonest:Echo Nest API 的 Python 客户端官网
- talkbox:一个用来处理演讲/信号的 Python 库官网
- TimeSide:开源 web 音频处理框架。官网
- tinytag:一个用来读取MP3, OGG, FLAC 以及 Wave 文件音乐元数据的库。官网
- mingus:一个高级音乐理论和曲谱包,支持 MIDI 文件和回放功能。官网
Video
用来操作视频和GIF的库。
地理位置
地理编码地址以及用来处理经纬度的库。
- GeoDjango:世界级地理图形 web 框架。官网
- GeoIP:MaxMind GeoIP Legacy 数据库的 Python API。官网
- geojson:GeoJSON 的 Python 绑定及工具。官网
- geopy:Python 地址编码工具箱。官网
- pygeoip:纯 Python GeoIP API。官网
- django-countries:一个 Django 应用程序,提供用于表格的国家选择功能,国旗图标静态文件以及模型中的国家字段。官网
HTTP
使用HTTP的库。
- requests:人性化的HTTP请求库。官网
- grequests:requests 库 + gevent ,用于异步 HTTP 请求.官网
- httplib2:全面的 HTTP 客户端库。官网
- treq:类似 requests 的Python API 构建于 Twisted HTTP 客户端之上。官网
- urllib3:一个具有线程安全连接池,支持文件 post,清晰友好的 HTTP 库。官网
数据库
Python实现的数据库。
- pickleDB:一个简单,轻量级键值储存数据库。官网
- PipelineDB:流式 SQL 数据库。官网
- TinyDB:一个微型的,面向文档型数据库。官网
- ZODB:一个 Python 原生对象数据库。一个键值和对象图数据库。官网
数据库驱动
用来连接和操作数据库的库。
- MySQL:awesome-mysql系列
- mysql-python:Python 的 MySQL 数据库连接器。官网
- ysqlclient:mysql-python 分支,支持 Python 3。
- oursql:一个更好的 MySQL 连接器,支持原生预编译指令和 BLOBs.官网
- PyMySQL:纯 Python MySQL 驱动,兼容 mysql-python。官网
- PostgreSQL
- 其他关系型数据库
- NoSQL 数据库
- cassandra-python-driver:Cassandra 的 Python 驱动。官网
- HappyBase:一个为 Apache HBase 设计的,对开发者友好的库。官网
- Plyvel:一个快速且功能丰富的 LevelDB 的 Python 接口。官网
- py2neo:Neo4j restful 接口的Python 封装客户端。官网
- pycassa:Cassandra 的 Python Thrift 驱动。官网
- PyMongo:MongoDB 的官方 Python 客户端。官网
- redis-py:Redis 的 Python 客户端。官网
- telephus:基于 Twisted 的 Cassandra 客户端。官网
- txRedis:基于 Twisted 的 Redis 客户端。官网
ORM
实现对象关系映射或数据映射技术的库。
- 关系型数据库
- NoSQL 数据库
- 其他
- butterdb:Google Drive 电子表格的 Python ORM。官网
Web 框架
全栈 Web 框架。
- Django:Python 界最流行的 web 框架。官网
- Flask:一个 Python 微型框架。官网
- pyramid:一个小巧,快速,接地气的开源Python web 框架。
- Bottle:一个快速小巧,轻量级的 WSGI 微型 web 框架。官网
- CherryPy:一个极简的 Python web 框架,服从 HTTP/1.1 协议且具有WSGI 线程池。官网
- TurboGears:一个可以扩展为全栈解决方案的微型框架。官网
- web.py:一个 Python 的 web 框架,既简单,又强大。官网
- web2py:一个全栈 web 框架和平台,专注于简单易用。官网
- Tornado:一个web 框架和异步网络库。官网
权限
允许或拒绝用户访问数据或功能的库。
- Carteblanche:Module to align code with thoughts of users and designers. Also magically handles navigation and permissions.官网
- django-guardian:Django 1.2+ 实现了单个对象权限。官网
- django-rules:一个小巧但是强大的应用,提供对象级别的权限管理,且不需要使用数据库。官网
CMS
内容管理系统
- odoo-cms: 一个开源的,企业级 CMS,基于odoo。官网
- django-cms:一个开源的,企业级 CMS,基于 Django。官网
- djedi-cms:一个轻量级但却非常强大的 Django CMS ,考虑到了插件,内联编辑以及性能。官网
- FeinCMS:基于 Django 构建的最先进的内容管理系统之一。官网
- Kotti:一个高级的,Python 范的 web 应用框架,基于 Pyramid 构建。官网
- Mezzanine:一个强大的,持续的,灵活的内容管理平台。官网
- Opps:一个为杂志,报纸网站以及大流量门户网站设计的 CMS 平台,基于 Django。官网
- Plone:一个构建于开源应用服务器 Zope 之上的 CMS。官网
- Quokka:灵活,可扩展的小型 CMS,基于 Flask 和 MongoDB。官网
- Wagtail:一个 Django 内容管理系统。官网
- Widgy:最新的 CMS 框架,基于 Django。官网
电子商务
用于电子商务以及支付的框架和库。
- django-oscar:一个用于 Django 的开源的电子商务框架。官网
- django-shop:一个基于 Django 的店铺系统。官网
- Cartridge:一个基于 Mezzanine 构建的购物车应用。官网
- shoop:一个基于 Django 的开源电子商务平台。官网
- alipay:非官方的 Python 支付宝 API。官网
- merchant:一个可以接收来自多种支付平台支付的 Django 应用。官网
- money:货币类库with optional CLDR-backed locale-aware formatting and an extensible currency exchange solution.官网
- python-currencies:显示货币格式以及它的数值。官网
RESTful API
用来开发RESTful APIs的库
- Django
- django-rest-framework:一个强大灵活的工具,用来构建 web API。官网
- django-tastypie:为Django 应用开发API。官网
- django-formapi:为 Django 的表单验证,创建 JSON APIs 。官网
- Flask
- Pyramid
- cornice:一个Pyramid 的 REST 框架 。官网
- 与框架无关的
验证
实现验证方案的库。
- OAuth
- Authomatic:简单但是强大的框架,身份验证/授权客户端。官网
- django-allauth:Django 的验证应用。官网
- django-oauth-toolkit:为 Django 用户准备的 OAuth2。官网
- django-oauth2-provider:为 Django 应用提供 OAuth2 接入。官网
- Flask-OAuthlib:OAuth 1.0/a, 2.0 客户端实现,供 Flask 使用。官网
- OAuthLib:一个 OAuth 请求-签名逻辑通用、 完整的实现。官网
- python-oauth2:一个完全测试的抽象接口。用来创建 OAuth 客户端和服务端。官网
- python-social-auth:一个设置简单的社会化验证方式。官网
- rauth:OAuth 1.0/a, 2.0, 和 Ofly 的 Python 库。官网
- sanction:一个超级简单的OAuth2 客户端实现。官网
- 其他
模板引擎
模板生成和词法解析的库和工具。
- Jinja2:一个现代的,对设计师友好的模板引擎。官网
- Chameleon:一个 HTML/XML 模板引擎。 模仿了 ZPT(Zope Page Templates), 进行了速度上的优化。官网
- Genshi:Python 模板工具,用以生成 web 感知的结果。官网
- Mako:Python 平台的超高速轻量级模板。官网
Queue
处理事件以及任务队列的库。
- celery:一个异步任务队列/作业队列,基于分布式消息传递。官网
- huey:小型多线程任务队列。官网
- mrq:Mr. Queue -一个 Python 的分布式 worker 任务队列, 使用 Redis 和 gevent。官网
- rq:简单的 Python 作业队列。官网
- simpleq:一个简单的,可无限扩张的,基于亚马逊 SQS 的队列。官网
搜索
对数据进行索引和执行搜索查询的库和软件。
- django-haystack:Django 模块化搜索。官网
- elasticsearch-py:Elasticsearch 的官方底层 Python 客户端。官网
- elasticsearch-dsl-py:Elasticsearch 的官方高级 Python 客户端。官网
- solrpy:solr的 Python 客户端。官网
- Whoosh:一个快速的纯 Python 搜索引擎库。官网
动态消息
用来创建用户活动的库。
资源管理
管理、压缩、缩小网站资源的工具。
- django-compressor:将链接和内联的 JavaScript 或 CSS 压缩到一个单独的缓存文件中。官网
- django-storages:一个针对 Django 的自定义存储后端的工具集合。官网
- fanstatic:打包、优化,并且把静态文件依赖作为 Python 的包来提供。官网
- File Conveyor:一个后台驻留的程序,用来发现和同步文件到 CDNs, S3 和 FTP。官网
- Flask-Assets:帮你将 web 资源整合到你的 Flask app 中。官网
- jinja-assets-compressor:一个 Jinja 扩展,用来编译和压缩你的资源。官网
- webassets:为你的静态资源打包、优化和管理生成独一无二的缓存 URL。官网
缓存
缓存数据的库。
- Beaker:一个缓存和会话库,可以用在 web 应用和独立 Python脚本和应用上。官网
- django-cache-machine:Django 模型的自动缓存和失效。官网
- django-cacheops:具有自动颗粒化事件驱动失效功能的 ORM。官网
- django-viewlet:渲染模板,同时具有额外的缓存控制功能。官网
- dogpile.cache:dogpile.cache 是 Beaker 的下一代替代品,由同一作者开发。官网
- HermesCache:Python 缓存库,具有基于标签的失效和 dogpile effect 保护功能。官网
- johnny-cache:django应用缓存框架。官网
- pylibmc:libmemcached 接口的 Python 封装。官网
电子邮件
用来发送和解析电子邮件的库。
- django-celery-ses:带有 AWS SES 和 Celery 的 Django email 后端。官网
- envelopes:供人类使用的电子邮件库。官网
- flanker:一个 email 地址和 Mime 解析库。官网
- imbox:Python IMAP 库官网
- inbox.py:Python SMTP 服务器。官网
- inbox:一个开源电子邮件工具箱。官网
- lamson:Python 风格的 SMTP 应用服务器。官网
- mailjet:Mailjet API 实现,用来提供批量发送邮件,统计等功能。官网
- marrow.mailer:高性能可扩展邮件分发框架。官网
- modoboa:一个邮件托管和管理平台,具有现代的、简约的 Web UI。官网
- pyzmail:创建,发送和解析电子邮件。官网
- Talon:Mailgun 库,用来抽取信息和签名。官网
国际化
用来进行国际化的库。
URL处理
解析URLs的库
- furl:一个让处理 URL 更简单小型 Python 库。官网
- purl:一个简单的,不可变的URL类,具有简洁的 API 来进行询问和处理。官网
- pyshorteners:一个纯 Python URL 缩短库。官网
- shorturl:生成短小 URL 和类似 bit.ly 短链的Python 实现。官网
- webargs:一个解析 HTTP 请求参数的库,内置对流行 web 框架的支持,包括 Flask, Django, Bottle, Tornado和 Pyramid。官网
HTML处理
处理 HTML和XML的库。
- BeautifulSoup:以 Python 风格的方式来对 HTML 或 XML 进行迭代,搜索和修改。官网
- bleach:一个基于白名单的 HTML 清理和文本链接库。官网
- cssutils:一个 Python 的 CSS 库。官网
- html5lib:一个兼容标准的 HTML 文档和片段解析及序列化库。官网
- lxml:一个非常快速,简单易用,功能齐全的库,用来处理 HTML 和 XML。官网
- MarkupSafe:为Python 实现 XML/HTML/XHTML 标记安全字符串。官网
- pyquery:一个解析 HTML 的库,类似 jQuery。官网
- untangle:将XML文档转换为Python对象,使其可以方便的访问。官网
- xhtml2pdf:HTML/CSS 转 PDF 工具。官网
- xmltodict:像处理 JSON 一样处理 XML。官网
爬取网络站点的库
- Scrapy:一个快速高级的屏幕爬取及网页采集框架。官网
- cola:一个分布式爬虫框架。官网
- Demiurge:基于PyQuery 的爬虫微型框架。官网
- feedparser:通用 feed 解析器。官网
- Grab:站点爬取框架。官网
- MechanicalSoup:用于自动和网络站点交互的 Python 库。官网
- portia:Scrapy 可视化爬取。官网
- pyspider:一个强大的爬虫系统。官网
- RoboBrowser:一个简单的,Python 风格的库,用来浏览网站,而不需要一个独立安装的浏览器。官网
网页内容提取
用于进行网页内容提取的库。
- Haul:一个可以扩展的图像爬取工具。官网
- html2text:将 HTML 转换为 Markdown 格式文本官网
- lassie:人性化的网页内容检索库。官网
- micawber:一个小型网页内容提取库,用来从 URLs 提取富内容。官网
- newspaper:使用 Python 进行新闻提取,文章提取以及内容策展。官网
- opengraph:一个用来解析开放内容协议(Open Graph Protocol)的 Python模块。官网
- python-goose:HTML内容/文章提取器。官网
- python-readability:arc90 公司 readability 工具的 Python 高速端口。官网
- sanitize:为杂乱的数据世界带来调理性。官网
- sumy:一个为文本文件和 HTML 页面进行自动摘要的模块。官网
- textract:从任何格式的文档中提取文本,Word,PowerPoint,PDFs 等等。官网
表单
进行表单操作的库。
- Deform:Python HTML 表单生成库,受到了 formish 表单生成库的启发。官网
- django-bootstrap3:集成了 Bootstrap 3 的 Django。官网
- django-crispy-forms:一个 Django 应用,他可以让你以一种非常优雅且 DRY(Don’t repeat yourself) 的方式来创建美观的表单。官网
- django-remote-forms:一个平台独立的 Django 表单序列化工具。官网
- WTForms:一个灵活的表单验证和呈现库。官网
- WTForms-JSON:一个 WTForms 扩展,用来处理 JSON 数据。官网
数据验证
数据验证库。多用于表单验证。
- Cerberus:A mappings-validator with a variety of rules, normalization-features and simple customization that uses a pythonic schema-definition.官网
- colander:一个用于对从 XML, JSON,HTML 表单获取的数据或其他同样简单的序列化数据进行验证和反序列化的系统。官网
- kmatch:一种用于匹配/验证/筛选 Python 字典的语言。官网
- schema:一个用于对 Python 数据结构进行验证的库。官网
- Schematics:数据结构验证。官网
- valideer:轻量级可扩展的数据验证和适配库。官网
- voluptuous:一个 Python 数据验证库。主要是为了验证传入 Python的 JSON,YAML 等数据。官网
反垃圾技术
帮助你和电子垃圾进行战斗的库。
- django-simple-captcha:一个简单、高度可定制的Django 应用,可以为任何Django表单添加验证码。官网
- django-simple-spam-blocker:一个用于Django的简单的电子垃圾屏蔽工具。官网
标记
用来进行标记的库。
- django-taggit:简单的 Django 标记工具。官网
管理面板
管理界面库。
- Ajenti:一个你的服务器值得拥有的管理面板。官网
- django-suit:Django 管理界面的一个替代品 (仅对于非商业用途是免费的)。官网
- django-xadmin:Django admin 的一个替代品,具有很多不错的功能。官网
- flask-admin:一个用于 Flask 的简单可扩展的管理界面框架。官网
- flower:一个对 Celery 集群进行实时监控和提供 web 管理界面的工具。官网
- Grappelli:Django 管理界面的一个漂亮的皮肤。官网
- Wooey:一个 Django 应用,可以为 Python 脚本创建 web 用户界面。官网
静态站点生成器
静态站点生成器是一个软件,它把文本和模板作为输入,然后输出HTML文件。
- Pelican:使用 Markdown 或 ReST 来处理内容, Jinja 2 来制作主题。支持 DVCS, Disqus.。AGPL 许可。官网
- Cactus:为设计师设计的静态站点生成器。官网
- Hyde:基于 Jinja2 的静态站点生成器。官网
- Nikola:一个静态网站和博客生成器。官网
- Tinkerer:Tinkerer 是一个博客引擎/静态站点生成器,由Sphinx驱动。官网
- Lektor:一个简单易用的静态 CMS 和博客引擎。官网
进程
操作系统进程启动及通信库。
- envoy:比 Python subprocess 模块更人性化。官网
- sarge:另一 种 subprocess 模块的封装。官网
- sh:一个完备的 subprocess 替代库。官网
并发和并行
用以进行并发和并行操作的库。
- multiprocessing:(Python 标准库) 基于进程的“线程”接口。官网
- threading:(Python 标准库)更高层的线程接口。官网
- eventlet:支持 WSGI 的异步框架。官网
- gevent:一个基于协程的 Python 网络库,使用greenlet。官网
- Tomorrow:用于产生异步代码的神奇的装饰器语法实现。官网
- uvloop:在libuv之上超快速实现asyncio事件循环。官网
网络
用于网络编程的库。
- asyncio:(Python 标准库) 异步 I/O, 事件循环, 协程以及任务。官网
- Twisted:一个事件驱动的网络引擎。官网
- pulsar:事件驱动的并发框架。官网
- diesel:基于Greenlet 的事件 I/O 框架。官网
- pyzmq:一个 ZeroMQ 消息库的 Python 封装。官网
- txZMQ:基于 Twisted 的 ZeroMQ 消息库的 Python 封装。官网
WebSocket
帮助使用WebSocket的库。
- AutobahnPython:给 Python 、使用的 WebSocket & WAMP 基于 Twisted 和 asyncio。官网
- Crossbar:开源统一应用路由(Websocket & WAMP for Python on Autobahn).官网
- django-socketio:给 Django 用的 WebSockets。官网
- WebSocket-for-Python:为Python2/3 以及 PyPy 编写的 WebSocket 客户端和服务器库。官网
WSGI 服务器
兼容 WSGI 的 web 服务器
- gunicorn:Pre-forked, 部分是由 C 语言编写的。官网
- uwsgi:uwsgi 项目的目的是开发一组全栈工具,用来建立托管服务, 由 C 语言编写。官网
- bjoern:异步,非常快速,由 C 语言编写。官网
- fapws3:异步 (仅对于网络端),由 C 语言编写。官网
- meinheld:异步,部分是由 C 语言编写的。官网
- netius:异步,非常快速。官网
- paste:多线程,稳定,久经考验。官网
- rocket:多线程。官网
- waitress:多线程, 是它驱动着 Pyramid 框架。官网
- Werkzeug:一个 WSGI 工具库,驱动着 Flask ,而且可以很方便大嵌入到你的项目中去。官网
RPC 服务器
兼容 RPC 的服务器。
- SimpleJSONRPCServer:这个库是 JSON-RPC 规范的一个实现。官网
- SimpleXMLRPCServer:(Python 标准库) 简单的 XML-RPC 服务器实现,单线程。官网
- zeroRPC:zerorpc 是一个灵活的 RPC 实现,基于 ZeroMQ 和 MessagePack。官网
密码学
- cryptography:这个软件包意在提供密码学基本内容和方法提供给 Python 开发者。官网
- hashids:在 Python 中实现 hashids 。官网
- Paramiko:SSHv2 协议的 Python (2.6+, 3.3+) ,提供客户端和服务端的功能。官网
- Passlib:安全密码存储/哈希库,官网
- PyCrypto:Python 密码学工具箱。官网
- PyNacl:网络和密码学(NaCl) 库的 Python 绑定。官网
图形用户界面
用来创建图形用户界面程序的库。
- curses:内建的 ncurses 封装,用来创建终端图形用户界面。官网
- enaml:使用类似 QML 的Declaratic语法来创建美观的用户界面。官网
- kivy:一个用来创建自然用户交互(NUI)应用程序的库,可以运行在 Windows, Linux, Mac OS X, Android 以及 iOS平台上。官网
- pyglet:一个Python 的跨平台窗口及多媒体库。官网
- PyQt:跨平台用户界面框架 Qt 的 Python 绑定 ,支持Qt v4 和 Qt v5。官网
- PySide:P跨平台用户界面框架 Qt 的 Python 绑定 ,支持Qt v4。官网
- Tkinter:Tkinter 是 Python GUI 的一个事实标准库。官网
- Toga:一个 Python 原生的, 操作系统原生的 GUI 工具包。官网
- urwid:一个用来创建终端 GUI 应用的库,支持组件,事件和丰富的色彩等。官网
- wxPython:wxPython 是 wxWidgets C++ 类库和 Python 语言混合的产物。官网
- PyGObject:GLib/GObject/GIO/GTK+ (GTK+3) 的 Python 绑定官网
- Flexx:Flexx 是一个纯 Python 语言编写的用来创建 GUI 程序的工具集,它使用 web 技术进行界面的展示。官网
游戏开发
超赞的游戏开发库。
- Cocos2d:cocos2d 是一个用来开发 2D 游戏, 示例和其他图形/交互应用的框架。基于 pyglet。官网
- Panda3D:由迪士尼开发的 3D 游戏引擎,并由卡内基梅陇娱乐技术中心负责维护。使用C++编写, 针对 Python 进行了完全的封装。官网
- Pygame:Pygame 是一组 Python 模块,用来编写游戏。官网
- PyOgre:Ogre 3D 渲染引擎的 Python 绑定,可以用来开发游戏和仿真程序等任何 3D 应用。官网
- PyOpenGL:OpenGL 的 Python 绑定及其相关 APIs。官网
- PySDL2:SDL2 库的封装,基于 ctypes。官网
- RenPy:一个视觉小说(visual novel)引擎。官网
日志
用来生成和操作日志的库。
- logging:(Python 标准库) 为 Python 提供日志功能。官网
- logbook:Logging 库的替代品。官网
- Eliot:为复杂的和分布式系统创建日志。官网
- Raven:Sentry的 Python 客户端。官网
- Sentry:实时记录和收集日志的服务器。官网
Testing
进行代码库测试和生成测试数据的库。
- 测试框架
- unittest:(Python 标准库) 单元测试框架。官网
- nose:nose 扩展了 unittest 的功能。官网
- contexts:一个 Python 3.3+ 的 BDD 框架。受到C# – Machine.Specifications的启发。官网
- hypothesis:Hypothesis 是一个基于先进的 Quickcheck 风格特性的测试库。官网
- mamba:Python 的终极测试工具, 拥护BDD。官网
- PyAutoGUI:PyAutoGUI 是一个人性化的跨平台 GUI 自动测试模块。官网
- pyshould:Should 风格的断言,基于 PyHamcrest。官网
- pytest:一个成熟的全功能 Python 测试工具。官网
- green:干净,多彩的测试工具。官网
- pyvows:BDD 风格的测试工具,受Vows.js的启发。官网–
- Robot Framework:一个通用的自动化测试框架。官网
- Web 测试
- Mock测试
- 对象工厂
- 代码覆盖率
- 伪数据
- 错误处理
- FuckIt.py:FuckIt.py 使用最先进的技术来保证你的 Python 代码无论对错都能继续运行。官网
代码分析和Lint工具
进行代码分析,解析和操作代码库的库和工具。
- 代码分析
- Lint工具
- 代码格式化
- autopep8:自动格式化 Python 代码,以使其符合 PEP8 规范。官网
Debugging Tools
用来进行代码调试的库。
- 调试器
- ipdb:IPython 启用的 pdb。官网
- pudb:全屏,基于控制台的 Python 调试器。官网
- pyringe:可以在 Python 进程中附加和注入代码的调试器。官网
- wdb:一个奇异的 web 调试器,通过 WebSockets 工作。官网
- winpdb:一个具有图形用户界面的 Python 调试器,可以进行远程调试,基于 rpdb2。官网
- django-debug-toolbar:为 Django 显示各种调试信息。官网
- django-devserver:一个 Django 运行服务器的替代品。官网
- flask-debugtoolbar:django-debug-toolbar 的 flask 版。官网
- 性能分析器
- lineprofiler:逐行性能分析。官网
- Memory Profiler:监控 Python 代码的内存使用。官网、内存
- profiling:一个交互式 Python 性能分析工具。官网
- 其他
Science and Data Analysis
用来进行科学计算和数据分析的库。
- astropy:一个天文学 Python 库。官网
- bcbio-nextgen:这个工具箱为全自动高通量测序分析提供符合最佳实践的处理流程。官网
- bccb:生物分析相关代码集合官网
- Biopython:Biopython 是一组可以免费使用的用来进行生物计算的工具。官网
- blaze:NumPy 和 Pandas 的大数据接口。官网
- cclib:一个用来解析和解释计算化学软件包输出结果的库。官网
- NetworkX:一个为复杂网络设计的高性能软件。官网
- Neupy:执行和测试各种不同
原创文章,转载请注明: 转载自URl-team
本文链接地址: 哪些 Python 库让你相见恨晚?
No related posts.