Python资源大全


Python资源大全


管理员面板

用于管理界面的库。

  • Ajenti - 您的服务器应得的管理面板。
  • django-suit - 替代Django管理界面仅限非商业用途
  • django-xadmin - 直接替换Django管理员有很多好东西。
  • flask-admin - Flask的简单且可扩展的管理界面框架。
  • flower - Celery的实时监控和网络管理员。
  • Grappelli - Django Admin-Interface的爵士皮肤。
  • Wooey - 一个Django应用程序,它为Python脚本创建自动Web UI。

算法和设计模式

算法和设计模式的Python实现。

  • algorithms - Python中数据结构和算法的最小示例。
  • PyPattyrn - 一个简单而有效的库,用于实现常见的设计模式。
  • python-patterns - Python中的一组设计模式。
  • sortedcontainers - SortedList,SortedDict和SortedSet类型的快速,纯Python实现。

反垃圾邮件

用于打击垃圾邮件的库。

资产管理

用于管理,压缩和缩小网站资产的工具。

  • django-compressor - 将链接和内联JavaScript或CSS压缩到一个缓存文件中。
  • django-pipeline - Django的资产打包库。
  • django-storages - Django的自定义存储后端集合。
  • fanstatic - 作为Python包打包,优化和提供静态文件依赖性。
  • fileconveyor - 用于检测文件并将文件同步到CDN,S3和FTP的守护程序。
  • flask-assets - 帮助您将webassets集成到Flask应用程序中。
  • jinja-assets-compressor - 用于编译和压缩资产的Jinja扩展。
  • webassets - 捆绑,优化和管理静态资源的唯一缓存清除URL。

音频

用于操纵音频的库。

  • audiolazy - 用于Python的表达式数字信号处理包。
  • audioread - 跨库音频解码。
  • beets - 音乐库管理员和MusicBrainz标记器。
  • dejavu - 音频指纹识别和识别。
  • django-elastic-transcoder - Django + Amazon Elastic Transcoder
  • eyeD3 - 用于处理音频文件的工具,特别是包含ID3元数据的MP3文件。
  • id3reader - 用于读取MP3元数据的Python模块。
  • m3u8 - 用于解析m3u8文件的模块。
  • mingus - 具有MIDI文件和播放支持的高级音乐理论和乐谱包。
  • mutagen - 用于处理音频元数据的Python模块。
  • pyAudioAnalysis - Python音频分析库:特征提取,分类,分割和应用
  • pydub - 使用简单易用的高级界面处理音频。
  • pyechonest - Echo NestAPI的Python客户端。
  • talkbox - 用于语音/信号处理的Python库。
  • TimeSide - 打开网络音频处理框架。
  • tinytag - 用于读取MP3,OGG,FLAC和Wave文件的音乐元数据的库。

身份验证

用于实施认证计划的库。

  • OAuth
    • Authomatic - 简单但功能强大的框架无关的身份验证/授权客户端。
    • django-allauth - Django的认证应用程序“正常工作”。
    • django-oauth-toolkit - 关于Django的OAuth 2好东西。
    • 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 - JavaScript对象签名和加密草案实现。
    • PyJWT - JSON Web Token草案01的实现。
    • python-jws - 实施JSON Web签名草案02。
    • python-jwt - 用于生成和验证JSON Web令牌的模块。

构建工具

从源代码编译软件。

  • BitBake - 嵌入式Linux的类似构建工具。
  • buildout - 用于从多个部分创建,组装和部署应用程序的构建系统。
  • PlatformIO - 用于构建具有不同开发平台的代码的控制台工具。
  • PyBuilder - 用纯Python编写的连续构建工具。
  • SCons - 一种软件构建工具。

内置类增强

用于增强Python内置类的库。

  • attrs - 替换类定义中的__init ____eq____repr__等样板文件。
  • bidict - 高效,Pythonic双向地图数据结构和相关功能..
  • Box - 具有高级点表示法访问权限的Python词典。
  • dotted - 一个库,它提供了一种使用虚线路径表示法访问列表和字符串的方法。

CMS

内容管理系统。

  • django-cms - 基于Django的开源企业CMS。
  • djedi-cms - 一款轻量但功能强大的Django CMS,内置插件,内联编辑和性能。
  • FeinCMS - 基于Django构建的最先进的内容管理系统之一。
  • Kotti - 基于Pyramid构建的高级Pythonic Web应用程序框架。
  • Mezzanine - 功能强大,一致且灵活的内容管理平台。
  • Opps - 基于Django的CMS,适用于杂志,报纸网站和流量高的门户网站。
  • Plone - 在开源应用服务器Zope之上构建的CMS。
  • Quokka - 由Flask和MongoDB提供支持的灵活,可扩展的小型CMS。
  • Wagtail - 一个Django内容管理系统。
  • Widgy - 最后的CMS框架,基于Django。

缓存

用于缓存数据的库。

  • Beaker - 用于缓存和会话的库,用于Web应用程序和独立的Python脚本和应用程序。
  • DiskCache - SQLite和文件支持的缓存后端,其查找速度比memcached和redis快。
  • django-cache-machine - Django模型的自动缓存和失效。
  • django-cacheops - 一个灵活的ORM缓存,具有自动粒度事件驱动的失效。
  • django-viewlet - 使用扩展缓存控制渲染模板部件。
  • dogpile.cache - dogpile.cache是​​同一作者制作的Beaker的下一代替代品。
  • HermesCache - 基于标记的失效和防狗效应预防的Python缓存库。
  • johnny-cache - Django应用程序的缓存框架。
  • pylibmc - 围绕libmemcached界面的Python包装器。

ChatOps工具

聊天机器人开发的库。

  • Errbot - 实现ChatOps的最简单,最受欢迎的聊天机器人。

集群计算

