@label:网络

@label:调试和逆向工程

@label:Fuzzing

@label:Web

@label:取证

@label:PDF

@label:杂项

@label:其他有用的库和工具

@label:书籍

@label:其他

Chardet字符编码探测器,可以自动检测文本、网页、xml的编码。 colorama主要用来给文本添加各种颜色,并且非常简单易用。 loguru 一个非常nice的日志库 Prettytable主要用于在终端或浏览器端构建格式化的输出。 difflib,[Python]标准库,计算文本差异 Levenshtein,快速计算字符串相似度。 fuzzywuzzy,字符串模糊匹配。 esmre,正则表达式的加速器。 shortuuid,一组简洁URL/UUID函数库。 ftfy,Unicode文本工具7 unidecode,ascii和Unicode文本转换函数。 xpinyin,将汉字转换为拼音的函数库 pangu.py,调整对中日韩文字当中的字母、数字间距。 pyfiglet,Python写的figlet程序,使用字符组成ASCII艺术图片 uniout,提取字符串中可读写的字符 awesome slugify,一个Python slugify库,用于处理Unicode。 python-slugify,转换Unicode为ASCII内码的slugify函数库。 unicode-slugify,生成unicode内码,Django的依赖包。 ply,Python版的lex和yacc的解析工具 phonenumbers,解析电话号码,格式,存储和验证的国际电话号码。 python-user-agents,浏览器的用户代理(user-agents)的解析器。 sqlparse,SQL解析器。 pygments,一个通用的语法高亮工具。 python-nameparser,解析人名,分解为单独的成分。 pyparsing,通用解析器生成框架。 tablib,表格数据格式,包括,XLS、CSV,JSON,YAML。 python-docx,docx文档读取,查询和修改,微软Word 2007 / 2008的docx文件。 xlwt/xlrd,读写Excel格式的数据文件。 xlsxwriter,创建Excel格式的xlsx文件。 xlwings,利用Python调用Excel openpyxl openpyxl 是一个用于读取 / 编写 Excel 2010 xlsx/xlsm/xltx/xltm 文件的 Python 库。它是由于缺乏从 Python 中读取 / 编写 Office Open XML 格式的现有库而诞生的。 csvkit,CSV文件工具包。 marmir,把Python[数据结构],转化为电子表格。 pdfminer,从PDF文件中提取信息。 pypdf2, 合并和转换PDF页面的函数库。 Python-Markdown,轻量级标记语言Markdown的Python实现。 Mistune,,快速、全功能的纯Python编写的Markdown解释器。 dateutil,标准的Python官方datetime模块的扩展包,字符串日期工具,其中parser是根据字符串解析成datetime,而rrule是则是根据定义的规则来生成datetime。 arrow,更好的日期和时间处理Python库 chronyk,一个Python 3版函数库,用于解析人写的时间和日期。 delorean,清理期时间的函数库。 when.py,为见的日期和时间,提供人性化的功能。 moment,类似Moment.js的日期/时间Python库 pytz,世界时区,使用tz database时区信息[数据库] BeautifulSoup,基于Python的HTML/XML解析器,简单易用, 功能很强大,即使是有bug,有问题的html代码,也可以解析 lxml,快速,易用、灵活的HTML和XML处理库,功能超强,在遇到有缺陷、不规范的xml时,Python自带的xml处理器可能无法解析。报错时,程序会尝试再用lxml的修复模式解析。 htmlparser,官方版解析HTML DOM树,偶尔搞搞命令行自动表单提交用得上。 pyyaml,Python版本的YAML解释器。 html5lib,-标准库,解析和序列化HTML文档和片段。 pyquery,类似[jQuery]的的HTML解释器函数库。 cssutils,Python CSS库。 MarkupSafe,XML或HTML / XHTML安全字符串标记工具。 cssutils - ACSS library for Python., MarkupSafe - Implements a XML/HTML/XHTML bleach,漂白,基于HTML的白名单函数库。 xmltodict,类似JSON的XML工具包。 xhtml2pdf,HTML / CSS格式转换器,看生成pdf文档。 untangle,把XML文档,转换为Python对象,方便访问。 xlutils xlutils(excel utilities)是一个提供了许多操作修改 excel 文件方法的库。xlutils 库也仅仅是通过复制一个副本进行操作后保存一个新文件,xlutils 库就像是 xlrd 库和 xlwt 库之间的一座桥梁,因此,xlutils 库是依赖于 xlrd 和 xlwt 两个库的。

