Python 常用库总结(2)

模板引擎

模板生成和词法解析的库和工具。

  • 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-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:一个 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 库,用来抽取信息和签名。官网

国际化

用来进行国际化的库。

  • Babel:一个Python 的国际化库。官网

  • Korean:一个韩语词态库。官网

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 绑定。官网

推荐阅读更多精彩内容