集群计算的框架和库。

  • PySpark - Apache SparkPython API。
  • dask - 用于分析计算的灵活并行计算库。
  • faust - 一个流处理库,将Kafka Streams中的想法移植到Python。
  • luigi - 一个模块,可帮助您构建批处理作业的复杂管道。
  • mrjob - 在Hadoop或Amazon Web Services上运行MapReduce作业。
  • streamparse - 通过Apache Storm针对实时数据流运行Python代码。

代码分析

静态分析工具,短绒和代码质量检查器。请参阅:awesome-static-analysis

  • 代码分析
    • flake8 - 围绕pycodestyle,pyflakes和McCabe的包装。
    • coala - 独立于语言且易于扩展的代码分析应用程序。
    • code2flow - 将您的Python和JavaScript代码转换为DOT流程图。
    • prospector - 分析Python代码的工具。
    • pycallgraph - 一个可视化Python应用程序的流程的库。
    • pylama - 用于Python和JavaScript的代码审计工具。
    • pylint - 完全可定制的源代码分析器。
  • 静态类型跳棋
    • mypy - 在编译期间检查变量类型。
    • Pyre - Performant类型检查。
  • 静态类型注释生成器
    • MonkeyType - 一个Python系统,通过收集运行时类型生成静态类型注释

命令行工具

用于构建命令行应用程序的库。

  • 命令行应用程序开发
    • Cement - 用于Python的CLI应用程序框架。
    • click - 一个用于以可组合方式创建漂亮命令行界面的包。
    • cliff - 使用多级命令创建命令行程序的框架。
    • clint - Python命令行应用程序工具。
    • docopt - Pythonic命令行参数解析器。
    • Gooey - 将命令行程序转换为一行完整的GUI应用程序。
    • Python Fire - 一个用于从绝对任何Python对象创建命令行界面的库。
    • python-prompt-toolkit - 用于构建强大的交互式命令行的库。
  • 终端渲染
  • 生产力工具
    • aws-cli - Amazon Web Services的通用命令行界面。
    • cookiecutter - 一个命令行实用程序,可以从cookiecutters创建项目。
    • doitlive - 终端中现场演示的工具。
    • howdoi - 通过命令行即时编码答案。
    • httpie - 命令行HTTP客户端,用户友好的cURL替换。
    • kube-shell - 用于使用Kubernetes CLI的集成shell。
    • mycli - 具有AutoCompletion和语法突出显示功能的MySQL终端客户端。
    • PathPicker - 从bash输出中选择文件。
    • percol - 在UNIX上为传统的管道概念添加交互式选择的风格。
    • pgcli - 具有自动完成和语法突出显示功能的Postgres CLI。
    • SAWS - 增压的AWS CLI。
    • thefuck - 更正以前的控制台命令。
    • tmuxp - 一个tmux会话管理器。
    • try - 一个简单的试用python包的简单CLI - 它从未如此简单。

兼容性

用于从Python 2迁移到3的库

  • Python-Future - Python 2和Python 3之间缺少兼容性层。
  • Python-Modernize - 为最终的Python 3迁移实现Python代码的现代化。
  • Six - Python 2和3兼容性实用程序。

计算机视觉

计算机视觉库。

并发和并行

用于并发和并行执行的库。

配置

用于存储和解析配置选项的库。

密码学

  • cryptography - 一个旨在向Python开发人员公开加密原语和配方的包。
  • hashids - 在Python中实现hashids
  • Paramiko - SSHv2协议的Python2.6 +,3.3 +实现,提供客户端和服务器功能。
  • Passlib - 安全密码存储/散列库,非常高级别。
  • PyNacl - Python绑定到网络和加密NaCl库。

数据分析

数据分析库。

  • Blaze - 大数据的NumPy和Pandas接口。
  • Open Mining - Pandas界面中的商业智能
  • Orange - 通过可视化编程或脚本进行数据挖掘,数据可视化,分析和机器学习。
  • Pandas - 提供高性能,易于使用的数据结构和数据分析工具的库。
  • Optimus - 使用PySpark后端进行清理,预处理,功能工程,探索性数据分析和简单的机器学习。

数据验证

用于验证数据的库。在许多情况下用于表格。

  • Cerberus - 一个轻量级和可扩展的数据验证库。
  • colander - 验证和反序列化通过XML,JSON,HTML表单帖子获得的数据。
  • Dash - 建立在Flask之上,React和Plotly针对分析Web应用程序。
  • jsonschema - 用于Python的JSON Schema的实现。
  • schema - 用于验证Python数据结构的库。
  • schematics - 数据结构验证。
  • valideer - 轻量级可扩展数据验证和适配库。
  • voluptuous - 一个Python数据验证库。

数据可视化

用于可视化数据的库。请参阅:awesome-javascript

  • Altair - Python的声明性统计可视化库。
  • Bokeh - Python的交互式Web绘图。
  • bqplot - Jupyter笔记本的交互式绘图库
  • ggplot - 与g的ggplot2相同的API。
  • Matplotlib - Python 2D绘图库。
  • Pygal - 一个Python SVG Charts Creator。
  • PyGraphviz - Graphviz的Python接口
  • PyQtGraph - 交互式实时2D / 3D /图像绘图和科学/工程小部件。
  • Seaborn - 使用Matplotlib进行统计数据可视化。
  • VisPy - 基于OpenGL的高性能科学可视化。

数据库

用Python实现的数据库。

  • pickleDB - 一个简单而轻量级的Python键值存储。
  • TinyDB - 一个面向文档的小型数据库。
  • ZODB - Python的本机对象数据库。键值和对象图数据库。

数据库驱动程序

