类库概览:
算法和设计模型 构建工具 缓存 代码分析 命令行工具 兼容性 计算机视觉 并发和并行 加密 数据分析 数据验证 数据可视化 数据框驱动 数据库 日期和时间 调试工具 深度学习 文档 下载器 电子商务 编辑器插件和IDE 电子邮件 环境管理 GUI 游戏开发 地理位置 HTML操作 硬件 图像 交互界面 日志 机器学习 自然语言处理 包管理 科学计算 特殊格式处理 视频 音频 网页爬取 Web框架
算法和设计模式
Python实现算法和设计模式
构建工具
从源代码编译软件
高速缓存
用于缓存数据的库
- Beaker - 用于web应用和独立python脚本使用的缓存库.
- DiskCache - SQLite和文件支持的缓存后端,具有比memcached和redis更快的查找功能.
- pylibmc - 围绕libmemcached接口的Python包装器.
代码分析
用于分析、解析和操作代码的库和工具
- coala - 语言独立、易于扩展的代码分析应用程序.
命令行工具
用于构建命令行应用程序的库
- 命令行应用程序开发
- asciimatics - 跨平台的全屏终端软件包(即鼠标/键盘输入和彩色定位的文本输出),具有复杂动画和特效的高级API.
-
- click - 用组合的方式创建美观的命令行界面的包.
-
- cliff - 用多层次命令创建命令行程序的框架.
-
- Gooey - 将命令行程序转换成一行完整的GUI应用程序
- 生产力工具
- aws-cli - Amazon Web Services的通用命令行界面.
-
- httpie - 命令行HTTP客户端,是一个用户友好的cURL替换工具.
-
- mycli - 具有自动完成和语法突出显示的MySQL的终端客户端.
-
- percol - percol在UNIX上为传统的管道概念增添了交互式选择的风格.
-
- pgcli - 具有自动完成和语法高亮的Postgres CLI.
兼容性
从Python 2迁移到3的库
计算机视觉
计算机视觉相关的库
- pyocr - Tesseract和Cuneiform的包装.
并发和并行
用于并发和并行执行的库
- uvloop - uvloop是对内置的asyncio事件循环的一个快速、简单的替换。uvloop在Cython中实现,并使用libuv.
加密
- Paramiko - 实现SSHv2协议的Python(2.6 +,3.3+),提供客户端和服务器功能.
- PyNacl - Python绑定到网络和加密(NaCl)库.
数据分析
数据分析包
- Blaze - NumPy和Pandas与Big Data接口.
- Orange - 通过视觉编程或脚本进行数据挖掘、数据可视化、分析和机器学习.
数据验证
用于验证数据的库。在许多情况下用于表格
- colander - 通过XML、JSON、HTML表单文档获取和反序列化数据.
数据可视化
用于可视化数据的库
- Altair - 使用Altair,您可以花费更多时间了解您的数据及其含义。Altair的API简单,友好和一致,建立在强大的 Vega-Lite JSON规范之上。这种优雅的简洁性以最少的代码产生了美丽而有效的可视化.
- Pygal - 一个Python SVG图表创建者.
- VisPy - 基于OpenGL的高性能科学可视化.
数据库
在Python中实现的数据库
- PipelineDB - 流式SQL数据库,一个开源关系数据库,可以连续地在流上运行SQL查询,并将结果逐个存储在表中.
数据库驱动程序
用于连接和操作数据库的库
-
- PyMySQL - 纯Python MySQL驱动程序兼容于mysql-python.
-
- queries - 用于与PostgreSQL交互的psycopg2库的包装器.
- 其他关系型数据库
- apsw - 另一个Python SQLite包装器.
-
- dataset - 将Python脚本存储在数据库中 - 与SQLite,MySQL和PostgreSQL一起使用.
-
- pymssql - Microsoft SQL Server的简单数据库接口.
-
- Plyvel - 一个快速和功能丰富的Python接口到LevelDB.
-
- py2neo - 适用于Neo4j 静态界面的 Python包装客户端.
-
- pycassa - Cassandra的 Python Thrift驱动.
日期和时间
处理日期和时间的库
- arrow - Python功能强大的日期和时间库.
- delorean - Delorean建立在pytz和dateutil之上,Delorean将为处理时间提供自然语言改进,并提供易于使用的日期时间抽象
- moment - 处理日期/时间的Python库。灵感来自Moment.js.
- PyTime - 一个易于使用的Python模块,旨在通过字符串操作日期/时间/日期时间.
- when.py - 提供用户友好的功能来帮助执行常见的日期和时间操作.
调试工具
代码调试工具的包
-
- pudb - 一个全屏幕的基于控制台的Python调试器.
-
- wdb - 通过WebSockets的Web调试器.
-
- vprof - Visual Python分析器.
-
- manhole - 调试服务,将接受unix域套接字连接,并显示所有线程的堆栈跟踪和交互式提示.
深度学习
神经网络和深度学习框架
- Keras - 一个高级神经网络库,能够运行在TensorFlow或者Theano之上.
- MXNet - 一个旨在提高效率和灵活性的深度学习框架.
- Neupy - 运行和测试不同的人工神经网络算法.
- Pytorch - 具有强大GPU加速度的Python中的Tensors和动态神经网络.
文档
用于生成项目文档的库
- pdoc - Epydoc替换为Python库自动生成API文档.
下载器
下载方面的库
- s3cmd - 用于管理Amazon S3和CloudFront的命令行工具.
- s4cmd - 超级S3命令行工具,有利于更高的性能.
- you-get -一个用Python 3编写的YouTube /优酷/ Niconico视频下载.
电子商务
电子商务和付款框架的库.
- alipay - 非官方的Alipay API for Python.
- money - 具有可选CLDR支持的区域设置和可扩展的货币兑换解决方案的
- shoop - 基于Django的开源电子商务平台.
编辑器插件和IDE
- Sublime Text
- Anaconda - Anaconda将您的Sublime Text 3转换为全功能的Python开发IDE.
-
- SublimeJEDI - SublimeJEDI是一个Sublime Text 2和Sublime Text 3的插件.
- Visual Studio
- PTVS - Visual Studio的Python工具.
- Visual Studio Code
- Python - 具有丰富的Python语言支持的扩展,其中包括linting,IntelliSense,格式化,重构,调试,单元测试和jupyter支持.
-
- Magic Python -Sublime Text,Atom和Visual Studio代码的前沿Python语法荧光笔。由GitHub用来突出显示你的Python代码!
- IDE
- LiClipse - 基于Eclipse的免费polyglot IDE。使用PyDev支持Python.
-
- PyCharm - JetBrains的商业Python IDE。有免费社区版可用.
邮件
用于发送和解析邮件的库
- imbox - 用于人类的Python IMAP.
环境管理
Python版本和环境管理库
- Pipenv - Pipfile,Pip和Virtualenv的组合.
- venv - Python 3.3+中的 Python标准库)创建轻量级的虚拟环境.
GUI
用于使用图形用户界面应用程序的库
- curses - 用于创建终端GUI应用程序的ncurses的内置包装器.
- enaml - 使用声明式语法(如QML)创建漂亮的用户界面.
- Flexx - Flexx是一个纯Python工具包,用于创建GUI,它使用Web技术进行渲染.
- kivy - 用于创建在Windows,Linux,Mac OS X,Android和iOS上运行的NUI应用程序的库.
- pyglet - 一个用于Python的跨平台窗口和多媒体库.
- PyGObject - 用于GLib / GObject / GIO / GTK +(GTK + 3)的Python绑定
- PyQt - 用于Qt跨平台应用程序和UI框架的Python绑定,支持Qt v4和Qt v5框架.
- PySide - 用于Qt跨平台应用程序和UI框架的Python绑定,支持Qt v4框架.
- pywebview - 围绕Webview组件的轻量级跨平台本机包装,允许在自己的本机专用窗口中显示HTML内容
- Tkinter - Tkinter是Python的事实上的标准GUI包.
- Toga - 一个Python本机的OS本机GUI工具包.
- urwid - 用于创建终端GUI应用程序的库,具有对窗口小部件、事件、丰富颜色等的强大支持.
游戏开发
游戏开发库.
- Cocos2d - Cocos2d是构建2D游戏,演示和其他图形/交互应用程序的框架。它是基于pyglet.
- Panda3D - 迪斯尼开发和卡内基梅隆大学娱乐技术中心保持的3D游戏引擎。用C ++编写,完全包含在Python中.
- Pygame - Pygame是一组用于编写游戏的Python模块.
- PyOgre - Ogre 3D渲染引擎的Python绑定,可用于游戏、模拟、任何3D.
- PyOpenGL - 用于OpenGL的Python ctypes绑定及其相关API.
地理位置
地理编码地图和纬度和经度的库
- GeoIP - 用于MaxMind GeoIP遗留数据库的Python API.
HTML操作
使用HTML和XML的库
- BeautifulSoup - Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序.
- html5lib - 根据WHATWG规范生成HTML/ XML文档的DOM。该规范被用在现在所有的浏览器上.
- lxml - 一个用于处理HTML和XML的非常快速、易于使用和通用的库.
Hardware
与硬件相关的库.
- Pingo - Pingo提供统一的API来编程像Raspberry Pi、pcDuino、Intel Galileo等设备.
- scapy - Scapy是一个可以让用户发送、侦听和解析并伪装网络报文的Python程序。这些功能可以用于制作侦测、扫描和攻击网络的工具.
- wifi - 在Linux上使用WiFi的Python库和命令行工具.
图像
处理图像的库
- pagan - 基于输入字符串和散列的复古识别(Avatar)生成.
- pillow - Pillow由PIL而来,是一个图像处理库.
- wand - MagickWand的 Python绑定,ImageMagick的 C API.
交互式
交互式Python解释器(REPL)
- ptpython - 高级Python REPL构建在python-prompt-toolkit之上.
日志
用于生成和使用日志的库
- logbook - Logging replacement for Python.
- logging - (Python standard library) Logging facility for Python.
- Sentry - A realtime logging and aggregation server.
机器学习
机器学习相关的资源库.
- gensim - Gensim是用于主题建模、文档索引 和大型语料库的相似检索的Python库.
- NuPIC - Apache Spark的可扩展机器学习库.
- xgboost - 可扩展、便携式和分布式梯度提升(GBDT,GBRT或GBM)库,适用于Python、R、Java、Scala、C ++等。
Microsoft Windows
Microsoft Windows上的Python编程
自然语言处理
人类语言处理的库
- NLTK - 构建Python程序以处理人类语言数据的领先平台.
- spaCy - spaCy擅长大规模的信息提取任务.
- TextBlob - 具有文本处理 、 情绪分析、词性标注、名词短语提取、翻译等功能的一个库.
包管理
一种基于LibLinear和Jieba的简单,高效的短文分类工具
- conda - Conda是一个开源软件包管理系统和环境管理系统,用于安装多个版本的软件包及其依赖关系,并在它们之间轻松切换。它适用于Linux,OS X和Windows,并且是为Python程序创建的,但可以打包和分发任何软件.
- wheel - 新的Python分发标准,旨在取代egg.
科学计算
科学计算的库
- cclib - 用于解析和解释计算化学包的结果的库.
- NumPy - 用Python进行科学计算的基础软件包.
- PyDy - Python Dynamics的缩写,用于协助动态运动建模中的工作流程.
- PyMC - Python Dynamics的缩写,用于协助动态运动建模中的工作流程.
- SciPy - SciPy是另一种使用NumPy来做高等数学、信号处理、优化、统计和许多其它科学任务的语言扩展。.
- SymPy - Python中的统计建模和计量经济学.
特殊格式处理
用于解析和操纵特定文本格式的库
- General
- tablib - 处理XLS,CSV,JSON,YAML中的表格数据集的模块.
- Office
- Marmir - 使用Python数据结构并将其转换成电子表格.
-
- openpyxl - 用于读写Excel 2010 xlsx / xlsm / xltx / xltm文件的库.
-
- pyexcel - 提供一个用于读取,操作和编写csv、ods、xls、xlsx和xlsm文件的APIs.
-
- unoconv - 转换LibreOffice / OpenOffice支持的任何文档格式.
-
- xlwings - 一个BSD许可的库,可以轻松地从Excel调用Python,反之亦然.
- YAML
- PyYAML - Python的PyYAML - YAML实现.
视频
用于操纵视频和GIF的库.
- moviepy - 用于基于脚本的电影编辑的模块,包括动画GIF等多种格式.
音频
用来操作音频的库
网络爬虫
网络站点爬取的库.
- RoboBrowser - A simple, Pythonic library for browsing the web without a standalone web browser.
- Scrapy - 一个简单的Python 风格的库,用来浏览网站,而不需要一个独立安装的浏览器.
Web框架
全栈式web框架
- CherryPy - 一个简约的Python Web框架,HTTP / 1.1兼容和WSGI线程池.
- Pyramid - 一个小而快速的,开放源码的Python Web框架.
- Web2py - 用于安全数据库驱动的基于Web的应用程序的全栈企业框架.
代码质量
- Codacy - 自动代码审查,以更快的速度运送更好的代码。免费开源.