记一些Python库
环境管理
管理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。
Warehousebandersnatch–PyPA提供的PyPI镜像工具。
-
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–Python3的类库,用于解析手写格式的时间和日期。
-
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–在中日韩语字符和数字字母之间添加空格。
-
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–一个用来读写Excel2010xlsx/xlsm/xltx/xltm文件的库。
-
python-docx–读取,查询以及修改Microsoft Word2007/2008docx文件。
-
unoconv–在LibreOffice/OpenOffice支持的任意文件格式之间进行转换。
-
XlsxWriter–一个用于创建Excel.xlsx文件的Python模块。
-
xlwings–一个使得在Excel中方便调用Python的库(反之亦然),基于BSD协议。
-
xlwt/xlrd–读写Excel文件的数据和格式信息。
-
relatorio–模板化OpenDocument文件。
-
PDF
-
PDFMiner–一个用于从PDF文档中抽取信息的工具。
-
PyPDF2–一个可以分割,合并和转换PDF页面的库。
-
ReportLab–快速创建富文本PDF文档。
-
Markdown
-
Mistune–快速并且功能齐全的纯Python实现的Markdown解析器。
-
Python-Markdown–John Gruber’s Markdown的Python版实现。
-
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–将设置和代码完全隔离。
命令行工具
用于创建命令行程序的库。
-
命令行程序开发
-
cement–Python的命令行程序框架。
-
click–一个通过组合的方式来创建精美命令行界面的包。
-
cliff–一个用于创建命令行程序的框架,可以创建具有多层命令的命令行程序。
-
clint–Python命令行程序工具。
-
colorama–跨平台彩色终端文本。
-
docopt–Python风格的命令行参数解析器。
-
Gooey–一条命令,将命令行程序变成一个GUI程序。
-
python-prompt-toolkit–一个用于构建强大的交互式命令行程序的库。
-
生产力工具
-
aws-cli–Amazon Web Services的通用命令行界面。
-
bashplotlib–在终端中进行基本绘图。
-
caniusepython3–判断是哪个项目妨碍你你移植到Python3。
-
cookiecutter–从cookiecutters(项目模板)创建项目的一个命令行工具。
-
doitlive–一个用来在终端中进行现场演示的工具。
-
howdoi–通过命令行获取即时的编程问题解答。
-
httpie–一个命令行HTTP客户端,cURL的替代品,易用性更好。
-
PathPicker–从bash输出中选出文件。
-
percol–向UNIX shell传统管道概念中加入交互式选择功能。
-
SAWS–一个加强版的AWS命令行。
-
thefuck–修正你之前的命令行指令。
-
mycli–一个MySQL命令行客户端,具有自动补全和语法高亮功能。
-
pgcli–Postgres命令行工具,具有自动补全和语法高亮功能。
下载器
用来进行下载的库。
-
s3cmd–一个用来管理AmazonS3和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。
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 文件和回放功能。
视频
用来操作视频和GIF的库。
-
moviepy–一个用来进行基于脚本的视频编辑模块,适用于多种格式,包括动图GIFs。
-
scikit-video–SciPy视频处理常用程序。
地理位置
地理编码地址以及用来处理经纬度的库。
-
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数据库连接器。
-
mysqlclient–mysql-python分支,支持Python3。
-
oursql–一个更好的MySQL连接器,支持原生预编译指令和BLOBs。
-
PyMySQL–纯Python MySQL驱动,兼容mysql-python。
-
PostgreSQL
-
psycopg2–Python中最流行的PostgreSQL适配器。
-
queries–psycopg2库的封装,用来和PostgreSQL进行交互。
-
txpostgres–基于Twisted的异步PostgreSQL驱动。
-
其他关系型数据库
-
apsw–另一个Python SQLite封装。
-
dataset–在数据库中存储Python字典–可以协同SQLite,MySQL,和PostgreSQL工作。
-
pymssql-一个简单的Microsoft SQL Server数据库接口。
-
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
实现对象关系映射或数据映射技术的库。
-
关系型数据库
-
awesome-sqlalchemy系列
-
Django Models–Django的一部分。
-
SQLAlchemy–Python SQL工具以及对象关系映射工具。
-
Peewee–一个小巧,富有表达力的ORM。
-
PonyORM–提供面向生成器的SQL接口的ORM。
-
python-sql–编写Python风格的SQL查询。
-
NoSQL 数据库
-
django-mongodb-engine–Django MongoDB后端。
-
PynamoDB–Amazon DynamoDB的一个Python风格接口。
-
flywheel–Amazon DynamoDB的对象映射工具。
-
MongoEngine–一个Python对象文档映射工具,用于MongoDB。
-
hot-redis–为Redis提供Python丰富的数据类型。
-
redisco–一个Python库,提供可以持续存在在Redis中的简单模型和容器。
-
其他
-
butterdb–Google Drive电子表格的Python ORM。
Web 框架
全栈 web 框架。
-
Django – Python 界最流行的 web 框架。
awesome-django系列
-
Flask – 一个 Python 微型框架。
https://github.com/humiaozuzu/awesome-flask系列
-
Pyramid – 一个小巧,快速,接地气的开源Python web 框架。
awesome-pyramid系列
-
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
内容管理系统。
-
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
-
flask-api–为flask开发的,可浏览Web APIs。
-
flask-restful–为flask快速创建REST APIs。
-
flask-restless–为SQLAlchemy定义的数据库模型创建RESTful APIs。
-
flask-api-utils–为Flask处理API表示和验证。
-
eve–REST API框架,由Flask,MongoDB等驱动。
-
Pyramid
-
cornice–一个Pyramid的REST框架。
-
与框架无关的
-
falcon–一个用来建立云API和web app后端的噶性能框架。
-
sandman–为现存的数据库驱动系统自动创建REST APIs。
-
restless–框架无关的REST框架 ,基于从Tastypie学到的知识。
-
ripozo–快速创建REST/HATEOAS/Hypermedia APIs。
验证
实现验证方案的库。
-
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客户端实现。
-
其他
-
jose–Java对象签名和加密草案的实现。
-
PyJWT–JSON Web令牌草案01。
-
python-jws–JSON Web签名草案02的实现。
-
python-jwt–一个用来生成和验证JSON Web令牌的模块。
模板引擎
模板生成和词法解析的库和工具。
-
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–将链接和内联的Java或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-集成了Bootstrap3的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来处理内容,Jinja2来制作主题。支持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-用于产生异步代码的神奇的装饰器语法实现。
网络
用于网络编程的库。
-
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–Ogre3D渲染引擎的Python绑定,可以用来开发游戏和仿真程序等任何3D应用。
-
PyOpenGL–OpenGL的Python绑定及其相关APIs。
-
PySDL2–SDL2库的封装,基于ctypes。
-
RenPy–一个视觉小说(visual novel)引擎。
日志
用来生成和操作日志的库。
-
logging–(Python标准库)为Python提供日志功能。
-
logbook–Logging库的替代品。
-
Eliot–为复杂的和分布式系统创建日志。
-
Raven–Sentry的Python客户端。
-
Sentry–实时记录和收集日志的服务器。
测试
进行代码库测试和生成测试数据的库。
-
测试框架
-
unittest–(Python标准库)单元测试框架。
-
nose–nose扩展了unittest的功能。
-
contexts–一个Python3.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 测试
-
Selenium–Selenium WebDriver的Python绑定。
-
locust–使用Python编写的,可扩展的用户加载测试工具。
-
sixpack–一个和语言无关的A/B测试框架。
-
splinter–开源的web应用测试工具。
-
Mock测试
-
mock–(Python标准库)一个用于伪造测试的库。
-
doublex–Python的一个功能强大的doubles测试框架。
-
freezegun–通过伪造日期模块来生成不同的时间。
-
httmock–针对Python 2.6+和3.2+生成伪造请求的库。
-
httpretty–Python的HTTP请求mock工具。
-
responses–伪造Python中的requests库的一个通用库。
-
VCR.py–在你的测试中记录和重放HTTP交互。
-
对象工厂
-
factoryboy–一个Python用的测试固件(test fixtures)替代库。
-
mixer–另外一个测试固件(test fixtures)替代库,支持Django、Flask、SQLAlchemy、Peewee等。
-
modelmommy–为Django测试创建随机固件。
-
代码覆盖率
-
coverage–代码覆盖率测量。
-
伪数据
-
faker–一个Python库,用来生成伪数据。
-
fake2db–伪数据库生成器。
-
radar–生成随机的日期/时间。
-
错误处理
-
FuckIt.py–FuckIt.py使用最先进的技术来保证你的 Python 代码无论对错都能继续运行。
代码分析和Lint工具
进行代码分析,解析和操作代码库的库和工具。
-
代码分析
-
code2flow–把你的Python和Java代码转换为流程图。
-
pycallgraph-这个库可以把你的Python应用的流程(调用图)进行可视化。
-
pysonar2–Python类型推断和检索工具。
-
Lint工具
-
Flake8–模块化源码检查工具:pep8、pyflakes以及co。
-
Pylint–一个完全可定制的源码分析器。
-
pylama–Python和Java的代码审查工具。
调试工具
用来进行代码调试的库。
-
调试器
-
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–逐行性能分析。
-
memoryprofiler–监控Python代码的内存使用。
-
profiling–一个交互式Python性能分析工具。
-
其他
-
pyelftools–解析和分析ELF文件以及DWARF调试信息。
-
python-statsd–statsd服务器的Python客户端。
科学技术和数据分析
用来进行科学计算和数据分析的库。
-
astropy–一个天文 Python库。
-
bcbio-nextgen–这个工具箱为全自动高通量测序分析提供符合最佳实践的处理流程。
-
bccb–生物分析相关代码集合
-
Biopython–Biopython是一组可以免费使用的用来进行生物计算的工具。
-
blaze–NumPy和Pandas的大数据接口。
-
cclib–一个用来解析和解释计算化学软件包输出结果的库。
-
NetworkX–一个为复杂网络设计的高性能软件。
-
Neupy–执行和测试各种不同的人工神经网络算法。
-
Numba–Python JIT(just in time)编译器,针对科学用的Python,由Cython和NumPy的开发者开发。
-
NumPy–使用Python进行科学计算的基础包。
-
Open Babel–一个化学工具箱,用来描述多种化学数据。
-
Open Mining–使用Python挖掘商业情报(BI)(Pandas web接口)。
-
orange–通过可视化编程或Python脚本进行数据挖掘,数据可视化,分析和机器学习。
-
Pandas–提供高性能,易用的数据结构和数据分析工具。
-
PyDy–PyDy是Python Dynamics的缩写,用来为动力学运动建模工作流程提供帮助,基于NumPy、SciPy、IPython和matplotlib。
-
PyMC–马尔科夫链蒙特卡洛采样工具。
-
RDKit–化学信息学和机器学习软件。
-
SciPy–由一些基于Python用于数学,科学和工程的开源软件构成的生态系统。
-
statsmodels–统计建模和计量经济学。
-
SymPy–一个用于符号数学的Python库。
-
zipline–一个Python算法交易库。
数据可视化
进行数据可视化的库。参见:awesome-java。
matplotlib–一个Python2D绘图库。
bokeh–用Python进行交互式web绘图。
ggplot–ggplot2给R提供的API的Python版本。
plotly–协同Python和matplotlib工作的web绘图库。
pygal–一个Python SVG图表创建工具。
pygraphviz–Graphviz的Python接口。
PyQtGraph–交互式实时2D/3D/图像绘制及科学/工程学组件。
SnakeViz–一个基于浏览器的Python’s cProfile模块输出结果查看工具。
vincent–把Python转换为Vega语法的转换工具。
VisPy–基于OpenGL的高性能科学可视化工具。
计算机视觉
计算机视觉库。
-
OpenCV–开源计算机视觉库。
-
SimpleCV–一个用来创建计算机视觉应用的开源框架。
机器学习
机器学习库。参见:awesome-machine-learning。
-
Crab–灵活、快速的推荐引擎。
-
gensim–人性化的话题建模库。
-
hebel–GPU加速的深度学习库。
-
NuPIC–智能计算Numenta平台。
-
pattern–Python网络挖掘模块。
-
PyBrain–另一个Python机器学习库。
-
Pylearn2–一个基于Theano的机器学习库。
-
python-recsys–一个用来实现推荐系统的Python库。
-
scikit-learn–基于SciPy构建的机器学习Python模块。
-
pydeep–Python深度学习库。
-
vowpalporpoise–轻量级Vowpal Wabbit的Python封装。
-
skflow–一个TensorFlow的简化接口(模仿scikit-learn)。
MapReduce
MapReduce框架和库。
-
dpark–Spark的Python克隆版,一个类似MapReduce的框架。
-
dumbo–这个Python模块可以让人轻松的编写和运行Hadoop程序。
-
luigi–这个模块帮你构建批处理作业的复杂流水线。
-
mrjob–在Hadoop或Amazon Web Services上运行MapReduce任务。
-
PySpark–Spark的Python API。
-
streamparse–运行针对事实数据流的Python代码。集成了Apache Storm。
函数式编程
使用Python进行函数式编程。
-
CyToolz–Toolz的Cython实现:高性能函数式工具。
-
fn.py–在Python中进行函数式编程:实现了一些享受函数式编程缺失的功能。
-
funcy–炫酷又实用的函数式工具。
-
Toolz–一组用于迭代器,函数和字典的函数式编程工具。
第三方API
用来访问第三方API的库。参见:List of Python API Wrappers and Libraries。
apache-libcloud–一个为各种云设计的Python库。
boto–Amazon Web Services的Python接口。
django-wordpress–WordPress models and views for Django。
facebook-sdk–Facebook平台的Python SDK。
facepy–Facepy让和Facebook’s Graph API的交互变得更容易。
gmail–Gmail的Python接口。
google-api-python-client–Python用的Google APIs客户端库。
gspread–Google电子表格的Python API。
twython–Twitter API的封装。
DevOps 工具
用于DevOps的软件和库。
-
Ansible–一个非常简单的IT自动化平台。
-
SaltStack–基础设施自动化和管理系统。
-
OpenStack–用于构建私有和公有云的开源软件。
-
Docker Compose–快速,分离的开发环境,使用Docker。
-
Fabric–一个简单的,Python风格的工具,用来进行远程执行和部署。
-
cuisine–为Fabric提供一系列高级函数。
-
Fabtools–一个用来编写超赞的Fabric文件的工具。
-
gitapi–Git的纯Python API。
-
hgapi–Mercurial的纯Python API。
-
honcho–Foreman的Python克隆版,用来管理基于Procfile的应用。
-
pexpect–Controlling interactive programs in a pseudo-terminal like在一个伪终端中控制交互程序,就像GNU expect一样。
-
psutil–一个跨平台进程和系统工具模块。
-
supervisor–UNIX的进程控制系统。
任务调度
任务调度库。
-
APScheduler–轻巧但强大的进程内任务调度,使你可以调度函数。
-
django-schedule–一个Django排程应用。
-
doit–一个任务执行和构建工具。
-
gunnery–分布式系统使用的多用途任务执行工具,具有web交互界面。
-
Joblib–一组为Python提供轻量级作业流水线的工具。
-
Plan–如有神助地编写crontab文件。
-
schedule–人性化的Python任务调度库。
-
Spiff–使用纯Python实现的强大的工作流引擎。
-
TaskFlow–一个可以让你方便执行任务的Python库,一致并且可靠。
外来函数接口
使用外来函数接口的库。
-
cffi–用来调用C代码的外来函数接口。
-
ctypes–(Python标准库)用来调用C代码的外来函数接口。
-
PyCUDA–Nvidia CUDA API的封装。
-
SWIG–简化的封装和接口生成器。
高性能
让Python更快的库。
Cython–优化的Python静态编译器。使用类型混合使Python编译成C或C++模块来获得性能的极大提升。
PeachPy–嵌入Python的x86-64汇编器。可以被用作Python内联的汇编器或者是独立的汇编器,用于Windows、Linux、OS X、Native Client或者Go。
PyPy–使用Python实现的Python。解释器使用黑魔法加快Python运行速度且不需要加入额外的类型信息。
Pyston–使用LLVM和现代JIT技术构建的Python实现,目标是为了获得很好的性能。
Stackless Python–一个强化版的Python。
微软的 Windows平台
在Windows平台上进行Python编程。
-
Python(x,y)–面向科学应用的Python发行版,基于Qt和Spyder。
-
pythonlibs–非官方的Windows平台Python扩展二进制包。
-
PythonNet–Python与.NET公共语言运行库(CLR)的集成。
-
PyWin32–针对Windows的Python扩展。
-
WinPython–Windows7/8系统下便携式开发环境。
网络可视化和SDN
用来进行网络可视化和SDN(软件定义网络)的工具和库。
-
Mininet–一款流行的网络模拟器以及用Python编写的API。
-
POX–一个针对基于Python的软件定义网络应用(例如 OpenFlow SDN控制器)的开源开发平台。
-
Pyretic–火热的SDN编程语言中的一员,为网络交换机和模拟器提供强大的抽象能力。
-
SDX Platform–基于SDN的IXP实现,影响了Mininet,POX和Pyretic。
硬件
用来对硬件进行编程的库。
-
ino-操作Arduino的命令行工具。
-
Pyro–Python机器人编程库。
-
PyUserInput–跨平台的,控制鼠标和键盘的模块。
-
scapy–一个非常棒的操作数据包的库。
-
wifi–一个Python库和命令行工具用来在Linux平台上操作WiFi。
-
Pingo–Pingo为类似Raspberry Pi,pcDuino,Intel Galileo等设备提供统一的API用以编程。
兼容性
帮助从Python2向Python3迁移的库。
-
Python-Future–这就是Python2和Python3之间丢失的那个兼容性层。
-
Python-Modernize–使Python代码更加现代化以便最终迁移到Python3。
-
Six–Python2和3的兼容性工具。
杂项
不属于上面任何一个类别,但是非常有用的库。
-
blinker–一个快速的Python进程内信号/事件分发系统。
-
itsdangerous–一系列辅助工具用来将可信的数据传入不可信的环境。
-
pluginbase–一个简单但是非常灵活的Python插件系统。
-
Pychievements–一个用来创建和追踪成就的Python框架。
-
Tryton–一个通用商务框架。
算法和设计模式
Python实现的算法和设计模式。
-
algorithms-一个Python算法模块。
-
python-patterns–Python 设计模式的集合。
-
sortedcontainers–快速,纯Python实现的SortedList,SortedDict和SortedSet类型。
编辑器插件
编辑器和IDE的插件
-
Emacs
-
Elpy–Emacs Python开发环境。
-
Sublime Text
-
SublimeJEDI–一个Sublime Text插件,用来使用超赞的自动补全库Jedi。
-
Anaconda–Anaconda把你的Sublime Text3变成一个功能齐全的Python IDE。
-
Vim
-
YouCompleteMe–引入基于Jedi的Python自动补全引擎。
-
Jedi-vim–绑定Vim和Jedi自动补全库对Python进行自动补全。
-
Python-mode–将Vim变成Python IDE的一款多合一插件。
-
Visual Studio
-
PTVS–Visual Studio的Python工具。
集成开发环境
流行的Python集成开发环境。
-
PyCharm–商业化的Python IDE,由JetBrains开发。也有免费的社区版提供。
-
LiClipse–基于Eclipse的免费多语言IDE。使用PyDev来支持Python。
-
Spyder–开源Python IDE。
服务
在线工具和简化开发的API。
持续集成
参见:awesome-CIandCD。
-
Travis CI–一个流行的工具,为你的开源和私人项目提供持续集成服务。(仅支持GitHub)
-
CircleCI–一个持续集成工具,可以非常快速的进行并行测试。(仅支持GitHub)
-
Vexor CI–一个为私人app提供持续集成的工具,支持按分钟付费。
-
Wercker–基于Docker平台,用来构建和部署微服务。
代码质量
-
Codacy–自动化代码审查,更加快速的发布高质量代码。对于开源项目是免费的。
-
QuantifiedCode–一个数据驱动、自动、持续的代码审查工具。
资源
在这里可以找到新的Python库。
网站
-
r/Python
-
CoolGithubProjects
-
Django Packages
-
Full Stack Python
-
Python 3 Wall of Superpowers
-
Python Hackers
-
Python ZEEF
-
Trending Python repositories on GitHub today
-
PyPI Ranking
周刊
-
Import Python Newsletter
-
Pycoder’s Weekly
-
Python Weekly