用于连接和操作数据库的库。

  • MySQL - awesome-mysql
    • mysqlclient - 支持Python 3的MySQL连接器
    • oursql - 一个更好的MySQL连接器,支持本机预处理语句和BLOB。
    • PyMySQL - 与mysql-python兼容的纯Python MySQL驱动程序。
  • PostgreSQL - awesome-postgres
    • psycopg2 - 最受欢迎的Python PostgreSQL适配器。
    • queries - 用于与PostgreSQL交互的psycopg2库的包装器。
    • txpostgres - 基于Twisted的PostgreSQL异步驱动程序。
  • 其他关系数据库
    • apsw - 另一个Python SQLite包装器。
    • dataset - 将Python dicts存储在数据库中 - 与SQLite,MySQL和PostgreSQL一起使用。
    • pymssql - Microsoft SQL Server的简单数据库接口。
  • NoSQL数据库
    • cassandra-driver - Apache Cassandra的Python驱动程序。
    • HappyBase - 适用于Apache HBase的开发人员友好库。
    • kafka-python - Apache Kafka的Python客户端。
    • py2neo - Neo4j的restful接口的Python包装器客户端。
    • PyMongo - MongoDB的官方Python客户端。
    • redis-py - Redis的Python客户端。
  • 异步客户端
    • Motor - MongoDB的异步Python驱动程序。
    • telephus - 基于Twisted的Cassandra客户端。
    • txRedis - Redis的基于Twisted的客户端。

日期和时间

处理日期和时间的库。

  • Chronyk - 一个Python 3库,用于解析人类编写的时间和日期。
  • dateutil - 标准Python datetime模块的扩展。
  • delorean - 用于清除处理日期时间的不便事实的库。
  • moment - 用于处理日期/时间的Python库。灵感来自Moment.js
  • Pendulum - Python日期时间变得简单。
  • PyTime - 一个易于使用的Python模块,旨在按字符串操作日期/时间/日期时间。
  • pytz - 世界时区定义,现代和历史。将tz数据库带入Python。
  • when.py - 提供用户友好的功能,以帮助执行常见的日期和时间操作。
  • maya - 人类的日期时间,Maya主要围绕解决网站日期时间数据的头痛和用例。

调试工具

用于调试代码的库。

  • 类似pdb的调试器
  • Profiler
  • 其他
    • IceCream - 通过一个简单的函数调用检查变量,表达式和程序执行。
    • django-debug-toolbar - 显示Django的各种调试信息。
    • django-devserver - Django的runserver的替代品。
    • flask-debugtoolbar - 烧瓶的django-debug-toolbar的一个端口。
    • hunter - Hunter是一个灵活的代码跟踪工具包。
    • lptrace - strace用于Python程序。
    • manhole - 调试服务,它将接受unix域套接字连接并显示所有线程的堆栈跟踪和交互式提示。
    • pyelftools - 解析和分析ELF文件和DWARF调试信息。
    • pyringe - 能够附加到Python进程并将代码注入Python进程的调试器。

深度学习

神经网络和深度学习的框架。请参阅:awesome-deep-learning.

  • Caffe - 一个快速开放的深度学习框架..
  • Keras - 一个高级神经网络库,能够在TensorFlow或Theano之上运行。
  • MXNet - 一个旨在提高效率和灵活性的深度学习框架。
  • Neupy - 运行和测试不同的人工神经网络算法。
  • Pytorch - Python中的张量和动态神经网络,具有强大的GPU加速功能。
  • Serpent.AI - 游戏代理框架。将任何视频游戏用作深度学习沙箱。
  • TensorFlow - Google创建的最受欢迎的深度学习框架。
  • Theano - 用于快速数值计算的库。

DevOps工具

  • DevOps的软件和库。*

  • Ansible - 一个极其简单的IT自动化平台。

  • Cloud-Init - 一个处理云实例早期初始化的多分发包。
  • cuisine - Fabric的类似厨师的功能。
  • Docker Compose - 使用Docker的快速,隔离的开发环境。
  • Fabric - 一个用于远程执行和部署的简单Pythonic工具。
  • Fabtools - 用于编写令人敬畏的Fabric文件的工具。
  • honcho - Foreman的Python克隆,用于管理基于Procfile的应用程序。
  • OpenStack - 用于构建私有云和公共云的开源软件。
  • pexpect - 在GNU期望的伪终端中控制交互式程序。
  • psutil - 跨平台流程和系统实用程序模块。
  • SaltStack - 基础设施自动化和管理系统。
  • supervisor - UNIX的主管过程控制系统。

发行

用于创建发布分发的打包可执行文件的库。

  • dh-virtualenv - 构建并分发virtualenv作为Debian软件包。
  • Nuitka - 将脚本,模块,包编译为可执行文件或扩展模块。
  • py2app - 冻结Python脚本
  • py2exe - 冻结Python脚本
  • PyInstaller - 将Python程序转换为独立的可执行文件跨平台。
  • pynsist - 构建Windows安装程序的工具,安装程序将Python本身捆绑在一起。

文档

用于生成项目文档的库。

  • Sphinx - Python文档生成器。
  • MkDocs - Markdown友好文档生成器。
  • pdoc - Epydoc替换为自动生成Python库的API文档。
  • Pycco - 文字编程风格的文档生成器。

下载器

供下载的库。

  • s3cmd - 用于管理Amazon S3和CloudFront的命令行工具。
  • s4cmd - 超级S3命令行工具,有助于提高性能。
  • you-get - 用Python 3编写的YouTube / Youku / Niconico视频下载器。
  • youtube-dl - 一个从YouTube下载视频的小型命令行程序。

电子商务

电子商务和支付的框架和库。

  • 支付宝 - 用于Python的非官方支付宝API。
  • Cartridge - 使用Mezzanine构建的购物车应用程序。
  • django-oscar - Django的开源电子商务框架。
  • django-shop - 基于Django的商店系统。
  • merchant - 一个Django应用程序,接受来自各种支付处理器的付款。
  • money - 具有可选CLDR支持的区域设置感知格式和可扩展货币交换解决方案的Money类。
  • python-currency - 显示货币格式及其污秽货币。
  • forex-python - 外汇汇率,比特币价格指数和货币转换。
  • saleor - Django的电子商务店面。
  • shoop - 基于Django的开源电子商务平台。