用于解析和操作文本的库。 ●通用 。chardet: 字符编码检测器,兼容Python2和Python3。 。dffibl: (Python标准库)帮助我们进行差异化比较。 。ftfy: 让Unicode文本更完整更连贯。 。fuzzywuzzy: 模糊字符串匹配。 。Levenshtein: 快速计算编辑距离以及字符串的相似度。 。pangu.py: 在中日韩语字符和数字字母之间添加空格。 。pypinyin: 汉字拼音转换工具Python版。 。shortuuid: 一个生成器库,用以生成简洁的,明白的,URL安全的UUID。 。simplejson: Python的JSON编码、解码器。 。unidecode: Unicode文本的ASCII转换形式。 。uniout: 打印可读的字符,而不是转义的字符串。 。xpinyin: 一个用于把汉字转换为拼音的库。 。yfiglet- figlet: pyfiglet -figlet的Python实现。 。flashtext: -一个高效的文本查找替换库。

●Slug 化

。awesome-slugify: -个Python slug化库,可以保持Unicode。 。python-slugify: Python slug化库,可以把unicode转化为ASCI。 。unicode-slugify: -个slug工具,可以生成unicode slugs ,需要依赖Django。

●解析器

。phonenumbers: 解析,格式化,储存,验证电话号码。 。PLY: lex和yacc解析工具的Python实现。 。Pygments: 通用语法高亮工具。. 。pyparsing: 生成通用解析器的框架。 。python-nameparser: 把一个人名分解为几个独立的部分。 。python-user-agents: 浏览器user agent解析器。 。sqlparse: 一个无验证的SQL解析器。

Web框架

Django,最流行的Python-Web框架 web2py,简单易用的全堆栈Web框架和平台。 Kotte,高层次的Python的Web应用框架,基于Pyramid。 Wagtail,Django内容管理系统。Widgy,CMS框架,基于Django。 flask-admin,简单的flask管理界面框架flower,实时监控和Web管理面板。

库名称简介

PyGtk,基于Python的GUI程序开发GTK+库 PyQt用于Python的QT开发库 WxPythonPython下的GUI编程框架,其消息机制与MFC的架构相似,入门非常简单,需要快速开发相关的应用可以使用这个 TkinterPython下标准的界面编程包,因此不算是第三方库了 PySide,跨平台Qt的应用程序和用户界面框架,支撑Qt v4框架。 wxPython,混合wxWidgets的C++类库。 kivy,创建应用程序GUI函数库,看运行于Windows,Linux,MAC OS X,[Android]和[iOS]。 curse,用于创建终端GUI应用程序。 urwid,创建终端GUI应用程序窗体的函数库,支持事件,色彩丰富。 pyglet,跨平台的窗口和多媒体库的Python。 Tkinter,是Python事实上的标准GUI软件包。 enaml,创建漂亮的用户界面,语法类似QML。 Toga,托加,OS原生GUI工具包。【构建封装】 pyenv,简单的Python版本管理。 virtualenv,创建独立的Python环境,用于同时安装不同版本的python环境。 virtualenvwrapper,是virtualenv的一组扩展。 pew,一套管理多个虚拟环境的工具。 vex,使运行指定的virtualenv命令。 PyRun,一个单文件,无需安装的Python版本管理工具。 PIP,Python包和依赖的管理工具。 easy_install,软件包管理系统,提供一个标准的分配Python软件和 函式库的格式。是一个附带设置工具的模块,和一个第三方函式库。旨在加快Python函式库的分配程式的速度。类似Ruby语言的RubyGems 。

