GitHub 上有一个 Awesome - XXX 系列的资源整理,资源非常丰富,涉及面非常广。awesome-python 是 vinta 发起维护的 Python 资源列表,内容包括:Web框架、网络爬虫、网络内容提取、模板引擎、数据库、数据可视化、图片处理、文本处理、自然语言处理、机器学习、日志、代码分析等。
具体内容
环境管理
管理 Python 版本和环境的工具
-
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。官网
-
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:提供用户友好的函数来帮助用户进行常用的日期和时间操作。官网
文本处理
用于解析和操作文本的库。
-
通用
-
difflib:(Python 标准库)帮助我们进行差异化比较。官网
-
ftfy:让Unicode文本更完整更连贯。官网
-
fuzzywuzzy:模糊字符串匹配。官网
-
Levenshtein:快速计算编辑距离以及字符串的相似度。官网
-
pangu.py:在中日韩语字符和数字字母之间添加空格。官网
-
yfiglet-figlet:pyfiglet -figlet 的 Python实现。
-
shortuuid:一个生成器库,用以生成简洁的,明白的,URL 安全的 UUID。官网
-
unidecode:Unicode 文本的 ASCII 转换形式 。官网
-
uniout:打印可读的字符,而不是转义的字符串。官网
-
xpinyin:一个用于把汉字转换为拼音的库。官网
-
Slug化
-
awesome-slugify:一个 Python slug 化库,可以保持 Unicode。官网
-
python-slugify:Python slug 化库,可以把 unicode 转化为 ASCII。官网
-
unicode-slugify:一个 slug 工具,可以生成 unicode slugs ,需要依赖 Django 。官网
-
解析器
-
phonenumbers:解析,格式化,储存,验证电话号码。官网
-
PLY:lex 和 yacc 解析工具的 Python 实现。官网
-
Pygments:通用语法高亮工具。官网
-
pyparsing:生成通用解析器的框架。官网
-
python-nameparser:把一个人名分解为几个独立的部分。官网
-
python-user-agents:浏览器 user agent 解析器。官网
-
sqlparse:一个无验证的 SQL 解析器。官网
特殊文本格式处理
一些用来解析和操作特殊文本格式的库。
-
通用
-
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 协议。官网
-
relatorio:模板化OpenDocument 文件。官网
-
PDF
-
PDFMiner:一个用于从PDF文档中抽取信息的工具。官网
-
PyPDF2:一个可以分割,合并和转换 PDF 页面的库。官网
-
ReportLab:快速创建富文本 PDF 文档。官网
-
Markdown
-
Mistune:快速并且功能齐全的纯 Python 实现的 Markdown 解析器。官网
-
Python-Markdown:John Gruber’s Markdown 的 Python 版实现。官网
-
Python-Markdiwn2:纯 Python 实现的 Markdown 解析器,比 Python-Markdown 更快,更准确,可扩展。官网
-
YAML
-
PyYAML:Python 版本的 YAML 解析器。官网
-
CSV
-
csvkit:用于转换和操作 CSV 的工具。官网
-
Archive
-
unp:一个用来方便解包归档文件的命令行工具。官网
自然语言处理
用来处理人类语言的库。
-
jieba:中文分词工具。官网
-
langid.py:独立的语言识别系统。官网
-
Pattern:Python 网络信息挖掘模块。官网
-
SnowNLP:一个用来处理中文文本的库。官网
-
TextBlob:为进行普通自然语言处理任务提供一致的 API。官网
-
TextGrocery:一简单高效的短文本分类工具,基于 LibLinear 和 Jieba。官网
文档
用以生成项目文档的库。
-
awesome-sphinxdoc:官网
-
MkDocs:对 Markdown 友好的文档生成器。官网
-
pdoc:一个可以替换Epydoc 的库,可以自动生成 Python 库的 API 文档。官网
-
Pycco:文学编程(literate-programming)风格的文档生成器。官网
配置
用来保存和解析配置的库。
-
ConfigObj:INI 文件解析器,带验证功能。官网
-
ConfigParser:(Python 标准库) INI 文件解析器。官网
-
profig:通过多种格式进行配置,具有数值转换功能。官网
-
python-decouple:将设置和代码完全隔离。官网
命令行工具
用于创建命令行程序的库。
-
命令行程序开发
-
asciimatics:跨平台,全屏终端包(即鼠标/键盘输入和彩色,定位文本输出),完整的复杂动画和特殊效果的高级API。官网
-
cement:Python 的命令行程序框架。官网
-
click:一个通过组合的方式来创建精美命令行界面的包。官网
-
cliff:一个用于创建命令行程序的框架,可以创建具有多层命令的命令行程序。官网
-
clint:Python 命令行程序工具。官网
-
colorama:跨平台彩色终端文本。官网
-
docopt:Python 风格的命令行参数解析器。官网
-
Gooey:一条命令,将命令行程序变成一个 GUI 程序。官网
-
python-prompt-toolkit:一个用于构建强大的交互式命令行程序的库。官网
-
生产力工具
-
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 视频。官网
图像处理
用来操作图像的库.