编辑器插件和IDE

  • Emacs
    • Elpy - Emacs Python开发环境。
  • 崇高的文字
    • Anaconda - Anaconda在功能齐全的Python开发IDE中改变你的Sublime Text 3。
    • SublimeJEDI - 一个出色的自动完成库Jedi的Sublime Text插件。
  • Vim
    • Jedi-vim - 用于Python的Jedi自动完成库的Vim绑定。
    • Python-mode - 用于将Vim转换为Python IDE的一体化插件。
    • YouCompleteMe - 包括基于Jedi的Python完成引擎。
  • 视觉工作室
    • PTVS - 适用于Visual Studio的Python工具。
  • Visual Studio代码
    • Python - 一个对Python语言有丰富支持的扩展,具有linting,IntelliSense,格式化,重构,调试,单元测试和jupyter支持等功能。
    • Magic Python - 用于Sublime Text,Atom和Visual Studio Code的尖端Python语法高亮显示器。由GitHub用来突出你的Python代码!
  • IDE
    • - 基于Eclipse的免费多语言IDE。使用PyDev for Python支持。
    • PyCharm - JetBrains的商业Python IDE。提供免费社区版。
    • Spyder - 开源Python IDE。

电子邮件

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

  • envelopes - 为人类邮寄。
  • flanker - 电子邮件地址和Mime解析库。
  • imbox - 人类的Python IMAP。
  • inbox.py - 人类的Python SMTP服务器。
  • lamson - Pythonic SMTP Application Server。
  • Marrow Mailer - 高性能可扩展邮件传递框架。
  • modoboa - 邮件托管和管理平台,包括现代和简化的Web UI。
  • Nylas Sync Engine - 在功能强大的电子邮件同步平台上提供RESTful API。
  • yagmail - 另一个Gmail / SMTP客户端。

环境管理

用于Python版本和环境管理的库。

  • Pipenv - Pipfile,Pip和Virtualenv的神圣婚姻。
  • p - 死的简单交互式Python版本管理。
  • pyenv - 简单的Python版本管理。
  • venv - 创建轻量级虚拟环境。
  • virtualenv - 创建独立Python环境的工具。
  • virtualenvwrapper - virtualenv的一组扩展。

文件

用于文件操作和MIME类型检测的库。

  • mimetypes - Python标准库将文件名映射到MIME类型。
  • path.py - os.path的模块包装器
  • pathlib - Python标准库跨平台,面向对象的路径库。
  • PyFilesystem2 - Python的文件系统抽象层。
  • python-magic - libmagic文件类型识别库的Python接口。
  • Unipath - 面向对象的文件/目录操作方法。
  • watchdog - 用于监控文件系统事件的API和shell实用程序。

外部函数接口

用于提供外部功能接口的库。

  • cffi - Python的外部函数接口调用C代码。
  • ctypes - Python标准库-Python的外部函数接口,用于调用C代码。
  • PyCUDA - Nvidia的CUDA API的Python包装器。
  • SWIG - 简化的包装器和接口生成器。

表单

用于处理表格的库。

  • Deform - 受形式表单生成库影响的Python HTML表单生成库。
  • django-bootstrap3 - 与Django的Bootstrap 3集成。
  • django-crispy-forms - 一款Django应用程序,可让您以非常优雅和干燥的方式创建漂亮的表单。
  • django-remote-forms - 独立于平台的Django表格序列化程序。
  • WTForms - 灵活的表单验证和呈现库。

函数编程

使用Python进行函数编程。

  • Coconut - 椰子是Python的变种,专为简单,优雅,Pythonic功能编程而构建。
  • CyToolz - Toolz的Cython实现:高性能功能实用程序。
  • fn.py - Python中的函数编程:实现丢失的功能以享受FP。
  • funcy - 一个奇特而实用的功能工具。
  • Toolz - 迭代器,函数和字典的函数实用程序的集合。

GUI

用于处理图形用户界面应用程序的库。

  • curses - 用于ncurses的内置包装器创建终端GUI应用程序。
  • Eel - 用于制作简单的类似Electron的离线HTML / JS GUI应用程序的小型库,可以完全访问Python功能和库。
  • enaml - 使用像QML这样的声明语法创建漂亮的用户界面。
  • Flexx - Flexx是一个用于创建GUI的纯Python工具包,它使用Web技术进行渲染。
  • kivy - 用于创建NUI应用程序的库,可在Windows,Linux,Mac OS X,Android和iOS上运行。
  • pyglet - 用于Python的跨平台窗口和多媒体库。
  • PyGObject - GLib / GObject / GIO / GTK + GTK + 3 的Python绑定。
  • PyQt - Qt跨平台应用程序和UI框架的Python绑定,支持Qt v4和Qt v5框架。
  • PySide - 针对Qt跨平台应用程序和UI框架的Python绑定,支持Qt v4框架。
  • PySimpleGUI - tkinter的包装器,为初学者和中级自定义GUI创建更像Python的界面。
  • pywebview - 围绕webview组件的轻量级跨平台本机包装器,允许在其自己的本机专用窗口中显示HTML内容。
  • Tkinter - Tkinter是Python的事实上的标准GUI包。
  • Toga - 一个Python原生的OS原生GUI工具包。
  • urwid - 用于创建终端GUI应用程序的库,强大支持小部件,事件,丰富的颜色等。
  • wxPython - 将wxWidgets C ++类库与Python混合。

游戏开发

令人敬畏的游戏开发库。

  • Cocos2d - cocos2d是用于构建2D游戏,演示和其他图形/交互式应用程序的框架。它基于pyglet。
  • Panda3D - 由迪士尼开发并由卡内基梅隆娱乐技术中心维护的3D游戏引擎。用C ++编写,完全用Python包装。
  • Pygame - Pygame是一套专为编写游戏而设计的Python模块。
  • PyOgre - 用于Ogre 3D渲染引擎的Python绑定,可用于游戏,模拟,任何3D。
  • PyOpenGL - 用于OpenGL的Python ctypes绑定及其相关的API。
  • PySDL2 - 基于ctypes的SDL2库包装器。
  • RenPy - 一个视觉新颖引擎。