conda,跨平台,二进制软件包管理器。, Curdling,一个管理Python包的命令行工具。 wheel,Python发行的新标准,旨在替代eggs. cx-Freeze,跨平台的,用于打包成可执行文件的库 py2exe, Windows平台的Freeze脚本工具,Py2exe ,将python脚本转换为windows上可以独立运行的可执行程序 py2app,MAC OS X平台的Freeze脚本工具 pyinstaller,-转换成独立的可执行文件的Python程序(跨平台)。 pynsist,构建Windows安装程序的工具,用Python编写。 dh-virtualenv,建立和分发virtualenv(Debian软件包格式) PyPI,新一代的Python包库管理工具。 warehouse,新一代的Python包库(PyPI)管理工具。 devpi,PyPI服务器和包装/测试/发布工具。 localshop,PyPI官方包镜像服务器,支持本地(私人)包上传。 buildout,创建,组装和部署应用程序的多个部分,其中一些可能是非基于Python的。

SCons,软件构造工具。 platformio,一个控制台的工具,构建的代码可用于不同的开发平台。 bitbake,特殊设计的工具,用于创建和部署[嵌入式]Linux软件包 fabricate,自动为任何编程语言,生成依赖包。 django-compressor,Django压缩机,压缩和内联JavaScript或CSS,链接到一个单一的缓存文件。 jinja-assets-compressor,金贾压缩机,一个Jinja扩展,通过编译,压缩你的资源。 webassets,优化管理,静态资源,独特的缓存清除。 fanstatic,球迷,包优化,提供静态文件。 fileconveyor,监控资源变化,,可保存到CDN(内容分发网络)和文件系统。 django-storages,一组自定义存储Django后台。 glue,胶胶,一个简单的命令行工具,生成CSS Sprites。 libsass-python,Sass (层叠样式表)的Python接口。 Flask-Assets,整合应用程序资源。【代码调试】 unittest,Python标准库,单元测试框架。 nose,鼻子,unittest延伸产品。 pytest,成熟的全功能的Python测试工具。 mamba,曼巴,Python的权威测试工具。出自BDD的旗下。 contexts,背景,BDD测试框架,基于C#。 pyshould,should风格的测试框架,基于PyHamcrest. pyvows,BDD风格测试框架 Selenium,web测试框架,Python绑定Selenium。 splinter,分裂,测试Web应用程序的开源工具。 locust,刺槐,可扩展的用户负载测试工具,用Python写的。 sixpack,语言无关的A/B测试框架。 mock,模拟对象(英语:mock object,也译作模仿对象),模拟测试库。 responses,工具函数,用于mock模拟测试。 doublex-强大的测试框架。 freezegun,通过时间调整,测试模块。 httpretty, HTTP请求的模拟工具。 httmock,mock模拟测试。 coverage,代码覆盖度量测试。 faker,生成模拟测试数据的Python包。 mixer,混频器,产生模拟数据,用于Django ORM,SQLAlchemy, Peewee, MongoEngine, Pony ORM等 model_mommy,在Django创建测试随机工具。 ForgeryPy,易用的模拟数据发生器。 radar,雷达,生成随机日期/时间。 FuckIt.py,测试Python代码运行。 Code Analysispysonar2,Python类型索引。 pycallgraph,可视化的流量(调用图)应用程序。 code2flow,转换Python和JavaScript代码到流程图。 LinterFlake8,源代码模块检查器 pylama,Python和JavaScript代码审计工具。 Pylint,源代码分析器,它查找编程错误,帮助执行一个代码标准和嗅探一些代码味道。注意:相比于PyChecker,Pylint是一个高阶的Python代码分析工具,它分析Python代码中的错误。 Pyflakes,一个用于检查Python源文件错误的简单程序。Pyflakes分析程序并且检查各种错误。它通过解析源文件实现,无需导入。 pdb,Python标准库,Python调试器。 ipdb,IPython使用的PDB。 winpdb独立于平台的GUI调试器。 pudb,全屏,基于python调试控制台。 pyringe,-可附着于及注入代码到Python程序的调试器。 python-statsd,statsd服务器客户端。 memory_profiler, 内存监视。 profiling,交互式Python分析器。 django-debug-toolbar, Django调试工具栏,显示各种调试信息:当前请求/响应。 django-devserver,Django调试工具。 flask-debugtoolbar,flask调试工具。

