-
+
学习指南
@@ -1590,14 +1642,15 @@
Python 资源大全中文版
我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理。awesome-python 是 vinta 发起维护的 Python 资源列表,内容包括:Web 框架、网络爬虫、网络内容提取、模板引擎、数据库、数据可视化、图片处理、文本处理、自然语言处理、机器学习、日志、代码分析等。由伯乐在线持续更新。
Awesome 系列虽然挺全,但基本只对收录的资源做了极为简要的介绍,如果有更详细的中文介绍,对相应开发者的帮助会更大。这也是我们发起这个开源项目的初衷。
-我们要做什么?
+关于项目
+我们要做什么?
-如何为列表贡献新资源?
+如何为列表贡献新资源?
欢迎大家为列表贡献高质量的新资源,提交 PR 时请参照以下要求:
- 请确保推荐的资源自己使用过
@@ -1605,13 +1658,14 @@
资源列表管理收到 PR 请求后,会定期(每周)在微博转发本周提交的 PR 列表,并在微博上面听取使用过这些资源的意见。确认通过后,会加入资源大全。
感谢您的贡献!
-本项目的参与者
+本项目的参与者
注:名单不分排名,不定期补充更新
-环境管理
+资源列表
+环境管理
管理 Python 版本和环境的工具
- p:非常简单的交互式 python 版本管理工具。官网
@@ -1620,7 +1674,7 @@
- virtualenv:创建独立 Python 环境的工具。官网
- virtualenvwrapper:virtualenv 的一组扩展。官网
-包管理
+包管理
管理包和依赖的工具。
- pip:Python 包和依赖关系管理工具。官网
@@ -1630,7 +1684,7 @@
- Curdling:管理 Python 包的命令行工具。官网
- wheel:Python 分发的新标准,意在取代 eggs。官网
-包仓库
+包仓库
本地 PyPI 仓库服务和代理。
- warehouse:下一代 PyPI。官网
@@ -1638,7 +1692,7 @@
- devpi:PyPI 服务和打包/测试/分发工具。官网
- localshop:本地 PyPI 服务(自定义包并且自动对 PyPI 镜像)。官网
-分发
+分发
打包为可执行文件以便分发。
- PyInstaller:将 Python 程序转换成独立的执行文件(跨平台)。官网
@@ -1648,7 +1702,7 @@
- py2exe:将 Python 脚本变为独立软件包(Windows)。官网
- pynsist:一个用来创建 Windows 安装程序的工具,可以在安装程序中打包 Python 本身。官网
-构建工具
+构建工具
将源码编译成软件。
- buildout:一个构建系统,从多个组件来创建,组装和部署应用。官网
@@ -1658,14 +1712,14 @@
- PyBuilder:纯 Python 实现的持续化构建工具。官网
- SCons:软件构建工具。官网
-交互式解析器
+交互式解析器
交互式 Python 解析器。
-文件
+文件
文件管理和 MIME(多用途的网际邮件扩充协议)类型检测。
- aiofiles:基于 asyncio,提供文件异步操作。官网
@@ -1677,7 +1731,7 @@
- Unipath:用面向对象的方式操作文件和目录。官网
- watchdog:管理文件系统事件的 API 和 shell 工具。官网
-日期和时间
+日期和时间
操作日期和时间的类库。
- arrow:更好的 Python 日期时间操作类库。官网
@@ -1691,7 +1745,7 @@
- pytz:现代以及历史版本的世界时区定义。将时区数据库引入 Python。官网
- when.py:提供用户友好的函数来帮助用户进行常用的日期和时间操作。官网
-文本处理
+文本处理
用于解析和操作文本的库。
- 通用
@@ -1708,6 +1762,7 @@
- uniout:打印可读的字符,而不是转义的字符串。官网
- xpinyin:一个用于把汉字转换为拼音的库。官网
- yfiglet-figlet:pyfiglet -figlet 的 Python 实现。
+- flashtext: 一个高效的文本查找替换库。官网
- Slug 化
-特殊文本格式处理
+特殊文本格式处理
一些用来解析和操作特殊文本格式的库。
-自然语言处理
+自然语言处理
用来处理人类语言的库。
- NLTK:一个先进的平台,用以构建处理人类语言数据的 Python 程序。官网
@@ -1783,7 +1838,7 @@
- TextGrocery:一简单高效的短文本分类工具,基于 LibLinear 和 Jieba。官网
- thulac:清华大学自然语言处理与社会人文计算实验室研制推出的一套中文词法分析工具包官网
-文档
+文档
用以生成项目文档的库。
- Sphinx:Python 文档生成器。官网
@@ -1793,7 +1848,7 @@
- Pycco:文学编程(literate-programming)风格的文档生成器。官网
- readthedocs:一个基于 Sphinx/MkDocs 的在线文档托管系统,对开源项目免费开放使用。官网
-配置
+配置
用来保存和解析配置的库。
- config:logging 模块作者写的分级配置模块。官网
@@ -1802,7 +1857,7 @@
- profig:通过多种格式进行配置,具有数值转换功能。官网
- python-decouple:将设置和代码完全隔离。官网
-命令行工具
+命令行工具
用于创建命令行程序的库。
-下载器
+下载器
用来进行下载的库.
- s3cmd:一个用来管理 Amazon S3 和 CloudFront 的命令行工具。官网
@@ -1846,7 +1901,7 @@
- you-get:一个 YouTube/Youku/Niconico 视频下载器,使用 Python3 编写。官网
- youtube-dl:一个小巧的命令行程序,用来下载 YouTube 视频。官网
-图像处理
+图像处理
用来操作图像的库.
-音频
+音频
用来操作音频的库
- audiolazy:Python 的数字信号处理包。官网
@@ -1894,7 +1949,7 @@
- moviepy:一个用来进行基于脚本的视频编辑模块,适用于多种格式,包括动图 GIFs。官网
- scikit-video:SciPy 视频处理常用程序。官网
-地理位置
+地理位置
地理编码地址以及用来处理经纬度的库。
- GeoDjango:世界级地理图形 web 框架。官网
@@ -1912,7 +1967,7 @@
httplib2:全面的 HTTP 客户端库。官网
treq:类似 requests 的 Python API 构建于 Twisted HTTP 客户端之上。官网
urllib3:一个具有线程安全连接池,支持文件 post,清晰友好的 HTTP 库。官网
-数据库
+数据库
Python 实现的数据库。
- pickleDB:一个简单,轻量级键值储存数据库。官网
@@ -1920,7 +1975,7 @@
- TinyDB:一个微型的,面向文档型数据库。官网
- ZODB:一个 Python 原生对象数据库。一个键值和对象图数据库。官网
-数据库驱动
+数据库驱动
用来连接和操作数据库的库。
- MySQL:awesome-mysql 系列
@@ -2007,7 +2062,7 @@
- Tornado:一个 web 框架和异步网络库。官网
- sanic:基于 Python3.5+ 的异步网络框架。官网
-权限
+权限
允许或拒绝用户访问数据或功能的库。
- Carteblanche:站在用户和设计者角度开发的一个代码对齐模块,很好地处理了代码导航及权限。官网
@@ -2029,7 +2084,7 @@
- Wagtail:一个 Django 内容管理系统。官网
- Widgy:最新的 CMS 框架,基于 Django。官网
-电子商务
+电子商务
用于电子商务以及支付的框架和库。
- django-oscar:一个用于 Django 的开源的电子商务框架。官网
@@ -2070,7 +2125,7 @@
-验证
+验证
实现验证方案的库。
-模板引擎
+模板引擎
模板生成和词法解析的库和工具。
- Jinja2:一个现代的,对设计师友好的模板引擎。官网
@@ -2102,7 +2157,7 @@
- Genshi:Python 模板工具,用以生成 web 感知的结果。官网
- Mako:Python 平台的超高速轻量级模板。官网
-队列
+队列
处理事件以及任务队列的库。
- celery:一个异步任务队列/作业队列,基于分布式消息传递。官网
@@ -2111,7 +2166,7 @@
- rq:简单的 Python 作业队列。官网
- simpleq:一个简单的,可无限扩张的,基于亚马逊 SQS 的队列。官网
-搜索
+搜索
对数据进行索引和执行搜索查询的库和软件。
- django-haystack:Django 模块化搜索。官网
@@ -2120,13 +2175,13 @@
- solrpy:solr 的 Python 客户端。官网
- Whoosh:一个快速的纯 Python 搜索引擎库。官网
-动态消息
+动态消息
用来创建用户活动的库。
- django-activity-stream:从你的站点行为中生成通用活动信息流。官网
- Stream-Framework:使用 Cassandra 和 Redis 创建动态消息和通知系统。官网
-资源管理
+资源管理
管理、压缩、缩小网站资源的工具。
- django-compressor:将链接和内联的 JavaScript 或 CSS 压缩到一个单独的缓存文件中。官网
@@ -2137,7 +2192,7 @@
- jinja-assets-compressor:一个 Jinja 扩展,用来编译和压缩你的资源。官网
- webassets:为你的静态资源打包、优化和管理生成独一无二的缓存 URL。官网
-缓存
+缓存
缓存数据的库。
- Beaker:一个缓存和会话库,可以用在 web 应用和独立 Python 脚本和应用上。官网
@@ -2149,7 +2204,7 @@
- johnny-cache:django 应用缓存框架。官网
- pylibmc:libmemcached 接口的 Python 封装。官网
-电子邮件
+电子邮件
用来发送和解析电子邮件的库。
- django-celery-ses:带有 AWS SES 和 Celery 的 Django email 后端。官网
@@ -2165,7 +2220,7 @@
- pyzmail:创建,发送和解析电子邮件。官网
- Talon:Mailgun 库,用来抽取信息和签名。官网
-国际化
+国际化
用来进行国际化的库。
- Babel:一个 Python 的国际化库。官网
@@ -2207,7 +2262,7 @@
- pyspider:一个强大的爬虫系统。官网
- RoboBrowser:一个简单的,Python 风格的库,用来浏览网站,而不需要一个独立安装的浏览器。官网
-网页内容提取
+网页内容提取
用于进行网页内容提取的库。
- Haul:一个可以扩展的图像爬取工具。官网
@@ -2222,7 +2277,7 @@
- sumy:一个为文本文件和 HTML 页面进行自动摘要的模块。官网
- textract:从任何格式的文档中提取文本,Word,PowerPoint,PDFs 等等。官网
-表单
+表单
进行表单操作的库。
- Deform:Python HTML 表单生成库,受到了 formish 表单生成库的启发。官网
@@ -2232,7 +2287,7 @@
- WTForms:一个灵活的表单验证和呈现库。官网
- WTForms-JSON:一个 WTForms 扩展,用来处理 JSON 数据。官网
-数据验证
+数据验证
数据验证库。多用于表单验证。
- Cerberus:一个映射验证器(mappings-validator)。支持多种规则,提供归一化功能,可以方便地定制为 Python 风格的 schema 定义。官网
@@ -2242,22 +2297,23 @@
- Schematics:数据结构验证。官网
- valideer:轻量级可扩展的数据验证和适配库。官网
- voluptuous:一个 Python 数据验证库。主要是为了验证传入 Python 的 JSON,YAML 等数据。官网
+- jsonschema:JSON Schema的python实现,用于JSON数据的验证。官网
-反垃圾技术
+反垃圾技术
帮助你和电子垃圾进行战斗的库。
- django-simple-captcha:一个简单、高度可定制的 Django 应用,可以为任何 Django 表单添加验证码。官网
- django-simple-spam-blocker:一个用于 Django 的简单的电子垃圾屏蔽工具。官网
-标记
+标记
用来进行标记的库。
- django-taggit:简单的 Django 标记工具。官网
-管理面板
+管理面板
管理界面库。
-- Ajenti:一个你的服务器值得拥有的管理面板。官网
+- Ajenti:一个你的服务器值得拥有的管理面板。官网
- django-suit:Django 管理界面的一个替代品 (仅对于非商业用途是免费的)。官网
- django-xadmin:Django admin 的一个替代品,具有很多不错的功能。官网
- flask-admin:一个用于 Flask 的简单可扩展的管理界面框架。官网
@@ -2265,7 +2321,7 @@
- Grappelli:Django 管理界面的一个漂亮的皮肤。官网
- Wooey:一个 Django 应用,可以为 Python 脚本创建 web 用户界面。官网
-静态站点生成器
+静态站点生成器
静态站点生成器是一个软件,它把文本和模板作为输入,然后输出 HTML 文件。
- Pelican:使用 Markdown 或 ReST 来处理内容, Jinja 2 来制作主题。支持 DVCS, Disqus.。AGPL 许可。官网
@@ -2275,14 +2331,14 @@
- Tinkerer:Tinkerer 是一个博客引擎/静态站点生成器,由 Sphinx 驱动。官网
- Lektor:一个简单易用的静态 CMS 和博客引擎。官网
-进程
+进程
操作系统进程启动及通信库。
- envoy:比 Python subprocess 模块更人性化。官网
- sarge:另一 种 subprocess 模块的封装。官网
- sh:一个完备的 subprocess 替代库。官网
-并发和并行
+并发和并行
用以进行并发和并行操作的库。
- multiprocessing:(Python 标准库) 基于进程的“线程”接口。官网
@@ -2292,7 +2348,7 @@
- Tomorrow:用于产生异步代码的神奇的装饰器语法实现。官网
- uvloop:在 libuv 之上超快速实现 asyncio 事件循环。官网
-网络
+网络
用于网络编程的库。
- asyncio:(Python 标准库) 异步 I/O, 事件循环, 协程以及任务。官网
@@ -2332,7 +2388,7 @@
- SimpleXMLRPCServer:(Python 标准库) 简单的 XML-RPC 服务器实现,单线程。官网
- zeroRPC:zerorpc 是一个灵活的 RPC 实现,基于 ZeroMQ 和 MessagePack。官网
-密码学
+密码学
- cryptography:这个软件包意在提供密码学基本内容和方法提供给 Python 开发者。官网
- hashids:在 Python 中实现 hashids 。官网
@@ -2341,7 +2397,7 @@
- PyCrypto:Python 密码学工具箱。官网
- PyNacl:网络和密码学(NaCl) 库的 Python 绑定。官网
-图形用户界面
+图形用户界面
用来创建图形用户界面程序的库。
- curses:内建的 ncurses 封装,用来创建终端图形用户界面。官网
@@ -2357,7 +2413,7 @@
- PyGObject:GLib/GObject/GIO/GTK+ (GTK+3) 的 Python 绑定。官网
- Flexx:Flexx 是一个纯 Python 语言编写的用来创建 GUI 程序的工具集,它使用 web 技术进行界面的展示。官网
-游戏开发
+游戏开发
超赞的游戏开发库。
- Cocos2d:cocos2d 是一个用来开发 2D 游戏, 示例和其他图形/交互应用的框架。基于 pyglet。官网
@@ -2368,7 +2424,7 @@
- PySDL2:SDL2 库的封装,基于 ctypes。官网
- RenPy:一个视觉小说(visual novel)引擎。官网
-日志
+日志
用来生成和操作日志的库。
- logging:(Python 标准库) 为 Python 提供日志功能。官网
@@ -2377,7 +2433,7 @@
- Raven:Sentry 的 Python 客户端。官网
- Sentry:实时记录和收集日志的服务器。官网
-测试
+测试
进行代码库测试和生成测试数据的库。
-调试工具
+调试工具
用来进行代码调试的库。
-科学计算和数据分析
+科学计算和数据分析
用来进行科学计算和数据分析的库。
-数据可视化
+数据可视化
进行数据可视化的库。 参见: awesome-javascript。
- matplotlib:一个 Python 2D 绘图库。官网
@@ -2523,7 +2579,7 @@
- vincent:把 Python 转换为 Vega 语法的转换工具。官网
- VisPy:基于 OpenGL 的高性能科学可视化工具。官网
-计算机视觉
+计算机视觉
计算机视觉库。
-机器学习
+机器学习
机器学习库。 参见: awesome-machine-learning.
- Caffe: 一个 Caffe 的 python 接口。官网
@@ -2564,7 +2620,7 @@
- PySpark:Spark 的 Python API 。官网
- streamparse:运行针对事实数据流的 Python 代码。集成了 Apache Storm。官网
-函数式编程
+函数式编程
使用 Python 进行函数式编程。
- CyToolz:Toolz 的 Cython 实现 : 高性能函数式工具。官网
@@ -2602,7 +2658,7 @@
- psutil:一个跨平台进程和系统工具模块。官网
- supervisor:UNIX 的进程控制系统。官网
-任务调度
+任务调度
任务调度库。
- APScheduler:轻巧但强大的进程内任务调度,使你可以调度函数。官网
@@ -2617,7 +2673,7 @@
* AirFlow:Airflow 是Airbnb公司开源的,是一个工作流分配管理系统,通过有向非循环图的方式管理任务流程,设置任务依赖关系和时间调度。官方