地理位置

地理编码地址和处理纬度和经度的库。

  • django-countries - 一个Django应用程序,提供用于表单的国家选择,标志图标静态文件和模型的国家/地区字段。
  • GeoDjango - 世界级的地理网络框架。
  • GeoIP - MaxMind GeoIP遗留数据库的Python API。
  • geojson - GeoJSON的Python绑定和实用程序。
  • geopy - Python地理编码工具箱。
  • pygeoip - 纯Python GeoIP API。

HTML操作

用于处理HTML和XML的库。

  • BeautifulSoup - 提供用于迭代,搜索和修改HTML或XML的Pythonic习语。
  • bleach - 基于白名单的HTML清理和文本链接库。
  • cssutils - Python的CSS库。
  • html5lib - 一个符合标准的库,用于解析和序列化HTML文档和片段。
  • lxml - 一个非常快速,易于使用且通用的库,用于处理HTML和XML。
  • MarkupSafe - 为Python实现XML / HTML / XHTML Markup安全字符串。
  • pyquery - 一个类似jQuery的库,用于解析HTML。
  • untangle - 将XML文档转换为Python对象以便于访问。
  • WeasyPrint - 用于HTML和CSS的可视化渲染引擎,可以导出为PDF。
  • xmldataset - 简单的XML解析。
  • xmltodict - 使用XML感觉就像使用JSON一样。

HTTP

使用HTTP的库。

  • grequests - 请求+ gevent用于异步HTTP请求。
  • httplib2 - 全面的HTTP客户端库。
  • requests - 针对Humans™的HTTP请求。
  • treq - 像在Twisted的HTTP客户端之上构建的API一样的Python请求。
  • urllib3 - 具有线程安全连接池,文件发布支持,健全的HTTP库。

硬件

用于使用硬件进行编程的库。

  • ino - 用于Arduino的命令行工具包。
  • keyboard - 在Windows和Linux上挂钩并模拟全局键盘事件。
  • mouse - 在Windows和Linux上挂钩并模拟全局鼠标事件。
  • Pingo - Pingo为Raspberry Pi,pcDuino,Intel Galileo等程序设备提供统一的API。
  • PyUserInput - 用于跨平台控制鼠标和键盘的模块。
  • scapy - 一个出色的数据包操作库。
  • wifi - 一个Python库和命令行工具,用于在Linux上使用WiFi。

图像处理

用于处理图像的库。

  • hmap - 图像直方图重新映射。
  • imgSeek - 使用视觉相似性搜索图像集合的项目。
  • nude.py - 裸露检测。
  • pagan - 基于输入字符串和哈希的复古identicon生成。
  • Pillow - 枕头是友好的PIL fork。
  • pyBarcode - 在Python中创建条形码而无需PIL。
  • pygram - 类似Instagram的图像过滤器。
  • python-qrcode - 一个纯Python二维码生成器。
  • Quads - 基于四叉树的计算机艺术。
  • scikit-image - 用于图像处理的Python库。
  • thumbor - 智能影像服务。它支持按需裁剪,重新调整大小和翻转图像。
  • wand - MagickWand的Python绑定,ImageMagick的C API。

实现

  • Python的实现。*

  • CLPython - 用Common Lisp编写的Python编程语言的实现。

  • CPython - 默认的,最广泛使用的用C语言编写的Python编程语言的实现。
  • Cython - 优化Python的静态编译器。使用类型mixins将Python编译为C或C ++模块,从而获得较大的性能提升
  • Grumpy - 比解释器更多的编译器作为更强大的CPython2.7替换
  • IronPython - 用C#编写的Python编程语言的实现,目标是.NET Framework和Mono。
  • Jython - 用Java编写的用于Java虚拟机的Python编程语言的实现。
  • MicroPython-MicroPython--针对微控制器和受约束系统的精简高效的Python编程语言实现
  • Numba - 用于LLVM的Python JIT编译器,旨在用于科学Python。
  • PeachPy - 嵌入在Python中的x86-64汇编程序。可用作Python的内联汇编程序,也可用作Windows,Linux,OS X,Native Client和Go的独立汇编程序。
  • Pyjion - 基于CoreCLR的Python JIT。
  • PyPy - 用RPython编写并转换成C. PyPy的Python编程语言的实现着重于速度,效率和与原始CPython解释器的兼容性。解释器使用黑魔法使Python非常快,而无需添加其他类型信息。
  • PySec - 加强版的python,使安全专业人员和开发人员能够更轻松地编写应用程序,使其更能抵御攻击和操纵。
  • Pyston - 使用LLVM和现代JIT技术构建的Python实现,旨在实现良好的性能。
  • Stackless Python - Python编程语言的增强版本,它允许程序员从基于线程的编程中获益,而不会出现与性能和复杂性相关的问题与传统的线程。

交互式Python解释器

国际化

与i18n合作的库。

  • Babel - Python的国际化库。
  • PyICU - 用于Unicode C ++库的国际组件的包装器ICU

Job Scheduler

用于安排工作的库。

  • APScheduler - 一个轻巧但功能强大的进程内任务调度程序,可让您安排功能。
  • django-schedule - Django的日历应用程序。
  • doit - 任务运行器和构建工具。
  • gunnery - 用于具有基于Web的界面的分布式系统的多用途任务执行工具。
  • Joblib - 一组用于在Python中提供轻量级流水线的工具。
  • plan - 在Python中编写crontab文件就像一个魅力。
  • schedule - 人类的Python作业调度。
  • Spiff - 一个用纯Python实现的强大的工作流引擎。
  • TaskFlow - 一个Python库,有助于使任务执行变得简单,一致和可靠。

日志