分发

打包为可执行文件以便分发。 ●PyInstaller: 将Python程序转换成独立的执行文件(跨平台)。 ●cx_ Freeze: 将python程序转换为带有一个动态链接库的可执行文件。 ●dh-virtualenv: 构建并将virtualenv虚拟环境作为一个Debian包来发布。 ●Nuitka:将脚本、模块、包编译成可执行文件或扩展模块。 ●py2app: 将Python脚本变为独立软件包(MacOSX) 。 ●py2exe: 将Python脚本变为独立软件包(Windows) 。 ●pynsist: -个用来创建Windows安装程序的工具,可以在安装程序中打包Python本身。

自然语言处理

用来处理,人类语言的库。

●NLTK:一个先进的平台,用以构建处理人类语言数据的Python程序。 ●jieba: 中文分词工具。 ●langid.py: 独立的语言识别系统。 ●Pattern: Python 网络信息挖掘模块。 ●SnowNLP: -个用来处理中文文本的库。 ●TextBlob: 为进行普通自然语言处理任务提供一 致的API。 ●TextGrocery: - -简单高效的短文本分类工具,基于LibLinear和Jieba。 ●thulac:清华大学自然语言 处理与社会人文计算实验室研制推出的一套中文词法分析工具包

命令行工具

●命令行程序开发

。asciimatics: 跨平台,全屏终端包(即鼠标/键盘输入和彩色,定位文本输出),完整的复杂动画和特殊效果的高级 。click: 一个通过组合的方式来创建精美命令行界面的包。 。if:一个用于创建命令行程序的框架,可以创建具有多层命令的命令行程序。 。clint: Python命令行程序工具。 。colorama: 跨平台彩色终端文本。 。docopt: Python 风格的命令行参数解析器。 。Gooey: -条命令,将命令行程序变成一 个GUI程序。 。python-prompt-toolkit: -一个用于构建强大的交互式命令行程序的库。 。python-fire: Google 出品的一个基于Python 类的构建命令行界面的库。 。Pythonpy: 在命令行中直接执行任何Python指令。

●生产力工具

。aws-cli: Amazon Web Services的通用命令行界面。 。bashplotib: 在终端中进行基本绘图。 。caniusepython3: 判断是哪个项目妨碍你你移植到Python3。 。cookiecutter: 从cookiecutters (项目模板)创建项目的一个命令行工具。 。doitlive: 一个用来在终端中进行现场演示的工具。 。pyftpdib: 一个速度极快和可扩展的Python FTP服务库。 。howdoi: 通过命令行获取即时的编程问题解答。 。httpie: 一个命令行HTTP客户端,cURL的替代品,易用性更好。 。PathPicker: 从bash输出中选出文件。 。percol: 向UNIX shell传统管道概念中加入交互式选择功能。 。SAWS:一个加强版的AWS命令行。 。thefuck: 修正你之前的命令行指令。 。mycli: -个MySQL命令行客户端,具有自动补全和语法高亮功能。 。pgcli: Postgres 命令行工具,具有自动补全和语法高亮功能。 。try:一个从来没有更简单的命令行工具,用来试用python库。

图像处理

用来操作图像的库. ●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。 ●face_ recognition: 简单易用的python人脸识别库。

OCR 光学字符识别库。

●pyocr: Tesseract 和Cuneiform的一个封装(wrapper)。 ●pytesseract: Google Tesseract OCR的另一个封装(wrapper)。 ●python-tesseract: Google Tesseract OCR的一个包装类。

数据库驱动

来连接和操作数据库的库。

●MySQL: awesome-mysql 系列

