Python 资源大全中文版
awesome-python (opens new window) 是 vinta 发起维护的 Python 资源列表,内容包括:Web 框架、网络爬虫、网络内容提取、模板引擎、数据库、数据可视化、图片处理、文本处理、自然语言处理、机器学习、日志、代码分析等。中文版由「开源前哨」和「Python 开发者」微信公号团队维护更新。
# 本项目的参与者
维护者:「开源前哨」和「Python 开发者」微信公号团队 (opens new window)。「开源前哨」会定期在知乎专栏分享最新、有趣和热门的开源项目,每个项目都有详细的介绍和示例。传送门:https://www.zhihu.com/column/c_1317124962785062912 (opens new window)
贡献者:唐尤华 (opens new window)、qtvspa (opens new window)、艾凌风 (opens new window)、Namco、Daetalus (opens new window)、黄利民、atupal、rainbow、木头 lbj (opens new window)、beyondwu、cissoid (opens new window)、李广胜 (opens new window)、polyval (opens new window)、冰斌、赵叶宇、л stalgic、硕恩、strongit (opens new window)、yuukilp、chenjiandongx (opens new window)、autopenguin (opens new window)、visonforcoding (opens new window)、Super 赛亚人 (opens new window)、Since-future (opens new window)、knktc (opens new window)、zhucebuliaopx (opens new window)、wardseptember (opens new window)
注:名单不分排名,不定期补充更新
# 资源列表
# 环境管理
管理 Python 版本和环境的工具
- p (opens new window):非常简单的交互式 python 版本管理工具。
- pyenv (opens new window):简单的 Python 版本管理工具。
- Vex (opens new window):可以在虚拟环境中执行命令。
- virtualenv (opens new window):创建独立 Python 环境的工具。
- virtualenvwrapper (opens new window):virtualenv 的一组扩展。
- buildout (opens new window):在隔离环境初始化后使用声明性配置管理。
# 包管理
管理包和依赖的工具。
- pip (opens new window):Python 包和依赖关系管理工具。
- pip-tools (opens new window):保证 Python 包依赖关系更新的一组工具。
- PyPI (opens new window):Python 正式的第三方包软件存储库。
- pipenv (opens new window):Python 官方推荐的新一代包管理工具。
- poetry (opens new window):可完全取代 setup.py 的包管理工具。
- conda (opens new window):跨平台的 Python 二进制包管理工具。
- Curdling (opens new window):管理 Python 包的命令行工具。
- wheel (opens new window):Python 分发的新标准,意在取代 eggs。
# 包仓库
本地 PyPI 仓库服务和代理。
- warehouse (opens new window):下一代 PyPI。
- bandersnatch (opens new window):PyPA 提供的 PyPI 镜像工具。
- devpi (opens new window):PyPI 服务和打包/测试/分发工具。
- localshop (opens new window):本地 PyPI 服务(自定义包并且自动对 PyPI 镜像)。
# 分发
打包为可执行文件以便分发。
- PyInstaller (opens new window):将 Python 程序转换成独立的执行文件(跨平台)。
- cx_Freeze (opens new window):将 python 程序转换为带有一个动态链接库的可执行文件。
- dh-virtualenv (opens new window):构建并将 virtualenv 虚拟环境作为一个 Debian 包来发布。
- Nuitka (opens new window):将脚本、模块、包编译成可执行文件或扩展模块。
- py2app (opens new window):将 Python 脚本变为独立软件包(Mac OS X)。
- py2exe (opens new window):将 Python 脚本变为独立软件包(Windows)。
- pynsist (opens new window):一个用来创建 Windows 安装程序的工具,可以在安装程序中打包 Python 本身。
- pyarmor (opens new window):一个用于加密 python 脚本的工具,也可以将加密后的脚本绑定到固件上,或设置已加密脚本的有效期。
- shiv (opens new window):一个命令行工具,可用于构建完全独立的 zip 应用(PEP 441 所描述的那种),同时包含了所有的依赖项。
# 构建工具
将源码编译成软件。
- buildout (opens new window):一个构建系统,从多个组件来创建,组装和部署应用。
- BitBake (opens new window):针对嵌入式 Linux 的类似 make 的构建工具。
- fabricate (opens new window):对任何语言自动找到依赖关系的构建工具。
- PlatformIO (opens new window):多平台命令行构建工具。
- PyBuilder (opens new window):纯 Python 实现的持续化构建工具。
- SCons (opens new window):软件构建工具。
# 交互式解析器
交互式 Python 解析器。
- IPython (opens new window):功能丰富的工具,非常有效的使用交互式 Python。
- bpython (opens new window):界面丰富的 Python 解析器。
- ptpython (opens new window):高级交互式 Python 解析器, 构建于 python-prompt-toolkit (opens new window) 之上。
- Jupyter Notebook (IPython) (opens new window):一个能够让你最大限度地以交互式方式使用 Python 的丰富工具包。现代 Python 最新的必学工具,让你在浏览器上与 Python 程序交互,功能强大,界面友好,谁用谁知道。
# 文件
文件管理和 MIME(多用途的网际邮件扩充协议)类型检测。
- aiofiles (opens new window):基于 asyncio,提供文件异步操作。
- imghdr (opens new window):(Python 标准库)检测图片类型。
- mimetypes (opens new window):(Python 标准库)将文件名映射为 MIME 类型。
- path.py (opens new window):对 os.path 进行封装的模块。
- pathlib (opens new window):(Python3.4+ 标准库)跨平台的、面向对象的路径操作库。
- python-magic (opens new window):文件类型检测的第三方库 libmagic 的 Python 接口。
- Unipath (opens new window):用面向对象的方式操作文件和目录。
- watchdog (opens new window):管理文件系统事件的 API 和 shell 工具。
- PyFilesystem2 (opens new window):Python 的文件系统抽象层。
# 日期和时间
操作日期和时间的类库。
- arrow (opens new window):更好的 Python 日期时间操作类库。
- Chronyk (opens new window):Python 3 的类库,用于解析手写格式的时间和日期。
- dateutil (opens new window):Python datetime 模块的扩展。
- delorean (opens new window):解决 Python 中有关日期处理的棘手问题的库。
- maya (opens new window):人性化的时间处理库。
- moment (opens new window):一个用来处理时间和日期的 Python 库。灵感来自于 Moment.js。
- pendulum (opens new window):一个比 arrow 更具有明确的,可预测的行为的时间操作库。
- PyTime (opens new window):一个简单易用的 Python 模块,用于通过字符串来操作日期/时间。
- pytz (opens new window):现代以及历史版本的世界时区定义。将时区数据库引入 Python。
- when.py (opens new window):提供用户友好的函数来帮助用户进行常用的日期和时间操作。
- dateutil (opens new window):Python 标准包 datetime (opens new window) 的扩展。
- moment (opens new window):一个处理日期/时间的库,灵感来自 Moment.js (opens new window)。
- pytz (opens new window):支持跨平台时区计算,并将 tz database (opens new window) 引入 Python。
# 文本处理
用于解析和操作文本的库。
- 通用
- chardet (opens new window):字符编码检测器,兼容 Python2 和 Python3。
- difflib (opens new window):(Python 标准库)帮助我们进行差异化比较。
- ftfy (opens new window):让 Unicode 文本更完整更连贯。
- fuzzywuzzy (opens new window):模糊字符串匹配。
- Levenshtein (opens new window):快速计算编辑距离以及字符串的相似度。
- pangu.py (opens new window):在中日韩语字符和数字字母之间添加空格。
- pypinyin (opens new window):汉字拼音转换工具 Python 版。
- shortuuid (opens new window):一个生成器库,用以生成简洁的,明白的,URL 安全的 UUID。
- simplejson (opens new window):Python 的 JSON 编码、解码器。
- unidecode (opens new window):Unicode 文本的 ASCII 转换形式 。
- uniout (opens new window):打印可读的字符,而不是转义的字符串。
- xpinyin (opens new window):一个用于把汉字转换为拼音的库。
- pyfiglet (opens new window):figlet 的 Python 实现。
- flashtext (opens new window):一个高效的文本查找替换库。
- textdistance (opens new window):支持 30 多种算法来计算序列之间的距离。
- Slug 化
- awesome-slugify (opens new window):一个 Python slug 化库,可以保持 Unicode。
- python-slugify (opens new window):Python slug 化库,可以把 unicode 转化为 ASCII。
- unicode-slugify (opens new window):一个 slug 工具,可以生成 unicode slugs ,需要依赖 Django 。
- 解析器
- phonenumbers (opens new window):解析,格式化,储存,验证电话号码。
- python-phonenumbers (opens new window):解析,格式化,存储,校验国际电话号码。
- PLY (opens new window):lex 和 yacc 解析工具的 Python 实现。
- Pygments (opens new window):通用语法高亮工具。
- pyparsing (opens new window):生成通用解析器的框架。
- python-nameparser (opens new window):把一个人名分解为几个独立的部分。
- python-user-agents (opens new window):浏览器 user agent 解析器。
- sqlparse (opens new window):一个无验证的 SQL 解析器。
# 特殊文本格式处理
一些用来解析和操作特殊文本格式的库。
- 通用
- tablib (opens new window):一个用来处理中表格数据的模块。
- Office
- Marmir (opens new window):把输入的 Python 数据结构转换为电子表单。
- openpyxl (opens new window):一个用来读写 Excel 2010 xlsx/xlsm/xltx/xltm 文件的库。
- pyexcel (opens new window):一个提供统一 API,用来读写,操作 Excel 文件的库。
- python-docx (opens new window):读取,查询以及修改 Microsoft Word 2007/2008 docx 文件。
- python-pptx (opens new window):可用于创建和修改 ppt 文件的 Python 库。
- relatorio (opens new window):模板化 OpenDocument 文件。
- unoconv (opens new window):在 LibreOffice/OpenOffice 支持的任意文件格式之间进行转换。
- XlsxWriter (opens new window):一个用于创建 Excel .xlsx 文件的 Python 模块。
- xlwings (opens new window):一个使得在 Excel 中方便调用 Python 的库(反之亦然),基于 BSD 协议。
- xlwt (opens new window) / xlrd (opens new window):读写 Excel 文件的数据和格式信息。
- docxtpl (opens new window):通过 jinja2 模版编辑 docx 文档。
- PDF
- PDFMiner (opens new window):一个用于从 PDF 文档中抽取信息的工具。
- PyPDF2 (opens new window):一个可以分割,合并和转换 PDF 页面的库。
- ReportLab (opens new window):快速创建富文本 PDF 文档。
- Markdown
- Mistune (opens new window):快速并且功能齐全的纯 Python 实现的 Markdown 解析器。
- Python-Markdown (opens new window):John Gruber’s Markdown 的 Python 版实现。
- Python-Markdown2 (opens new window):纯 Python 实现的 Markdown 解析器,比 Python-Markdown 更快,更准确,可扩展。
- YAML
- PyYAML (opens new window):Python 版本的 YAML 解析器。
- CSV
- csvkit (opens new window):用于转换和操作 CSV 的工具。
- Archive
- unp (opens new window):一个用来方便解包归档文件的命令行工具。
# 自然语言处理
用来处理人类语言的库。
- NLTK (opens new window):一个先进的平台,用以构建处理人类语言数据的 Python 程序。
- gensim (opens new window):人性化的话题建模库。
- jieba (opens new window):中文分词工具。
- langid.py (opens new window):独立的语言识别系统。
- Pattern (opens new window):Python 网络信息挖掘模块。
- SnowNLP (opens new window):一个用来处理中文文本的库。
- TextBlob (opens new window):为进行普通自然语言处理任务提供一致的 API。
- TextGrocery (opens new window):一简单高效的短文本分类工具,基于 LibLinear 和 Jieba。
- thulac (opens new window):清华大学自然语言处理与社会人文计算实验室研制推出的一套中文词法分析工具包。
- polyglot (opens new window):支持数百种语言的自然语言处理管道。
- pytext (opens new window):基于 PyTouch 的自然语言模型框架。
- PyTorch-NLP (opens new window):一个支持快速深度学习 NLP 原型研究的工具包。
- spacy (opens new window):Python 和 Cython 中用于工业级自然语言处理的库。
- Stanza (opens new window):斯坦福 NLP 集团的官方 Python 库,支持 60 多种语言。
- funNLP (opens new window):中文自然语言处理的工具和数据集。
- pkuseg-python (opens new window):一个支持对不同领域进行中文分词的工具箱。
# 文档
用以生成项目文档的库。
- Sphinx (opens new window):Python 文档生成器。
- MkDocs (opens new window):对 Markdown 友好的文档生成器。
- pdoc (opens new window):一个可以替换 Epydoc 的库,可以自动生成 Python 库的 API 文档。
- Pycco (opens new window):文学编程(literate-programming)风格的文档生成器。
- readthedocs (opens new window):一个基于 Sphinx/MkDocs 的在线文档托管系统,对开源项目免费开放使用。
# 配置
用来保存和解析配置的库。
- config (opens new window):logging (opens new window) 模块作者写的分级配置模块。
- ConfigObj (opens new window):INI 文件解析器,带验证功能。
- ConfigParser (opens new window):(Python 标准库) INI 文件解析器。
- profig (opens new window):通过多种格式进行配置,具有数值转换功能。
- python-decouple (opens new window):将设置和代码完全隔离。
- hydra (opens new window):一个优雅地配置复杂应用程序的框架。
# 命令行工具
用于创建命令行程序的库。
- 命令行程序开发
- cement (opens new window):Python 的命令行程序框架。
- click (opens new window):一个通过组合的方式来创建精美命令行界面的包。
- cliff (opens new window):一个用于创建命令行程序的框架,可以创建具有多层命令的命令行程序。
- clint (opens new window):Python 命令行程序工具。
- docopt (opens new window):Python 风格的命令行参数解析器。
- Gooey (opens new window):一条命令,将命令行程序变成一个 GUI 程序。
- python-prompt-toolkit (opens new window):一个用于构建强大的交互式命令行程序的库。
- python-fire (opens new window):Google 出品的一个基于 Python 类的构建命令行界面的库。
- Pythonpy (opens new window):在命令行中直接执行任何 Python 指令。
- 终端呈现方式
- asciimatics (opens new window):跨平台,全屏终端包(即鼠标/键盘输入和彩色,定位文本输出),完整的复杂动画和特殊效果的高级 API。
- alive-progress (opens new window):一款新的进度条,具有实时吞吐量信息以及非常酷的动画。
- colorama (opens new window):跨平台彩色终端文本。
- bashplotlib (opens new window):在终端中进行基本绘图。
- rich (opens new window):一个在终端中支持富文本和格式美化的 Python 库, 同时提供了
RichHandler
日志处理程序。 - tqdm (opens new window):一个可在循环和命令行中使用的快速、可扩展的进度条。
- 生产力工具
- aws-cli (opens new window):Amazon Web Services 的通用命令行界面。
- caniusepython3 (opens new window):判断是哪个项目妨碍你你移植到 Python3。
- cookiecutter (opens new window):从 cookiecutters(项目模板)创建项目的一个命令行工具。
- doitlive (opens new window):一个用来在终端中进行现场演示的工具。
- pyftpdlib (opens new window):一个速度极快和可扩展的 Python FTP 服务库。
- howdoi (opens new window):通过命令行获取即时的编程问题解答。
- PathPicker (opens new window):从 bash 输出中选出文件。
- percol (opens new window):向 UNIX shell 传统管道概念中加入交互式选择功能。
- thefuck (opens new window):修正你之前的命令行指令。
- try (opens new window):一个极其简单的命令行工具,用来试用 python 库。
- copier (opens new window):用于呈现项目模板的库和命令行实用程序。
- Invoke (opens new window):用于管理面向 shell 的子进程,同时支持将可执行的 Python 代码组织成命令行可调用的状态。
- tmuxp (opens new window): tmux (opens new window) 会话管理器。
- 高级 CLI
- httpie (opens new window):一个命令行 HTTP 客户端,cURL 的替代品,易用性更好。
- iredis (opens new window):支持自动补全和高亮显示的 redis 命令行工具。
- kube-shell (opens new window):K8S 命令行集成的 shell 工具。
- litecli (opens new window):支持自动补全和语法高亮的 SQLite 命令行工具。
- mycli (opens new window):支持自动补全和语法高亮的 MySQL 命令行客户端
- pgcli (opens new window):支持自动补全和语法高亮的 Postgres 命令行工具。
- SAWS (opens new window):一个加强版的 AWS 命令行。
- Shell
- xonsh (opens new window):一种基于 python 的跨平台,面向 unix 的 shell 语言和命令提示符。
# 下载器
用来进行下载的库.
- s3cmd (opens new window):一个用来管理 Amazon S3 和 CloudFront 的命令行工具。
- s4cmd (opens new window):超级 S3 命令行工具,性能更加强劲。
- you-get (opens new window):一个 YouTube/Youku/Niconico 视频下载器,使用 Python3 编写。
- youtube-dl (opens new window):一个小巧的命令行程序,用来下载 YouTube 视频。
- akshare (opens new window):为方便人使用而创建的金融数据接口库。
# 图像处理
用来操作图像的库.
- pillow (opens new window):Pillow 是一个更加易用版的 PIL (opens new window)。
- hmap (opens new window):图像直方图映射。
- imgSeek (opens new window):一个使用视觉相似性搜索一组图片集合的项目。
- nude.py (opens new window):裸体检测。
- python-barcode (opens new window):不借助其他库在 Python 程序中生成条形码。
- pygram (opens new window):类似 Instagram 的图像滤镜。
- python-qrcode (opens new window):一个纯 Python 实现的二维码生成器。
- Quads (opens new window):基于四叉树的计算机艺术。
- scikit-image (opens new window):一个用于(科学)图像处理的 Python 库。
- thumbor (opens new window):一个小型图像服务,具有剪裁,尺寸重设和翻转功能。
- wand (opens new window):MagickWand (opens new window)的 Python 绑定。MagickWand 是 ImageMagick 的 C API 。
- face_recognition (opens new window):简单易用的 python 人脸识别库。
- pagan (opens new window):基于输入和哈希的复古风图标(头像)生成工具。
- PyMatting (opens new window):支持 alpha matting 的库。
- pywal (opens new window):由图像生成配色方案的工具。
- pyvips (opens new window):低内存消耗且快速的图像处理库。
# OCR
光学字符识别库。
- pyocr (opens new window):Tesseract 和 Cuneiform 的一个封装。
- pytesseract (opens new window):Google Tesseract OCR (opens new window) 的一个封装。
- python-tesseract:Google Tesseract OCR (opens new window) 的一个包装类。
# 音频
用来操作音频的库
- audiolazy (opens new window):Python 的数字信号处理包。
- audioread (opens new window):交叉库 (GStreamer + Core Audio + MAD + FFmpeg) 音频解码。
- beets (opens new window):一个音乐库管理工具及 MusicBrainz (opens new window) 标签添加工具。
- dejavu (opens new window):音频指纹提取和识别。
- django-elastic-transcoder (opens new window):Django + Amazon Elastic Transcoder (opens new window)。
- eyeD3 (opens new window):一个用来操作音频文件的工具,具体来讲就是包含 ID3 元信息的 MP3 文件。
- id3reader (opens new window):一个用来读取 MP3 元数据的 Python 模块。
- m3u8 (opens new window):一个用来解析 m3u8 文件的模块。
- mutagen (opens new window):一个用来处理音频元数据的 Python 模块。
- pydub (opens new window):通过简单、简洁的高层接口来操作音频文件。
- pyechonest (opens new window):Echo Nest (opens new window) API 的 Python 客户端。
- talkbox (opens new window):一个用来处理演讲/信号的 Python 库。
- TimeSide (opens new window):开源 web 音频处理框架。
- tinytag (opens new window):一个用来读取 MP3, OGG, FLAC 以及 Wave 文件音乐元数据的库。
- mingus (opens new window):一个高级音乐理论和曲谱包,支持 MIDI 文件和回放功能。
- kapre (opens new window):Keras 音频处理器。
- librosa (opens new window):音频音乐分析 Python 库。
- matchering (opens new window):用于音频母带制作的库。
- pyAudioAnalysis (opens new window):音频特征提取,分类,分段和应用。
- beets (opens new window):一个音乐库管理器和 MusicBrainz (opens new window) 标记器。
# Video
用来操作视频和 GIF 的库。
- moviepy (opens new window):一个用来进行基于脚本的视频编辑模块,适用于多种格式,包括动图 GIFs。
- scikit-video (opens new window):SciPy 视频处理常用程序。
- vidgear (opens new window): 强大的多线程视频处理框架。
# 地理位置
地理编码地址以及用来处理经纬度的库。
- GeoDjango (opens new window):世界级地理图形 web 框架。
- GeoIP (opens new window):MaxMind GeoIP Legacy 数据库的 Python API。
- geojson (opens new window):GeoJSON 的 Python 绑定及工具。
- geopy (opens new window):Python 地址编码工具箱。
- GeoIP2 (opens new window):GeoIP2 Webservice 客户端与数据库 Python API。
- django-countries (opens new window):一个 Django 应用程序,提供用于表格的国家选择功能,国旗图标静态文件以及模型中的国家字段。
- pygeoip (opens new window):Python GeoIP 接口。
# HTTP
使用 HTTP 的库。
- aiohttp (opens new window):基于 asyncio 的异步 HTTP 网络库。
- requests (opens new window):人性化的 HTTP 请求库。
- grequests (opens new window):requests 库 + gevent ,用于异步 HTTP 请求。
- httplib2 (opens new window):全面的 HTTP 客户端库。
- treq (opens new window):类似 requests 的 Python API 构建于 Twisted HTTP 客户端之上。
- urllib3 (opens new window):一个具有线程安全连接池,支持文件 post,清晰友好的 HTTP 库。
- httpx (opens new window):下一代 Python HTTP 客户端。
# 数据库
Python 实现的数据库。
- pickleDB (opens new window):一个简单,轻量级键值储存数据库。
- PipelineDB (opens new window):流式 SQL 数据库。
- TinyDB (opens new window):一个微型的,面向文档型数据库。
- ZODB (opens new window):一个 Python 原生对象数据库。一个键值和对象图数据库。
# 数据库驱动
用来连接和操作数据库的库。
- MySQL:awesome-mysql (opens new window) 系列
- aiomysql (opens new window):基于 asyncio 的异步 MySQL 数据库操作库。
- mysql-python (opens new window):Python 的 MySQL 数据库连接器。
- ysqlclient:mysql-python (opens new window) 分支,支持 Python 3。
- oursql (opens new window):一个更好的 MySQL 连接器,支持原生预编译指令和 BLOBs。
- PyMySQL (opens new window):纯 Python MySQL 驱动,兼容 mysql-python。
- PostgreSQL
- psycopg2 (opens new window):Python 中最流行的 PostgreSQL 适配器。
- queries (opens new window):psycopg2 库的封装,用来和 PostgreSQL 进行交互。
- txpostgres (opens new window):基于 Twisted 的异步 PostgreSQL 驱动。
- 其他关系型数据库
- apsw (opens new window):另一个 Python SQLite 封装。
- dataset:在数据库中存储 Python 字典
- pymssql (opens new window):一个简单的 Microsoft SQL Server 数据库接口。
- NoSQL 数据库
- asyncio-redis (opens new window):基于 asyncio 的 redis 客户端 (PEP 3156)。
- cassandra-python-driver (opens new window):Cassandra 的 Python 驱动。
- HappyBase (opens new window):一个为 Apache HBase 设计的,对开发者友好的库。
- Plyvel (opens new window):一个快速且功能丰富的 LevelDB 的 Python 接口。
- py2neo (opens new window):Neo4j restful 接口的 Python 封装客户端。
- pycassa (opens new window):Cassandra 的 Python Thrift 驱动。
- PyMongo (opens new window):MongoDB 的官方 Python 客户端。
- redis-py (opens new window):Redis 的 Python 客户端。
- telephus (opens new window):基于 Twisted 的 Cassandra 客户端。
- txRedis (opens new window):基于 Twisted 的 Redis 客户端。
- kafka-python (opens new window):Apache Kafka Python 客户端。
- 异步客户端
- motor (opens new window):支持 MongoDB 的异步 Python 驱动程序。
# ORM
实现对象关系映射或数据映射技术的库。
- 关系型数据库
- Django Models (opens new window):Django 的一部分。
- SQLAlchemy (opens new window):Python SQL 工具以及对象关系映射工具。
- Peewee (opens new window):一个小巧,富有表达力的 ORM。
- PonyORM (opens new window):提供面向生成器的 SQL 接口的 ORM。
- python-sql (opens new window):编写 Python 风格的 SQL 查询。
- dataset (opens new window):在数据库中存储字典,支持 SQLite,MySQL 和 PostgreSQL。
- orator (opens new window):Orator ORM,提供了一个简单而美观的 ActiveRecord 实现。
- orm (opens new window):一个异步的 ORM。
- peewee (opens new window):一个小但是很有表现力的 ORM。
- pony (opens new window):提供面向生成器的 SQL 接口的 ORM。
- pydal (opens new window):纯 Python 数据库抽象接口层。
- NoSQL 数据库
- django-mongodb-engine (opens new window):Django MongoDB 后端。
- PynamoDB (opens new window):Amazon DynamoDB (opens new window) 的一个 Python 风格接口。
- flywheel (opens new window):Amazon DynamoDB 的对象映射工具。
- MongoEngine (opens new window):一个 Python 对象文档映射工具,用于 MongoDB。
- hot-redis (opens new window):为 Redis 提供 Python 丰富的数据类型。
- redisco (opens new window):一个 Python 库,提供可以持续存在在 Redis 中的简单模型和容器。
- 其他
- butterdb (opens new window):Google Drive 电子表格的 Python ORM。
# Web 框架
全栈 Web 框架。
- Django (opens new window):Python 界最流行的 web 框架。
- Flask (opens new window):一个 Python 微型框架。
- Pyramid (opens new window):一个小巧,快速,接地气的开源 Python web 框架。
- Bottle (opens new window):一个快速小巧,轻量级的 WSGI 微型 web 框架。
- CherryPy (opens new window):一个极简的 Python web 框架,服从 HTTP/1.1 协议且具有 WSGI 线程池。
- TurboGears (opens new window):一个可以扩展为全栈解决方案的微型框架。
- web.py (opens new window):一个 Python 的 web 框架,既简单,又强大。
- web2py (opens new window):一个全栈 web 框架和平台,专注于简单易用。
- Tornado (opens new window):一个 web 框架和异步网络库。
- sanic (opens new window):基于 Python3.5+ 的异步网络框架。
- starlette (opens new window): 一款轻量级,高性能的 ASGI 框架。
- Masonite (opens new window):以开发者为中心的现代 Python Web 框架。
# WebSocket
Web socket 相关库。
- autobahn-python (opens new window):适用于 Twisted 和 asyncio 的 Python WebSocket 和 WAMP。
- channels (opens new window):开发者友好的 Django 异步工具。
- websockets (opens new window):一个用于构建 WebSocket 服务器和客户端的库,着重于正确性和简单性。
# 权限
允许或拒绝用户访问数据或功能的库。
- Carteblanche (opens new window):站在用户和设计者角度开发的一个代码对齐模块,很好地处理了代码导航及权限。
- django-guardian (opens new window):Django 1.2+ ,实现了单个对象权限。
- django-rules (opens new window):一个小巧但是强大的应用,提供对象级别的权限管理,且不需要使用数据库。
# CMS
内容管理系统。
- odoo-cms (opens new window):一个开源的,企业级 CMS,基于 odoo。
- django-cms (opens new window):一个开源的,企业级 CMS,基于 Django。
- djedi-cms (opens new window):一个轻量级但却非常强大的 Django CMS ,考虑到了插件,内联编辑以及性能。
- FeinCMS (opens new window):基于 Django 构建的最先进的内容管理系统之一。
- Kotti (opens new window):一个高级的,Python 范的 web 应用框架,基于 Pyramid 构建。
- Mezzanine (opens new window):一个强大的,持续的,灵活的内容管理平台。
- Opps (opens new window):一个为杂志,报纸网站以及大流量门户网站设计的 CMS 平台,基于 Django。
- Plone (opens new window):一个构建于开源应用服务器 Zope 之上的 CMS。
- Quokka (opens new window):灵活,可扩展的小型 CMS,基于 Flask 和 MongoDB。
- Wagtail (opens new window):一个 Django 内容管理系统。
- Widgy (opens new window):最新的 CMS 框架,基于 Django。
- indico (opens new window):一个功能丰富的事件管理系统,由 @CERN (opens new window) 开发。
# 电子商务
用于电子商务以及支付的框架和库。
- django-oscar (opens new window):一个用于 Django 的开源的电子商务框架。
- django-shop (opens new window):一个基于 Django 的店铺系统。
- Cartridge (opens new window):一个基于 Mezzanine 构建的购物车应用。
- shoop (opens new window):一个基于 Django 的开源电子商务平台。
- alipay (opens new window):非官方的 Python 支付宝 API。
- merchant (opens new window):一个可以接收来自多种支付平台支付的 Django 应用。
- money (opens new window):一个货币类库。带有可选的 CLDR 后端本地化格式,提供可扩展的货币兑换解决方案。
- python-currencies (opens new window):显示货币格式以及它的数值。
- forex-python (opens new window):外汇汇率,比特币价格指数和货币换算。
- saleor (opens new window):一款兼容 Django 的电子商务平台。
# RESTful API
用来开发 RESTful APIs 的库
- Django
- django-rest-framework (opens new window):一个强大灵活的工具,用来构建 web API。
- django-tastypie (opens new window):为 Django 应用开发 API。
- django-formapi (opens new window):为 Django 的表单验证,创建 JSON APIs 。
- Flask
- flask-api (opens new window):为 flask 开发的,可浏览 Web APIs 。
- flask-restful (opens new window):为 flask 快速创建 REST APIs 。
- flask-restless (opens new window):为 SQLAlchemy 定义的数据库模型创建 RESTful APIs 。
- flask-api-utils (opens new window):为 Flask 处理 API 表示和验证。
- eve (opens new window):REST API 框架,由 Flask, MongoDB 等驱动。
- Pyramid
- cornice (opens new window):一个 Pyramid 的 REST 框架 。
- 与框架无关的
- falcon (opens new window):一个用来建立云 API 和 web app 后端的高性能框架。
- sandman (opens new window):为现存的数据库驱动系统自动创建 REST APIs 。
- restless (opens new window):框架无关的 REST 框架 ,基于从 Tastypie 学到的知识。
- ripozo (opens new window):快速创建 REST/HATEOAS/Hypermedia APIs。
- apistar (opens new window):专为 Python 3 设计的智能 Web API 框架。
- fastapi (opens new window):一个现代,快速,基于标准 Python 类型注解的的 web 框架,可使用 Python3.6+ 版本构建 API。
- hug (opens new window):一个为纯净公开的 API 打造的 Python 3 框架。
- sandman2 (opens new window):为数据库驱动的系统自动生成 REST API。
- vibora (opens new window):快速高效且支持异步的 Web 框架,灵感来源于 Flask。
# 验证
实现验证方案的库。
- OAuth
- authlib (opens new window):一个强大的 Python 库,用来构建 OAuth 和 OpenID 服务端。包括:JWS, JWK, JWA, JWT。
- Authomatic (opens new window):简单但是强大的框架,身份验证/授权客户端。
- django-allauth (opens new window):Django 的验证应用。
- django-oauth-toolkit (opens new window):为 Django 用户准备的 OAuth2。
- django-oauth2-provider (opens new window):为 Django 应用提供 OAuth2 接入。
- Flask-OAuthlib (opens new window):OAuth 1.0/a, 2.0 客户端实现,供 Flask 使用。
- OAuthLib (opens new window):一个 OAuth 请求-签名逻辑通用、 完整的实现。
- python-oauth2 (opens new window):一个完全测试的抽象接口。用来创建 OAuth 客户端和服务端。
- python-social-auth (opens new window):一个设置简单的社会化验证方式。
- rauth (opens new window):OAuth 1.0/a, 2.0, 和 Ofly 的 Python 库。
- sanction (opens new window):一个超级简单的 OAuth2 客户端实现。
- 其他
- PyJWT (opens new window):JSON Web 令牌草案 01。
- python-jws (opens new window):JSON Web 签名草案 02 的实现。
- python-jwt (opens new window):一个用来生成和验证 JSON Web 令牌的模块。
- python-jose (opens new window):python 版 JOSE 实现。
# 模板引擎
模板生成和词法解析的库和工具。
- Jinja2 (opens new window):一个现代的,对设计师友好的模板引擎。
- Chameleon (opens new window):一个 HTML/XML 模板引擎。 模仿了 ZPT(Zope Page Templates), 进行了速度上的优化。
- Genshi (opens new window):Python 模板工具,用以生成 web 感知的结果。
- Mako (opens new window):Python 平台的超高速轻量级模板。
# 队列
处理事件以及任务队列的库。
- celery (opens new window):一个异步任务队列/作业队列,基于分布式消息传递
- daramatiq (opens new window):适用于 Python 3 的快速可靠的后台任务处理库。
- huey (opens new window):小型多线程任务队列。
- mrq (opens new window):一个 Python 的分布式 worker 任务队列, 使用 Redis 和 gevent。
- rq (opens new window):简单的 Python 作业队列。
- simpleq (opens new window):一个简单的,可无限扩张的,基于亚马逊 SQS 的队列。
# 搜索
对数据进行索引和执行搜索查询的库和软件。
- django-haystack (opens new window):Django 模块化搜索。
- elasticsearch-py (opens new window):Elasticsearch 的官方底层 Python 客户端。
- elasticsearch-dsl-py (opens new window):Elasticsearch 的官方高级 Python 客户端。
- solrpy (opens new window):solr (opens new window) 的 Python 客户端。
- pysolr (opens new window):支持 Apache Solr (opens new window) 的轻量级 Python 装饰器。
- Whoosh (opens new window):一个快速的纯 Python 搜索引擎库。
# 动态消息
用来创建用户活动的库。
- django-activity-stream (opens new window):从你的站点行为中生成通用活动信息流。
- Stream-Framework (opens new window):使用 Cassandra 和 Redis 创建动态消息和通知系统。
# Web 资源管理
管理、压缩、缩小网站资源的工具。
- django-compressor (opens new window):将链接和内联的 JavaScript 或 CSS 压缩到一个单独的缓存文件中。
- django-pipeline (opens new window):Django 的资源包装库。
- django-storages (opens new window):一个针对 Django 的自定义存储后端的工具集合。
- fanstatic (opens new window):打包、优化,并且把静态文件依赖作为 Python 的包来提供。
- File Conveyor (opens new window):一个后台驻留的程序,用来发现和同步文件到 CDNs, S3 和 FTP。
- Flask-Assets (opens new window):帮你将 web 资源整合到你的 Flask app 中。
- jinja-assets-compressor (opens new window):一个 Jinja 扩展,用来编译和压缩你的资源。
- webassets (opens new window):为你的静态资源打包、优化和管理生成独一无二的缓存 URL。
# 缓存
缓存数据的库。
- Beaker (opens new window):一个缓存和会话库,可以用在 web 应用和独立 Python 脚本和应用上。
- django-cache-machine (opens new window):Django 模型的自动缓存和失效。
- django-cacheops (opens new window):具有自动颗粒化事件驱动失效功能的 ORM。
- django-viewlet (opens new window):渲染模板,同时具有额外的缓存控制功能。
- dogpile.cache (opens new window):dogpile.cache 是 Beaker 的下一代替代品,由同一作者开发。
- HermesCache (opens new window):Python 缓存库,具有基于标签的失效和 dogpile effect 保护功能。
- johnny-cache (opens new window):django 应用缓存框架。
- pylibmc (opens new window):libmemcached (opens new window) 接口的 Python 封装。
- python-diskcache (opens new window):SQLite 和文件支持的缓存后端,具有比 memcached 和 redis 更快的查找速度。
# 电子邮件
用来发送和解析电子邮件的库。
- django-celery-ses (opens new window):带有 AWS SES 和 Celery 的 Django email 后端。
- envelopes (opens new window):供人类使用的电子邮件库。
- flanker (opens new window):一个 email 地址和 Mime 解析库。
- imbox (opens new window):Python IMAP 库。
- inbox.py (opens new window):Python SMTP 服务器。
- inbox (opens new window):一个开源电子邮件工具箱。
- lamson (opens new window):Python 风格的 SMTP 应用服务器。
- mailjet (opens new window):Mailjet API 实现,用来提供批量发送邮件,统计等功能。
- marrow.mailer (opens new window):高性能可扩展邮件分发框架。
- modoboa (opens new window):一个邮件托管和管理平台,具有现代的、简约的 Web UI。
- pyzmail (opens new window):创建,发送和解析电子邮件。
- Talon (opens new window):Mailgun 库,用来抽取信息和签名。
- yagmail (opens new window):yagmail 是一个 GMAIL / SMTP 客户端,旨在使其尽可能简单地发送电子邮件。
- salmon (opens new window):一个 Python 邮件服务器。
- mailer (opens new window):一款高性能可扩展的邮件投递框架。
# 国际化
用来进行国际化的库。
- Babel (opens new window):一个 Python 的国际化库。
- Korean (opens new window):一个韩语词态库。
- PyICU (opens new window):一个封装了 ICU (opens new window) C++ 库的 Python 扩展。
# URL 处理
解析 URLs 的库
- furl (opens new window):一个让处理 URL 更简单小型 Python 库。
- purl (opens new window):一个简单的,不可变的 URL 类,具有简洁的 API 来进行询问和处理。
- pyshorteners (opens new window):一个纯 Python URL 缩短库。
- shorturl (opens new window):生成短小 URL 和类似 bit.ly 短链的 Python 实现。
- webargs (opens new window):一个解析 HTTP 请求参数的库,内置对流行 web 框架的支持,包括 Flask, Django, Bottle, Tornado 和 Pyramid。
# HTML 处理
处理 HTML 和 XML 的库。
- BeautifulSoup (opens new window):以 Python 风格的方式来对 HTML 或 XML 进行迭代,搜索和修改。
- bleach (opens new window):一个基于白名单的 HTML 清理和文本链接库。
- cssutils (opens new window):一个 Python 的 CSS 库。
- html5lib (opens new window):一个兼容标准的 HTML 文档和片段解析及序列化库。
- lxml (opens new window):一个非常快速,简单易用,功能齐全的库,用来处理 HTML 和 XML。
- MarkupSafe (opens new window):为 Python 实现 XML/HTML/XHTML 标记安全字符串。
- pyquery (opens new window):一个解析 HTML 的库,类似 jQuery。
- requests-html (opens new window):人性化的,Pythonic 的 HTML 解析库。
- untangle (opens new window):将 XML 文档转换为 Python 对象,使其可以方便的访问。
- xhtml2pdf (opens new window):HTML/CSS 转 PDF 工具。
- xmltodict (opens new window):像处理 JSON 一样处理 XML。
- WeasyPrint (opens new window):用于 HTML 和 CSS 的可视化呈现引擎,并可以导出为 PDF。
- xmldataset (opens new window):简单 XML 解析。
爬取网络站点的库
- Scrapy (opens new window):一个快速高级的屏幕爬取及网页采集框架。
- ScrapydWeb (opens new window):一个用于 Scrapyd 集群管理的全功能 web UI,支持 Scrapy 日志分析和可视化,自动打包,定时器任务和邮件通知等特色功能。
- cola (opens new window):一个分布式爬虫框架。
- Demiurge (opens new window):基于 PyQuery 的爬虫微型框架。
- feedparser (opens new window):通用 feed 解析器。
- Grab (opens new window):站点爬取框架。
- MechanicalSoup (opens new window):用于自动和网络站点交互的 Python 库。
- portia (opens new window):Scrapy 可视化爬取。
- pyspider (opens new window):一个强大的爬虫系统。
- RoboBrowser (opens new window):一个简单的,Python 风格的库,用来浏览网站,而不需要一个独立安装的浏览器。
# 网页内容提取
用于进行网页内容提取的库。
- Haul (opens new window):一个可以扩展的图像爬取工具。
- html2text (opens new window):将 HTML 转换为 Markdown 格式文本。
- lassie (opens new window):人性化的网页内容检索库。
- micawber (opens new window):一个小型网页内容提取库,用来从 URLs 提取富内容。
- newspaper (opens new window):使用 Python 进行新闻提取,文章提取以及内容策展。
- opengraph (opens new window):一个用来解析开放内容协议(Open Graph Protocol)的 Python 模块。
- python-goose (opens new window):HTML 内容/文章提取器(python2)。
- goose3 (opens new window):HTML 内容/文章提取器(python3)。
- python-readability (opens new window):arc90 公司 readability 工具的 Python 高速端口。
- sanitize (opens new window):为杂乱的数据世界带来调理性。
- sumy (opens new window):一个为文本文件和 HTML 页面进行自动摘要的模块。
- textract (opens new window):从任何格式的文档中提取文本,Word,PowerPoint,PDFs 等等。
# 表单
进行表单操作的库。
- Deform (opens new window):Python HTML 表单生成库,受到了 formish 表单生成库的启发。
- django-bootstrap3 (opens new window):集成了 Bootstrap 3 的 Django。
- django-bootstrap4 (opens new window):集成了 Bootstrap 4 的 Django。
- django-crispy-forms (opens new window):一个 Django 应用,他可以让你以一种非常优雅且 DRY(Don't repeat yourself) 的方式来创建美观的表单。
- django-remote-forms (opens new window):一个平台独立的 Django 表单序列化工具。
- WTForms (opens new window):一个灵活的表单验证和呈现库。
- WTForms-JSON (opens new window):一个 WTForms 扩展,用来处理 JSON 数据。
# 数据验证
数据验证库。多用于表单验证。
- Cerberus (opens new window):一个映射验证器(mappings-validator)。支持多种规则,提供归一化功能,可以方便地定制为 Python 风格的 schema 定义。
- colander (opens new window):一个用于对从 XML, JSON,HTML 表单获取的数据或其他同样简单的序列化数据进行验证和反序列化的系统。
- kmatch (opens new window):一种用于匹配/验证/筛选 Python 字典的语言。
- schema (opens new window):一个用于对 Python 数据结构进行验证的库。
- Schematics (opens new window):数据结构验证。
- valideer (opens new window):轻量级可扩展的数据验证和适配库。
- voluptuous (opens new window):一个 Python 数据验证库。主要是为了验证传入 Python 的 JSON,YAML 等数据。
- jsonschema (opens new window):JSON Schema (opens new window) 的 python 实现,用于 JSON 数据的验证。
# 序列化
复杂数据类型序列化相关库。
- marshmallow (opens new window):一个轻量级的库,用于将复杂对象与简单 Python 数据类型相互转换。
- pysimdjson (opens new window):与 Python 绑定的 simdjson (opens new window) 。
- python-rapidjson (opens new window): RapidJSON (opens new window) 的 Python 封装。
- ultrajson (opens new window):使用 Python 绑定的,用 C 编写的快速 JSON 解码器和编码器。
# 反垃圾技术
帮助你和电子垃圾进行战斗的库。
- django-simple-captcha (opens new window):一个简单、高度可定制的 Django 应用,可以为任何 Django 表单添加验证码。
- django-simple-spam-blocker (opens new window):一个用于 Django 的简单的电子垃圾屏蔽工具。
# 标记
用来进行标记的库。
- django-taggit (opens new window):简单的 Django 标记工具。
# 管理面板
管理界面库。
- Ajenti (opens new window):一个你的服务器值得拥有的管理面板。
- django-suit (opens new window):Django 管理界面的一个替代品 (仅对于非商业用途是免费的)。
- django-xadmin (opens new window):Django admin 的一个替代品,具有很多不错的功能。
- flask-admin (opens new window):一个用于 Flask 的简单可扩展的管理界面框架。
- flower (opens new window):一个对 Celery 集群进行实时监控和提供 web 管理界面的工具。
- Grappelli (opens new window):Django 管理界面的一个漂亮的皮肤。
- Wooey (opens new window):一个 Django 应用,可以为 Python 脚本创建 web 用户界面。
- django-grappelli (opens new window):拥有绚丽外观的 Django Admin 界面。
- django-jet (opens new window):具有改进功能的现代响应式 Django 管理界面模板。
- jet-bridge (opens new window):管理面板框架,适用于任何具有良好 UI 的应用(例如 Django)。
# Serverless 框架
使用 Python 开发 Serverless 模型相关的库。
- python-lambda (opens new window) :在 AWS Lambda 开发和部署 Python 代码的工具包。
- Zappa (opens new window):在 AWS Lambda 和 API Gateway 部署 WSGI 应用的工具。
# 静态站点生成器
静态站点生成器是一个软件,它把文本和模板作为输入,然后输出 HTML 文件。
- Pelican (opens new window):使用 Markdown 或 ReST 来处理内容, Jinja 2 来制作主题。支持 DVCS, Disqus.。AGPL 许可。
- Cactus (opens new window):为设计师设计的静态站点生成器。
- Hyde (opens new window):基于 Jinja2 的静态站点生成器。
- Nikola (opens new window):一个静态网站和博客生成器。
- Tinkerer (opens new window):Tinkerer 是一个博客引擎/静态站点生成器,由 Sphinx 驱动。
- Lektor (opens new window):一个简单易用的静态 CMS 和博客引擎。
- makesite (opens new window):简单轻量的站点/博客生成器 (小于 130 行代码)。
# 进程
操作系统进程启动及通信库。
- envoy (opens new window):比 Python subprocess (opens new window) 模块更人性化。
- sarge (opens new window):另一 种 subprocess 模块的封装。
- sh (opens new window):一个完备的 subprocess 替代库。
- delegator.py (opens new window):人性化的 Subprocesses (opens new window) 2.0 版本。
# 并发和并行
用以进行并发和并行操作的库。
- multiprocessing (opens new window):(Python 标准库) 基于进程的“线程”接口。
- threading (opens new window):(Python 标准库)更高层的线程接口。
- eventlet (opens new window):支持 WSGI 的异步框架。
- gevent (opens new window):一个基于协程的 Python 网络库,使用 greenlet (opens new window)。
- Tomorrow (opens new window):用于产生异步代码的神奇的装饰器语法实现。
- uvloop (opens new window):在 libuv 之上超快速实现 asyncio 事件循环。
- concurrent.futures (opens new window):(Python 标准库) 异步执行可调用对象的高级接口。
- gevent (opens new window):使用 greenlet (opens new window) 且基于协程的 Python 网络库。
- scoop (opens new window):支持在 Python 中进行可伸缩并行操作。
# 网络
用于网络编程的库。
- asyncio (opens new window):(Python 标准库) 异步 I/O, 事件循环, 协程以及任务。
- trio (opens new window):异步并发和 I/O 友好的库。
- Twisted (opens new window):一个事件驱动的网络引擎。
- pulsar (opens new window):事件驱动的并发框架。
- diesel (opens new window):基于 Greenlet 的事件 I/O 框架。
- pyzmq (opens new window):一个 ZeroMQ 消息库的 Python 封装。
- Toapi (opens new window):一个轻巧,简单,快速的 Flask 库,致力于为所有网站提供 API 服务。
- txZMQ (opens new window):基于 Twisted 的 ZeroMQ 消息库的 Python 封装。
# WebSocket
帮助使用 WebSocket 的库。
- AutobahnPython (opens new window):给 Python 、使用的 WebSocket & WAMP 基于 Twisted 和 asyncio (opens new window)。
- Crossbar (opens new window):开源统一应用路由(Websocket & WAMP for Python on Autobahn)。
- django-socketio (opens new window):给 Django 用的 WebSockets。
- WebSocket-for-Python (opens new window):为 Python2/3 以及 PyPy 编写的 WebSocket 客户端和服务器库。
# WSGI 服务器
兼容 WSGI 的 web 服务器
- gunicorn (opens new window):Pre-forked, 部分是由 C 语言编写的。
- uwsgi (opens new window):uwsgi 项目的目的是开发一组全栈工具,用来建立托管服务, 由 C 语言编写。
- bjoern (opens new window):异步,非常快速,由 C 语言编写。
- fapws3 (opens new window):异步 (仅对于网络端),由 C 语言编写。
- meinheld (opens new window):异步,部分是由 C 语言编写的。
- netius (opens new window):异步,非常快速。
- paste (opens new window):多线程,稳定,久经考验。
- rocket (opens new window):多线程。
- waitress (opens new window):多线程, 是它驱动着 Pyramid 框架。
- Werkzeug (opens new window):一个 WSGI 工具库,驱动着 Flask ,而且可以很方便大嵌入到你的项目中去。
# ASGI 服务器
兼容 ASGI 的 web 服务器。
- daphne (opens new window):用于 ASGI 和 ASGI-HTTP 的,支持 HTTP,HTTP2 和 WebSocket 协议的服务器。
- uvicorn (opens new window):使用 uvloop 和 httptools 实现的闪电般快速的 ASGI 服务器。
# RPC 服务器
兼容 RPC 的服务器。
- SimpleJSONRPCServer (opens new window):这个库是 JSON-RPC 规范的一个实现。
- SimpleXMLRPCServer (opens new window):(Python 标准库) 简单的 XML-RPC 服务器实现,单线程。
- zeroRPC (opens new window):zerorpc 是一个灵活的 RPC 实现,基于 ZeroMQ (opens new window) 和 MessagePack (opens new window)。
- RPyC (opens new window) (Remote Python Call):适用于 Python 的透明且对称的 RPC 库。
# 密码学
- cryptography (opens new window):这个软件包意在提供密码学基本内容和方法提供给 Python 开发者。
- hashids (opens new window):在 Python 中实现 hashids (opens new window) 。
- Paramiko (opens new window):SSHv2 协议的 Python (2.6+, 3.3+) ,提供客户端和服务端的功能。
- Passlib (opens new window):安全密码存储/哈希库。
- PyCrypto (opens new window):Python 密码学工具箱。
- PyNacl (opens new window):网络和密码学(NaCl) 库的 Python 绑定。
# 图形用户界面
用来创建图形用户界面程序的库。
- curses (opens new window):内建的 ncurses (opens new window) 封装,用来创建终端图形用户界面。
- enaml (opens new window):使用类似 QML 的 Declaratic 语法来创建美观的用户界面。
- kivy (opens new window):一个用来创建自然用户交互(NUI)应用程序的库,可以运行在 Windows, Linux, Mac OS X, Android 以及 iOS 平台上。
- pyglet (opens new window):一个 Python 的跨平台窗口及多媒体库。
- PyQt (opens new window):跨平台用户界面框架 Qt (opens new window) 的 Python 绑定 ,支持 Qt v4 和 Qt v5。
- PySide (opens new window):跨平台用户界面框架 Qt (opens new window) 的 Python 绑定 ,支持 Qt v4。
- Tkinter (opens new window):Tkinter 是 Python GUI 的一个事实标准库。
- Toga (opens new window):一个 Python 原生的, 操作系统原生的 GUI 工具包。
- urwid (opens new window):一个用来创建终端 GUI 应用的库,支持组件,事件和丰富的色彩等。
- wxPython (opens new window):wxPython 是 wxWidgets C++ 类库和 Python 语言混合的产物。
- PyGObject (opens new window):GLib/GObject/GIO/GTK+ (GTK+3) 的 Python 绑定。
- Flexx (opens new window):Flexx 是一个纯 Python 语言编写的用来创建 GUI 程序的工具集,它使用 web 技术进行界面的展示。
- Eel (opens new window):用于制作简单离线 HTML/JS GUI 应用的库。
- PySimpleGUI (opens new window):tkinter,Qt,WxPython 和 Remi 的封装。
- pywebview (opens new window):围绕网页视图组件的轻量级跨平台的原生包装。
- DearPyGui (opens new window):一个简单的可使用 GPU 加速的 Python GUI 框架。
# 游戏开发
超赞的游戏开发库。
- Cocos2d (opens new window):cocos2d 是一个用来开发 2D 游戏, 示例和其他图形/交互应用的框架。基于 pyglet。
- Panda3D (opens new window):由迪士尼开发的 3D 游戏引擎,并由卡内基梅陇娱乐技术中心负责维护。使用 C++ 编写, 针对 Python 进行了完全的封装。
- Pygame (opens new window):Pygame 是一组 Python 模块,用来编写游戏。
- PyOgre (opens new window):Ogre 3D 渲染引擎的 Python 绑定,可以用来开发游戏和仿真程序等任何 3D 应用。
- PyOpenGL (opens new window):OpenGL 的 Python 绑定及其相关 APIs。
- PySDL2 (opens new window):SDL2 库的封装,基于 ctypes。
- RenPy (opens new window):一个视觉小说(visual novel)引擎。
- Arcade (opens new window):一个现代 Python 框架,用于制作具有引人入胜的图形与声音的游戏。
- Harfang3D (opens new window):支持 3D,VR 与游戏开发的 Python 框架。
# 日志
用来生成和操作日志的库。
- logging (opens new window):(Python 标准库) 为 Python 提供日志功能。
- logbook (opens new window):Logging 库的替代品。
- Eliot (opens new window):为复杂的和分布式系统创建日志。
- Raven (opens new window):Sentry 的 Python 客户端。
- Sentry (opens new window):实时记录和收集日志的服务器。
- sentry-python (opens new window):Python 版 Sentry SDK。
- loguru (opens new window):旨在带来愉悦体验的 Python 日志库。
- structlog (opens new window):结构化日志,让日志变得简单。
# 测试
进行代码库测试和生成测试数据的库。
- 测试框架
- unittest (opens new window):(Python 标准库) 单元测试框架。
- nose (opens new window):nose 扩展了 unittest 的功能。
- nose2 (opens new window)
nose
的继任者,基于unittest2
。 - contexts (opens new window):一个 Python 3.3+ 的 BDD 框架。受到 C# Machine.Specifications 的启发。
- hypothesis (opens new window):Hypothesis 是一个基于先进的 Quickcheck 风格特性的测试库。
- mamba (opens new window):Python 的终极测试工具, 拥护 BDD。
- pyshould (opens new window):Should 风格的断言,基于 PyHamcrest (opens new window)。
- pytest (opens new window):一个成熟的全功能 Python 测试工具。
- green (opens new window):干净,多彩的测试工具。
- pyvows (opens new window):BDD 风格的测试工具,受 Vows.js 的启发。
- Robot Framework (opens new window):一个通用的自动化测试框架。
- tox (opens new window):自动化测试与发布的工具,支持多个 Python 版本。
- GUI / Web 测试
- Selenium (opens new window):Selenium (opens new window) WebDriver 的 Python 绑定。
- PyAutoGUI (opens new window):PyAutoGUI 是一个人性化的跨平台 GUI 自动测试模块。
- locust (opens new window):使用 Python 编写的,可扩展的用户加载测试工具。
- sixpack (opens new window):一个和语言无关的 A/B 测试框架。
- splinter (opens new window):开源的 web 应用测试工具。
- Schemathesis (opens new window):基于属性的自动测试工具,用于测试使用 Open API / Swagger 规范构建的 Web 应用程序。
- Mock 测试
- mock (opens new window):(Python 标准库) 一个用于伪造测试的库。
- doublex (opens new window):Python 的一个功能强大的 doubles 测试框架。
- freezegun (opens new window):通过伪造日期模块来生成不同的时间。
- httmock (opens new window):针对 Python 2.6+ 和 3.2+ 生成 伪造请求的库。
- httpretty (opens new window):Python 的 HTTP 请求 mock 工具。
- responses (opens new window):伪造 Python 中的 requests 库的一个通用库。
- VCR.py (opens new window):在你的测试中记录和重放 HTTP 交互。
- mocket (opens new window):gevent/asyncio/SSL 支持的 socket mock 框架。
- 对象工厂
- factoryboy (opens new window):一个 Python 用的测试固件 (test fixtures) 替代库。
- mixer (opens new window):另外一个测试固件 (test fixtures) 替代库,支持 Django, Flask, SQLAlchemy, Peewee 等。
- modelmommy (opens new window):为 Django 测试创建随机固件。
- 代码覆盖率
- coverage (opens new window):代码覆盖率测量。
- Codecov (opens new window):一个代码覆盖率测试工具,为开源项目提供免费代码覆盖率测试服务。
- 伪数据
- faker (opens new window):一个 Python 库,用来生成伪数据。
- fake2db (opens new window):伪数据库生成器。
- mimesis (opens new window):一个帮助你生成伪数据的 Python 库。
- radar (opens new window):生成随机的日期/时间。
- 错误处理
- FuckIt.py (opens new window):使用最先进的技术来保证你的 Python 代码无论对错都能继续运行。
# 渗透测试
渗透测试相关框架和工具。
- fsociety (opens new window):一款渗透测试框架。
- setoolkit (opens new window):社会工程工具包。
- sqlmap (opens new window):自动 SQL 注入和数据库接管工具。
# 代码分析和 Lint 工具
进行代码分析、解析和操作代码库的库和工具。
代码分析
- coala (opens new window):语言独立和易于扩展的代码分析应用程序。
- code2flow (opens new window):把你的 Python 和 JavaScript 代码转换为流程图。
- pycallgraph (opens new window):这个库可以把你的 Python 应用的流程(调用图)进行可视化。
- pysonar2 (opens new window):Python 类型推断和检索工具。
- prospector (opens new window):分析 Python 代码的工具。
- vulture (opens new window):用于发现和分析无效 Python 代码的工具。
Lint 工具
Flake8 (opens new window):模块化源码检查工具,提供与
pycodestyle
、pyflakes
、McCabe 相关的装饰器。Pylint (opens new window):一个完全可定制的源码分析器。
YAPF (opens new window):Google 的 Python 代码格式化工具。
pylama (opens new window):Python 和 JavaScript 的代码审查工具。
wemake-python-styleguide (opens new window):有史以来最严格的 Python 代码审查工具。
代码格式化
- autopep8 (opens new window):自动格式化 Python 代码,以使其符合 PEP8 规范。
- black (opens new window):一个坚定的 Python 代码格式化工具。
- isort (opens new window):用于纠正包导入顺序的 Python 库。
静态类型检查,也可以参考 awesome-python-typing (opens new window)
- mypy (opens new window):在编译期间检查变量类型。
- pyre-check (opens new window):性能类型检查。
- typeshed (opens new window):带有静态类型的 Python 库存根的集合。
静态类型注释生成器
- MonkeyType (opens new window):通过收集运行时的类型来为 Python 生成静态类型注释的系统。
- pyannotate (opens new window):自动生成符合 PEP-484 的注解。
- pytype (opens new window):检查和推断 Python 代码中的类型,无需添加注解。
# 调试工具
用来进行代码调试的库。
调试器
- ipdb (opens new window):IPython 启用的 pdb (opens new window)。
- pudb (opens new window):全屏,基于控制台的 Python 调试器。
- pdb++ (opens new window):另一种 pdb 的替代。
- pyringe (opens new window):可以在 Python 进程中附加和注入代码的调试器。
- wdb (opens new window):一个奇异的 web 调试器,通过 WebSockets 工作。
- winpdb (opens new window):一个具有图形用户界面的 Python 调试器,可以进行远程调试,基于 rpdb2。
追踪器
- lptrace (opens new window):为 Python 程序打造的 strace (opens new window)。
- manhole (opens new window):调试 UNIX 套接字连接,并显示所有线程的堆栈跟踪和交互式提示。
- pyringe (opens new window):能够附加到 Python 进程并将代码注入 Python 进程的调试器。
- python-hunter (opens new window):一个灵活的代码追踪工具包。
性能分析器
- lineprofiler (opens new window):逐行性能分析。
- Memory Profiler (opens new window)、内存 (opens new window):监控 Python 代码的内存使用。
- profiling (opens new window):一个交互式 Python 性能分析工具。
- py-spy (opens new window):Python 程序采样分析器,使用 Rust 实现。
- pyflame (opens new window):用于 Python 的跟踪分析器。
- vprof (opens new window):视觉 Python 分析器。
其他
- pyelftools (opens new window):解析和分析 ELF 文件以及 DWARF 调试信息。
- python-statsd (opens new window):statsd (opens new window) 服务器的 Python 客户端。
- django-debug-toolbar (opens new window):为 Django 显示各种调试信息。
- django-devserver (opens new window):一个 Django 运行服务器的替代品。
- flask-debugtoolbar (opens new window):django-debug-toolbar 的 flask 版。
- icecream (opens new window):通过一个简单的函数调用检查变量、表达式和程序执行情况。
# 科学计算和数据分析
用来进行科学计算和数据分析的库。
- astropy (opens new window):一个天文学 Python 库。
- bcbio-nextgen (opens new window):这个工具箱为全自动高通量测序分析提供符合最佳实践的处理流程。
- bccb (opens new window):生物分析相关代码集合。
- Biopython (opens new window):Biopython 是一组可以免费使用的用来进行生物计算的工具。
- blaze (opens new window):NumPy 和 Pandas 的大数据接口。
- cclib (opens new window):一个用来解析和解释计算化学软件包输出结果的库。
- NetworkX (opens new window):一个为复杂网络设计的高性能软件。
- Neupy (opens new window):执行和测试各种不同的人工神经网络算法。
- NumPy (opens new window):使用 Python 进行科学计算的基础包。
- Open Babel (opens new window):一个化学工具箱,用来描述多种化学数据。
- Open Mining (opens new window):使用 Python 挖掘商业情报 (BI) (Pandas web 接口)。
- orange (opens new window):通过可视化编程或 Python 脚本进行数据挖掘,数据可视化,分析和机器学习。
- Pandas (opens new window):提供高性能,易用的数据结构和数据分析工具。
- PyDy (opens new window):PyDy 是 Python Dynamics 的缩写,用来为动力学运动建模工作流程提供帮助, 基于 NumPy, SciPy, IPython 和 matplotlib。
- PyMC (opens new window):马尔科夫链蒙特卡洛采样工具。
- RDKit (opens new window):化学信息学和机器学习软件。
- SciPy (opens new window):由一些基于 Python ,用于数学,科学和工程的开源软件构成的生态系统。
- statsmodels (opens new window):统计建模和计量经济学。
- SymPy (opens new window):一个用于符号数学的 Python 库。
- zipline (opens new window):一个 Python 算法交易库。
- Bayesian-belief-networks (opens new window):优雅的贝叶斯理念网络框架。
- AWS Data Wrangler (opens new window):AWS 平台上使用的 Pandas。
- Optimus (opens new window):在使用 PySpark 时,让敏捷数据科学工作流程变得简单。
- Colour (opens new window):大量色彩理论转换和算法的实现。
- Karate Club (opens new window):用于图形结构化数据的无监督机器学习工具箱。
- NIPY (opens new window):神经影响学工具箱集合。
- ObsPy (opens new window):地震学 Python 工具箱。
- QuTiP (opens new window):Python 版 Quantum 工具箱。
- SimPy (opens new window):一个基于过程的离散事件模拟框架。
# 数据可视化
进行数据可视化的库。 参见:awesome-javascript (opens new window)。
- matplotlib (opens new window):一个 Python 2D 绘图库。
- bokeh (opens new window):用 Python 进行交互式 web 绘图。
- ggplot (opens new window):ggplot2 给 R 提供的 API 的 Python 版本。
- plotly (opens new window):协同 Python 和 matplotlib 工作的 web 绘图库。
- pyecharts (opens new window):基于百度 Echarts 的数据可视化库。
- pygal (opens new window):一个 Python SVG 图表创建工具。
- pygraphviz (opens new window):Graphviz 的 Python 接口。
- PyQtGraph (opens new window):交互式实时 2D/3D/ 图像绘制及科学/工程学组件。
- SnakeViz (opens new window):一个基于浏览器的 Python's cProfile 模块输出结果查看工具。
- vincent (opens new window):把 Python 转换为 Vega 语法的转换工具。
- VisPy (opens new window):基于 OpenGL 的高性能科学可视化工具。
- Altair (opens new window):用于 Python 的声明式统计可视化库。
- bqplot (opens new window):Jupyter Notebook 的交互式绘图库。
- Cartopy (opens new window):具有 matplotlib 支持的 python 制图库。
- Dash (opens new window):构建在 Flask、React 和 Plotly 之上,旨在用于分析 Web 应用程序。
- diagrams (opens new window):用图表作为代码。
- plotnine (opens new window):基于 ggplot2 的 Python 图形语法。
- PyGraphviz (opens new window): Graphviz (opens new window) 的 Python 接口。
- Seaborn (opens new window):使用 Matplotlib 进行统计数据可视化。
# 计算机视觉
计算机视觉相关库。
- OpenCV (opens new window):开源计算机视觉库。
- pyocr (opens new window):Tesseract 和 Cuneiform 的包装库。
- pytesseract (opens new window):Google Tesseract OCR (opens new window) 的另一包装库。
- SimpleCV (opens new window):一个用来创建计算机视觉应用的开源框架。
- EasyOCR (opens new window):支持 40 多种语言的即用型 OCR。
- Face Recognition (opens new window):简单的面部识别库。
- Kornia (opens new window):PyTorch 的开源差异化计算机视觉库。
- tesserocr (opens new window):另一个简单的,兼容 Pillow 的
tesseract-ocr
API 装饰器,可用于 OCR。
# 深度学习
神经网络和深度学习相关框架。 也可以参考 awesome-deep-learning (opens new window)。
- Caffe (opens new window):一个 Caffe (opens new window) 的 python 接口。
- Caffe2 (opens new window):一个轻量级的,模块化的,可扩展的深度学习框架。
- keras (opens new window):以 tensorflow/theano/CNTK 为后端的深度学习封装库,快速上手神经网络。
- MXNet (opens new window):一个高效和灵活的深度学习框架。
- Pytorch (opens new window):一个具有张量和动态神经网络,并有强大 GPU 加速能力的深度学习框架。
- SerpentAI (opens new window):游戏代理框架,可使用任意视频游戏作为深度学习沙箱。
- Theano (opens new window):一个快速数值计算库。
- TensorFlow (opens new window):谷歌开源的最受欢迎的深度学习框架。
- skflow (opens new window):一个 TensorFlow (opens new window) 的简化接口(模仿 scikit-learn)。
- hebel (opens new window):GPU 加速的深度学习库。
- pydeep (opens new window):Python 深度学习库。
# 机器学习
机器学习相关库,也可以参考 awesome-machine-learning (opens new window)。
- Crab (opens new window):灵活、快速的推荐引擎。
- NuPIC (opens new window):智能计算 Numenta 平台。
- pattern (opens new window):Python 网络挖掘模块。
- PyBrain (opens new window):另一个 Python 机器学习库。
- Pylearn2 (opens new window):一个基于 Theano (opens new window) 的机器学习库。
- python-recsys (opens new window):一个用来实现推荐系统的 Python 库。
- scikit-learn (opens new window):基于 SciPy 构建的机器学习 Python 模块。
- vowpalporpoise (opens new window):轻量级 Vowpal Wabbit (opens new window) 的 Python 封装。
- gym (opens new window):开发和比较强化学习算法的工具包。
- H2O (opens new window):开源快速可扩展的机器学习平台。
- Metrics (opens new window):机器学习的评估指标。
- vowpal_porpoise (opens new window):Python 版 Vowpal Wabbit (opens new window) 装饰器。
- xgboost (opens new window):可扩展,便携式和分布式梯度提升库。
- MindsDB (opens new window):MindsDB 是现有数据库的开源 AI 层,可让使用标准查询轻松地进行开发,训练和部署最新的机器学习模型。
# 推荐系统
用于构建推荐系统的相关库。
- annoy (opens new window):对 C++/Python 实现的近似近邻算法进行了内存优化。
- fastFM (opens new window):Factorization Machine 相关库。
- implicit (opens new window):对隐式数据集进行协作过滤的快速 Python 实现。
- libffm (opens new window):Field-aware Factorization Machine (FFM) 相关库。
- lightfm (opens new window):很多流行的推荐算法的 Python 实现。
- spotlight (opens new window):使用 PyTorch 实现的深度推荐模型。
- Surprise (opens new window):用于构建和分析推荐系统的科学工具。
- tensorrec (opens new window):TensorFlow 的推荐引擎框架。
# 分布式计算
分布式计算相关的框架和库。
- dpark (opens new window):Spark 的 Python 克隆版,一个类似 MapReduce 的框架。
- dumbo (opens new window):这个 Python 模块可以让人轻松的编写和运行 Hadoop 程序。
- luigi (opens new window):这个模块帮你构建批处理作业的复杂流水线。
- mrjob (opens new window):在 Hadoop 或 Amazon Web Services 上运行 MapReduce 任务。
- dask (opens new window):用于分析计算的灵活的并行计算库。
- PySpark (opens new window):Spark 的 Python API 。
- Ray (opens new window):一个用于并行和分布式 Python 的系统,它统一了机器学习生态系统。
- faust (opens new window):一个 Python 流处理库,核心思想来源 Kafka Streams (opens new window)。
- streamparse (opens new window):运行针对事实数据流的 Python 代码。集成了 Apache Storm (opens new window)。
# 函数式编程
使用 Python 进行函数式编程。
- CyToolz (opens new window):Toolz 的 Cython 实现:高性能函数式工具。
- fn.py (opens new window):在 Python 中进行函数式编程:实现了一些享受函数式编程缺失的功能。
- funcy (opens new window):炫酷又实用的函数式工具。
- Toolz (opens new window):一组用于迭代器,函数和字典的函数式编程工具。
- Coconut (opens new window):为了简单、优雅、更 Pythonic 的函数式编程而构建的 Python 变体。
- more-itertools (opens new window):比
itertools
拥有更多的可迭代对象的操作方式。 - returns (opens new window):一个类型安全的单元、转换器与合成工具集合。
# 第三方 API
用来访问第三方 API 的库。 参见: List of Python API Wrappers and Libraries (opens new window)。
- apache-libcloud (opens new window):一个为各种云设计的 Python 库。
- boto3 (opens new window):Amazon Web Services 的 Python 接口。
- django-wordpress (opens new window):Django 的 WordPress 模型与视图。
- facebook-sdk (opens new window):Facebook 平台的 Python SDK。
- facepy (opens new window):Facepy 让和 Facebook's Graph API 的交互变得更容易。
- gmail (opens new window):Gmail 的 Python 接口。
- google-api-python-client (opens new window):Python 用的 Google APIs 客户端库。
- gspread (opens new window):Google 电子表格的 Python API。
- twython (opens new window):Twitter API 的封装。
# DevOps 工具
用于 DevOps 的软件和库。
- Ansible (opens new window):一个非常简单的 IT 自动化平台。
- SaltStack (opens new window):基础设施自动化和管理系统。
- OpenStack (opens new window):用于构建私有和公有云的开源软件。
- Docker Compose (opens new window):快速,分离的开发环境,使用 Docker。
- Fabric (opens new window):一个简单的,Python 风格的工具,用来进行远程执行和部署。
- cuisine (opens new window):为 Fabric 提供一系列高级函数。
- Fabtools (opens new window):一个用来编写超赞的 Fabric 文件的工具。
- gitapi (opens new window):Git 的纯 Python API。
- hgapi (opens new window):Mercurial 的纯 Python API。
- honcho (opens new window):Foreman (opens new window) 的 Python 克隆版,用来管理基于 Procfile (opens new window) 的应用。
- pexpect (opens new window):在一个伪终端中控制交互程序,就像 GNU expect 一样。
- psutil (opens new window):一个跨平台进程和系统工具模块。
- supervisor (opens new window):UNIX 的进程控制系统。
- cloudinit (opens new window):一个多分发包,用于处理云实例的早期初始化。
- pyinfra (opens new window):一个通用的 CLI 工具包和 python 库,用于自动化的基础设施。
- honcho (opens new window):Foreman (opens new window) 的 Python 克隆版,用于管理基于 Procfile 的应用。
- BorgBackup (opens new window):具有压缩和加密功能的重复数据删除存档器。
- docker-compose (opens new window): 使用 Docker (opens new window) 的快速独立的开发环境。
# 任务调度
任务调度库。
- APScheduler (opens new window):轻巧但强大的进程内任务调度,使你可以调度函数。
- django-schedule (opens new window):一个 Django 排程应用。
- doit (opens new window):一个任务执行和构建工具。
- gunnery (opens new window):分布式系统使用的多用途任务执行工具 ,具有 web 交互界面。
- Joblib (opens new window):一组为 Python 提供轻量级作业流水线的工具。
- Plan (opens new window):如有神助地编写 crontab 文件。
- schedule (opens new window):人性化的 Python 任务调度库。
- Spiff (opens new window):使用纯 Python 实现的强大的工作流引擎。
- TaskFlow (opens new window):一个可以让你方便执行任务的 Python 库,一致并且可靠。
- Airflow (opens new window) :是一个工作流分配管理系统,通过有向非循环图的方式管理任务流程,设置任务依赖关系和时间调度。
- Prefect (opens new window):一个现代的工作流程编排框架,使构建、计划和监视健壮的数据管道变得容易。
# 外来函数接口
使用外来函数接口的库。
- cffi (opens new window):用来调用 C 代码的外来函数接口。
- ctypes (opens new window):(Python 标准库) 用来调用 C 代码的外来函数接口。
- PyCUDA (opens new window):Nvidia CUDA API 的封装。
- SWIG (opens new window):简化的封装和接口生成器。
# 重构
Python 重构相关库和工具。
- Bicycle Repair Man (opens new window):Python 的重构工具。
- Bowler (opens new window):适用于现代 Python 的安全代码重构。
- Rope (opens new window):一个 Python 的重构库。
# 高性能
让 Python 更快的库。
- Cython (opens new window):优化的 Python 静态编译器。使用类型混合使 Python 编译成 C 或 C++ 模块来获得性能的极大提升。
- CLPython (opens new window):用 Common Lisp 编写的 Python 编程语言的实现。
- Grumpy (opens new window):编译器比解释器更强大的 cpython2.7 替代品(alpha)。
- IronPython (opens new window):用 C#编写的 Python 编程语言的实现。
- Jython (opens new window):为 JVM 用 Java 编写的 Python 编程语言的实现。
- MicroPython (opens new window):精简高效的 Python 编程语言实现。
- Pyjion (opens new window):基于 CoreCLR 的 Python JIT。
- Numba (opens new window):Python JIT (just in time) 编译器,针对科学用的 Python ,由 Cython 和 NumPy 的开发者开发。
- PeachPy (opens new window):嵌入 Python 的 x86-64 汇编器。可以被用作 Python 内联的汇编器或者是独立的汇编器,用于 Windows, Linux, OS X, Native Client 或者 Go 。
- PyPy (opens new window):使用 Python 实现的 Python。解释器使用黑魔法加快 Python 运行速度且不需要加入额外的类型信息。
- Pyston (opens new window):使用 LLVM 和现代 JIT 技术构建的 Python 实现,目标是为了获得很好的性能。
- Stackless Python (opens new window):一个强化版的 Python。
# 微软的 Windows 平台
在 Windows 平台上进行 Python 编程。
- Python(x,y) (opens new window):面向科学应用的 Python 发行版,基于 Qt 和 Spyder。
- pythonlibs (opens new window):非官方的 Windows 平台 Python 扩展二进制包。
- PythonNet (opens new window):Python 与 .NET 公共语言运行库 (CLR)的集成。
- PyWin32 (opens new window):针对 Windows 的 Python 扩展。
- WinPython (opens new window):Windows 7/8 系统下便携式开发环境。
# 网络可视化和 SDN
用来进行网络可视化和 SDN(软件定义网络)的工具和库。
- Mininet (opens new window):一款流行的网络模拟器以及用 Python 编写的 API。
- POX (opens new window):一个针对基于 Python 的软件定义网络应用(例如 OpenFlow SDN 控制器)的开源开发平台。
- Pyretic (opens new window):火热的 SDN 编程语言中的一员,为网络交换机和模拟器提供强大的抽象能力。
- SDX Platform (opens new window):基于 SDN 的 IXP 实现,影响了 Mininet, POX 和 Pyretic。
- NRU (opens new window):一个基于组件的软件定义网络框架。
- napalm (opens new window):可跨供应商 API 来操纵网络设备。
# 硬件
用来对硬件进行编程的库。
- ino (opens new window):操作 Arduino (opens new window) 的命令行工具。
- Pyro (opens new window):Python 机器人编程库。
- PyUserInput (opens new window):跨平台的,控制鼠标和键盘的模块。
- scapy (opens new window):一个非常棒的操作数据包的库。
- wifi (opens new window):一个 Python 库和命令行工具用来在 Linux 平台上操作 WiFi。
- Pingo (opens new window):Pingo 为类似 Raspberry Pi,pcDuino, Intel Galileo 等设备提供统一的 API 用以编程。
- keyboard (opens new window):在 Windows 和 Linux 上挂钩并模拟全局键盘事件。
- mouse (opens new window):在 Windows 和 Linux 上挂钩并模拟全局鼠标事件。
# 兼容性
帮助从 Python 2 向 Python 3 迁移的库。
- Python-Future (opens new window):这就是 Python 2 和 Python 3 之间丢失的那个兼容性层。
- Six (opens new window):Python 2 和 3 的兼容性工具。
- modernize (opens new window):使 Python 代码更加现代化以便最终迁移到 Python 3。
# 算法和设计模式
数据结构、算法和设计模式的 Python 实现。也可以参考 awesome-algorithms (opens new window) 。
- 算法
- algorithms (opens new window):数据结构和算法的简单示例。
- python-ds (opens new window):用于面试的数据结构和算法的集合。
- sortedcontainers (opens new window):排序集合的快速的纯 Python 实现。
- TheAlgorithms (opens new window):所有算法的 Python 实现。
- 设计模式
- PyPattyrn (opens new window):一个简单而有效的库,用于实现常见的设计模式。
- python-patterns (opens new window):一个 Python 设计模式集合。
- transitions (opens new window):轻量级的,面向对象的有限状态机实现。
# 内置类的增强版实现
一些 Python 内置类的增强版实现库。
- attrs (opens new window):一个在类定义时可替换
__init__
,__eq__
,__repr__
等方法的样板。 - bidict (opens new window):高效的 Pythonic 的双向映射数据结构和相关功能。
- Box (opens new window):具有高级点符号访问权限的 Python 字典。
- dataclasses (opens new window):(Python 标准库) 数据类。
- DottedDict (opens new window):提供一种使用点路径符号访问列表和字典的方法的库。
# 机器人
机器人相关库。
- PythonRobotics (opens new window):各种具有可视化效果的机器人算法的汇总。
- rospy (opens new window):ROS (Robot Operating System) 库。
# 聊天工具
聊天机器人开发相关的库。
- errbot (opens new window):实现 ChatOps 的最简单最受欢迎的聊天机器人。
# 编辑器插件和 IDE
- Emacs
- elpy (opens new window):Emacs Python 开发环境。
- Sublime Text
- anaconda (opens new window):Anaconda 可将功能齐全的 Python 开发 IDE 转换为 Sublime Text 3。
- SublimeJEDI (opens new window):一个很棒的自动补全库 Jedi 的 Sublime Text 插件。
- Vim
- jedi-vim (opens new window):用于 Python 的 Jedi 自动补全库的 Vim 绑定。
- python-mode (opens new window):一个将 Vim 转换为 Python IDE 的多合一插件。
- YouCompleteMe (opens new window):包含 Jedi 补全的 Python 引擎。
- Visual Studio
- PTVS (opens new window):Visual Studio Python 工具。
- Visual Studio Code
- Python (opens new window):对 Python 有丰富支持的官方 VSCode 扩展。
- IDE
- PyCharm (opens new window):JetBrains 提供的商业 Python IDE,也有免费的社区版。
- spyder (opens new window): 开源 Python IDE。
# 企业级应用集成
企业级环境中用于集成的平台与工具。
- Zato (opens new window):ESB, SOA, REST, APIs 以及云的 Python 整合。
# GraphQL
GraphQL 相关库。
- graphene (opens new window):Python GraphQL 框架。
- tartiflette-aiohttp (opens new window):Tartiflette 的基于 aiohttp 的装饰器,用于通过 HTTP 公开 GraphQL API。
- tartiflette-asgi (opens new window):Tartiflette GraphQL 引擎的 ASGI 支持。
- tartiflette (opens new window):支持 Python 3.6+ 和 asyncio 的 SDL 优先的 GraphQL 引擎实现。
# 杂项
不属于上面任何一个类别,但是非常有用的库。
- blinker (opens new window):快速的 Python 运行时信号/事件分配系统。
- boltons (opens new window):一组纯 Python 实用工具。
- itsdangerous (opens new window):将受信任的数据传递到不受信任的环境的帮助工具。
- magenta (opens new window):使用人工智能生成音乐与艺术的工具。
- pluginbase (opens new window):一个简单但灵活的 Python 插件系统。
- tryton (opens new window):一个通用业务框架。