用于生成和处理日志的库。

  • Eliot - 记录复杂和分布式系统。
  • logbook - 为Python记录替代品。
  • logging - Python标准库-Python的日志记录工具。
  • raven - Sentry的Python客户端,用于Web应用程序的日志/错误跟踪,崩溃报告和聚合平台。

机器学习

机器学习库。请参阅:awesome-machine-learning.

微软Windows

  • Microsoft Windows上的Python编程。*

  • (x,y)Python - 基于Qt和Spyder的面向科学应用程序的Python发行版。

  • pythonlibs - Python扩展包的非官方Windows二进制文件。
  • PythonNet - 与.NET公共语言运行时的Python集成。
  • PyWin32 - 适用于Windows的Python扩展。
  • WinPython - 适用于Windows 7/8的便携式开发环境。

杂项

有用的库或工具不适合上述类别。

  • blinker - 一个快速的Python进程内信号/事件调度系统。
  • itsdangerous - 将可信数据传递给不受信任环境的各种帮助程序。
  • pluginbase - 一个简单但灵活的Python插件系统。
  • Pychievements - 用于创建和跟踪成就的框架。
  • Tryton - 通用业务框架。

自然语言处理

使用人类语言的库。

  • gensim - 人类主题建模。
  • Jieba - 中文文本细分。
  • langid.py - 独立语言识别系统。
  • NLTK - 构建用于处理人类语言数据的Python程序的领先平台。
  • Pattern - 用于Python的Web挖掘模块。
  • polyglot - 支持数百种语言的自然语言管道。
  • SnowNLP - 用于处理中文文本的库。
  • spaCy - 用于Python和Cython的工业级自然语言处理库。
  • TextBlob - 为潜入常见的NLP任务提供一致的API。
  • PyTorch-NLP - 一个工具包,可以快速深入学习研究的NLP原型。

网络虚拟化

用于虚拟网络和SDN的工具和库。

  • Mininet - 一种流行的网络模拟器和用Python编写的API。
  • POX - 基于Python的软件定义网络控制应用程序的开源开发平台,例如OpenFlow SDN控制器。
  • Pyretic - Frenetic SDN编程语言系列的成员,通过网络交换机或仿真器提供强大的抽象功能。
  • SDX平台 - 基于SDN的IXP实施,利用Mininet,POX和Pyretic。

联网

用于网络编程的库。

  • asyncio - (Python标准库)异步I / O,事件循环,协同程序和任务。
  • diesel - 基于Greenlet的Python事件I / O框架。
  • pulsar - Python的事件驱动并发框架。
  • pyzmq - ZeroMQ消息库的Python包装器。
  • Twisted - 一个事件驱动的网络引擎。
  • txZMQ - 基于Twisted的ZeroMQ消息库包装器。
  • NAPALM - 用于操纵网络设备的跨供应商API。

新闻Feed

用于建立用户活动的库。

ORM

实现对象关系映射或数据映射技术的库。

包管理

用于包和依赖管理的库。

  • pip - Python包和依赖项管理器。
  • conda - 跨平台,与Python无关的二进制包管理器。
  • Curdling - Curdling是一个用于管理Python包的命令行工具。
  • pip-tools - 一组工具,可以保持固定的Python依赖关系。
  • wheel - Python发行版的新标准,旨在取代鸡蛋。

包存储库

本地PyPI存储库服务器和代理。

  • warehouse - 下一代Python包存储库PyPI。
  • bandersnatch - Python Packaging AuthorityPyPA提供的PyPI镜像工具。
  • devpi - PyPI服务器和打包/测试/发布工具。
  • localshop - 本地PyPI服务器自定义包和pypi的自动镜像。

权限

允许或拒绝用户访问数据或功能的库。

  • Carteblanche - 将代码与用户和设计师的想法对齐的模块。还神奇地处理导航和权限。
  • django-guardian - 实现Django 1.2+的每个对象权限
  • django-rules - 一个小巧但功能强大的应用程序,为Django提供对象级权限,无需数据库。

进程

用于启动和与OS进程通信的库。

队列

用于处理事件和任务队列的库。

  • celery - 基于分布式消息传递的异步任务队列/作业队列。
  • huey - 小型多线程任务队列。
  • mrq - Queue先生 - 使用Redis和gevent在Python中的分布式工作人员任务队列。
  • rq - Python的简单作业队列。
  • simpleq - 一个基于Amazon SQS的简单,无限可扩展的队列。

推荐系统

用于构建推荐系统的库。

  • annoy - 针对内存使用优化的C ++ / Python中的近似最近邻居。
  • fastFM - 分解机器的库。
  • implicit - 针对隐式数据集的协作过滤的快速Python实现。
  • libffm - 用于字段感知分解机器FFM的库。
  • LightFM - 许多流行推荐算法的Python实现。
  • Spotlight - 使用PyTorch的深度推荐器模型。
  • surprise - 用于构建和分析推荐系统的scikit。
  • TensorRec - TensorFlow中的推荐引擎框架。

RESTful API

用于开发RESTful API的库。

  • Django
  • flask
    • eve - 由Flask,MongoDB和良好意图提供支持的REST API框架。
    • flask-api-utils - 负责Flask的API表示和身份验证。
    • flask-api - Flask的可浏览Web API。
    • flask-restful - 快速为Flask构建REST API。
    • flask-restless - 为使用SQLAlchemy定义的数据库模型生成RESTful API。
  • 金字塔
    • cornice - 金字塔的RESTful框架。
  • 框架不可知
    • falcon - 用于构建云API和Web应用程序后端的高性能框架。
    • hug - 一个Python3框架,用于通过HTTP和命令行干净地公开API,并提供自动文档和验证。
    • restless - 基于从Tastypie学到的经验教训的框架无关REST框架。
    • ripozo - 快速创建REST / HATEOAS /超媒体API。
    • sandman - 用于现有数据库驱动系统的自动REST API。
    • apistar - 专为Python 3设计的智能Web API框架。

机器人