。aiomysql: 基于asyncio的异步MySQL数据库操作库。 。mysql-python: Python的MySQL数据库连接器。 。ysqlclient: mysql-python 分支,支持Python 3。 。oursql: 一个更好的MySQL连接器, 支持原生预编译指令和BLOBs。 。PyMySQL: 纯Python MySQL驱动,兼容mysql-python。

●PostgreSQL

。psycopg2: Python 中最流行的PostgreSQL适配器。 。queries: psycopg2 库的封装,用来和PostgreSQL进行交互。 。txpostgres: 基纡Twisted的异步PostgreSQL驱动。

●其他关系型数据库

。apsw:另-个Python SQLite封装。 。dataset: 在数据库中存储Python字典 。pymssql: -个简单的Microsoft SQL Server数据库接口。

●NoSQL数据库

。asyncio-redis: 基于asyncio 的redis户端(PEP 3156)。 。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客户端。

电子邮件

用来发送和解析电子邮件的库。

●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: -个邮件托管和管理平台,具有现代的、简约的WebU。 ●pyzmail: 创建,发送和解析电子邮件。 ●Talon: Mailgun 库,用来抽取信息和签名。 ●yagmail: yagmail是一 个GMAIL/ SMTP客户端, 旨在使其尽可能简单地发送电子邮件。

网络

用于网络编程的库。

●asyncio: (Python标准库)异步I/O,事件循环,协程以及任务。. ●Twisted: 一个事件驱动的网络引擎。 ●pulsar: 事件驱动的并发框架。 ●diesel: 基于Greenlet的事件I/O框架。 ●pyzmq:一个ZeroMQ消息库的Python封装。 ●Toapi: -个轻巧,简单,快速的Flask库,致力于为所有网站提供API服务。 ●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客户端和服务器库。

测试

进行代码库测试和生成测试数据的库。 ●测试框架

。unittest: (Python 标准库)单元测试框架。 。nose: nose扩展了unittest的功能。 。contexts: 一个Python 3.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+生成伪造请求的库。 。htpretty: Python 的HTTP请求mock工具。 。responses: 伪造Python中的requests库的一个通用库。 。VCR.py: 在你的测试中记录和重放HTTP交互。

●对象工厂

。factoryboy: 一个Python用的测试固件(test fixtures)替代库。 。mixer: 另外一个测试固件(test fixtures)替代库,支持Django, Flask, SQL Alchemy, Peewee等。 。modelmommy: 为Django测试创建随机固件。

●代码覆盖率 。coverage: 代码覆盖率测量。 。Codecov: -个代码覆盖率测试工具。为开源项目提供免费代码覆盖率测试服务。

●伪数据 》faker: -个Python库, 用来生成伪数据。 。fake2db: 伪数据库生成器。 。radar: 生成随机的日期/时间。

●错误处理 。Fuckitpy: Fuckltpy 使用最先进的技术来保证你的Python代码无论对错都能继续运行。

调试工具. 用来进行代码调试的库。 ●调试器 。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: 逐行性能分析。 。Memory Profiler:监控Python代码的内存使用。、内存 。profling: -个交互式Python性能分析工具。 ●其他 。pelfools: 解析和分析ELF文件以及DWARF调试信息。 。python-statsd: statsd服务器的Python客户端。

@label:数据可视化

进行数据可视化的库。参见: awesome-javascript. ●matplotib: -个Python2D绘图库。 ●bokeh: 用Python进行交互式web绘图。 ●ggplot: ggplot2给R提供的API的Python版本。 ●plotly: 协同Python和matplotlib工作的web绘图库。 ●pyecharts: 基于百度Echarts的数据可视化库。 ●pygal: -个Python SVG图表创建工具。 ●pygraphviz: Graphviz的Python接口。 ●PyQtGraph: 交互式实时2D/3D/图像绘制及科学/工程学组件。 ●SnakeViz: 一个基于浏览器的Python's cProfile模块输出结果查看工具。 ●vincent: 把Python转换为Vega语法的转换工具。 ●VisPy: 基于OpenGL的高性能科学可视化工具。