机器人库。

  • PythonRobotics - 这是可视化的各种机器人算法的汇编。
  • rospy - 这是ROS机器人操作系统的库。

RPC服务器

科学

科学计算的库。

  • astropy - 用于天文学的社区Python库。
  • bcbio-nextgen - 为全自动高通量测序分析提供最佳实践管道。
  • bccb - 收集与生物分析相关的有用代码。
  • Biopython - Biopython是一套免费提供的生物计算工具。
  • cclib - 用于解析和解释计算化学包结果的库。
  • 颜色 - 一个色彩科学包,实现了全面的色彩理论转换和算法。
  • NetworkX - 适用于复杂网络的高效软件。
  • NIPY - 神经影像工具包的集合。
  • NumPy - 使用Python进行科学计算的基本软件包。
  • Open Babel - 一种化学工具箱,设计用于说多种语言的化学数据。
  • ObsPy - 一个用于地震学的Python工具箱。
  • PyDy - Python Dynamics的缩写,用于协助动态建模动画中的工作流程。
  • PyMC - 马尔可夫链蒙特卡罗采样工具包。
  • QuTiP - Python中的Quantum工具箱。
  • RDKit - Cheminformatics和机器学习软件。
  • SciPy - 基于Python的数学,科学和工程开源软件生态系统。
  • statsmodels - Python中的统计建模和计量经济学。
  • SymPy - 用于符号数学的Python库。
  • Zipline - 一个Pythonic算法交易库。
  • SimPy - 基于流程的离散事件模拟框架。

搜索

用于索引和执行数据搜索查询的库和软件。

序列化

用于序列化复杂数据类型的库

  • marshmallow - marshmallow是一个ORM / ODM /框架无关的库,用于将复杂数据类型(如对象)与本机Python数据类型进行转换。

无服务器框架

用于开发无服务器Python代码的框架。

  • apex - 轻松构建,部署和管理AWS Lambda功能。
  • python-lambda - 用于在AWS Lambda中开发和部署Python代码的工具包。
  • Zappa - 用于在AWS Lambda和API Gateway上部署WSGI应用程序的工具。

特定格式处理

用于解析和操作特定文本格式的库。

  • 一般
    • tablib - XLS,CSV,JSON,YAML中的表格数据集模块。
  • 办公
    • Marmir - 采用Python数据结构并将其转换为电子表格。
    • openpyxl - 用于读取和编写Excel 2010 xlsx / xlsm / xltx / xltm文件的库。
    • pyexcel - 提供一个API,用于读取,操作和编写csv,ods,xls,xlsx和xlsm文件。
    • python-docx - 读取,查询和修改Microsoft Word 2007/2008 docx文件。
    • python-pptx - 用于创建和更新PowerPoint文件的Python库。
    • relatorio - 模板化OpenDocument文件。
    • unoconv - 在LibreOffice / OpenOffice支持的任何文档格式之间进行转换。
    • XlsxWriter - 用于创建Excel .xlsx文件的Python模块。
    • xlwings - 一个获得BSD许可的库,可以轻松地从Excel调用Python,反之亦然。
    • xlwt/ xlrd - 从Excel文件中写入和读取数据和格式信息。
  • PDF
    • PDFMiner - 用于从PDF文档中提取信息的工具。
    • PyPDF2 - 一个能够分割,合并和转换PDF页面的库。
    • ReportLab - 允许快速创建丰富的PDF文档。
  • 降价
    • Mistune - Markdown的最快和全功能的纯Python解析器。
    • Python-Markdown - John Gruber的Markdown的Python实现。
  • YAML
    • PyYAML - Python的YAML实现。
  • CSV
    • csvkit - 用于转换为CSV并使用CSV的实用程序。
  • 存档
    • unp - 一个可以轻松解压缩档案的命令行工具。

静态站点生成器

静态站点生成器是一种软件,它将一些文本+模板作为输入,并在输出上生成HTML文件。

  • Cactus - 设计师的静态站点生成器。
  • hyde - 基于Jinja2的静态网站生成器。
  • Lektor - 易于使用的静态CMS和博客引擎。
  • Nikola - 静态网站和博客生成器。
  • Pelican - 使用Markdown或ReST作为内容,使用Jinja 2作为主题。支持DVCS,Disqus。AGPL。
  • Tinkerer - Tinkerer是由Sphinx提供支持的博客引​​擎/ .static网站生成器。

标记

用于标记物品的库。

模板引擎

用于模板和lexing的库和工具。

  • Genshi - 用于生成Web感知输出的Python模板工具包。
  • Jinja2 - 一种现代且设计友好的模板语言。
  • Mako - Python平台的超快和轻量级模板。

测试

用于测试代码库和生成测试数据的库。

  • 测试框架
    • hypothesis - 假设是一种基于Quickcheck风格的高级属性测试库。
    • mamba - Python的权威测试工具。出生在BDD的旗帜下。
    • nose - 一个更好的Python单元测试。
    • nose2 - 鼻子的继承者,基于unittest2。
    • pytest - 一个成熟的全功能Python测试工具。
    • robotframework - 通用测试自动化框架。
    • unittest - Python标准库单元测试框架。
  • 测试跑步者
    • green - 一个干净,色彩缤纷的跑步者。
    • tox - 在多个Python版本中自动构建和测试发行版
  • GUI / Web测试
    • locust - 用Python编写的可扩展用户负载测试工具。
    • PyAutoGUI - PyAutoGUI是一个面向人类的跨平台GUI自动化Python模块。
    • Selenium - SeleniumWebDriver的Python绑定。
    • sixpack - 与语言无关的A / B测试框架。
    • splinter - 用于测试Web应用程序的开源工具。
  • 模拟
    • doublex - 强大的测试加倍Python框架。
    • freezegun - 通过模拟日期时间模块来度过时间。
    • httmock - 一个用于Python 2.6+和3.2+请求的模拟库。
    • httpretty - 用于Python的HTTP请求模拟工具。
    • mock - Python标准库一个模拟和修补库。
    • Mocket - Socket Mock Framework加上具有录制/重放功能的HTTP S / asyncio / gevent模拟库。
    • response - 用于模拟请求Python库的实用程序库。
    • VCR.py - 记录并重播测试中的HTTP交互。
  • 对象工厂
    • factory_boy - Python的测试夹具替代品。
    • mixer - 另一个灯具更换。支持Django,Flask,SQLAlchemy,Peewee等。
    • model_mommy - 在Django中创建用于测试的随机装置。
  • 代码覆盖范围
    • 覆盖 - 代码覆盖率测量。
  • 假数据
    • mimesis - 是一个帮助您生成虚假数据的Python库。
    • fake2db - 假数据库生成器。
    • faker - 一个生成虚假数据的Python包。
    • radar - 生成随机日期时间/时间。
  • 错误处理程序
    • FuckIt.py - FuckIt.py使用最先进的技术确保您的Python代码无论是否有权运行。

文本处理

用于解析和操作纯文本的库。

  • 一般
    • chardet - 兼容Python 2/3的字符编码检测器。
    • difflib - Python标准库,用于计算增量的助手。
    • ftfy - 使Unicode文本更少破碎,更自然地保持一致。
    • fuzzywuzzy - 模糊字符串匹配。
    • Levenshtein - 快速计算Levenshtein距离和字符串相似度。
    • pangu.py - CJK和字母数字的间距文本。
    • pyfiglet - 用Python编写的figlet实现。
    • pypinyin - 将中文汉字转换为拼音。
    • shortuuid - 用于简洁,明确且URL安全的UUID的生成器库。
    • textdistance - 计算序列之间的距离。30多种算法,纯python实现,通用接口,可选的外部库使用。
    • unidecode - Unicode文本的ASCII音译。
    • uniout - 打印可读字符而不是转义字符串。
    • xpinyin - 将中文汉字翻译成拼音的库。
  • Slugify
    • awesome-slugify - 一个可以保存unicode的Python slugify库。
    • python-slugify - 一个Python ungode库,可将unicode转换为ASCII。
    • unicode-slugify - 一个以Django为依赖关系生成unicode slugs的slugifier。
  • 解析器

第三方API

用于访问第三方服务API的库。请参阅:Python API包装和库列表

URL操作

用于解析URL的库。

  • furl - 一个小型Python库,可以轻松解析和操作URL。
  • purl - 一个简单的,不可变的URL类,带有用于询问和操作的干净API。
  • pyshorteners - 一个纯Python的URL缩短库。
  • short_url - 用于生成Tiny URL和类似bit.ly的URL的Python实现。
  • webargs - 一个用于解析HTTP请求参数的友好库,内置支持流行的Web框架,包括Flask,Django,Bottle,Tornado和Pyramid。

视频

用于操纵视频和GIF的库。

  • moviepy - 基于脚本的电影编辑模块,包含许多格式,包括动画GIF。
  • scikit-video - SciPy的视频处理程序。

WSGI服务器

兼容WSGI的Web服务器。

  • bjoern - 异步,非常快,用C语言编写。
  • fapws3 - 异步仅限网络侧,用C语言编写。
  • gunicorn - 预分叉,部分用C语言编写。
  • meinheld - 异步,部分用C语言编写。
  • netius - 异步,速度非常快。
  • rocket - 多线程。
  • uWSGI - 一个项目旨在开发一个用于构建托管服务的完整堆栈,用C语言编写。
  • waitress - 多线程,为金字塔提供支持。
  • Werkzeug - 一个用于Python的WSGI实用程序库,可以很容易地嵌入到您自己的项目中。

Web内容提取

用于提取网页内容的库。

  • Haul - 可扩展图像爬虫。
  • html2text - 将HTML转换为Markdown格式的文本。
  • lassie - 人类的Web内容检索。
  • micawber - 一个用于从URL中提取丰富内容的小型库。
  • newspaper - Python中的新闻提取,文章提取和内容管理。
  • python-goose - HTML内容/文章提取器。
  • python-readability - arc90可读性工具的快速Python端口。
  • requests-html - 用于人类的Pythonic HTML解析。
  • sanitize - 为混乱的数据世界带来理智。
  • sumy - 用于自动汇总文本文档和HTML页面的模块。
  • textract - 从任何文档,Word,PowerPoint,PDF等中提取文本。
  • toapi - 每个网站都提供API。

网页抓取和网页抓取

库自动从网站提取数据。

  • cola - 分布式抓取框架。
  • Demiurge - 基于PyQuery的抓取微框架。
  • feedparser - 通用Feed解析器。
  • Grab - 网站抓取框架。
  • MechanicalSoup - 用于自动与网站交互的Python库。
  • portia - 视觉刮擦Scrapy。
  • pyspider - 一个强大的蜘蛛系统。
  • RoboBrowser - 一个简单的Pythonic库,用于在没有独立Web浏览器的情况下浏览网页。
  • Scrapy - 快速高级屏幕抓取和网络抓取框架。

Web框架

完整的堆栈Web框架。

WebSocket

使用WebSocket的库。

服务

用于简化开发的在线工具和API。

持续集成

参见:awesome-CIandCD

  • CircleCI - 可以运行非常快速的并行测试的CI服务。仅限GitHub
  • Travis CI - 适用于您的开源和私人项目的流行CI服务。仅限GitHub
  • Vexor CI - 针对私人应用程序的持续集成工具,具有按分钟付费计费模式。
  • Wercker - 基于Docker的平台,用于构建和部署应用程序和微服务。

代码质量

  • Codacy - 自动代码审查,以更快地发送更好的代码。
  • Codecov - 代码覆盖率仪表板。
  • CodeFactor - Git的自动代码审查。
  • Landscape - 托管连续的Python代码指标。

资源

在哪里发现新的Python库。

播客

网站

每周