Python

Awesome Python Awesome

精选的Python框架,库,软件和资源的精选清单.

受启发 awesome-php.


Admin Panels

用于管理界面的库.

  • ajenti -您的服务器应有的管理面板.
  • django-grappelli -Django Admin-Interface的爵士外观.
  • django-jet -具有改进功能的Django管理界面的现代响应模板.
  • django-suit -可选的Django Admin界面(仅用于非商业用途免费).
  • django-xadmin -替换Django admin附带许多好处.
  • jet-bridge -具有良好UI的任何应用程序的管理面板框架(例如Jet Django)
  • flask-admin -Flask的简单和可扩展的管理界面框架.
  • flower -Celery的实时监控器和Web管理员.
  • wooey -一个Django应用,可为Python脚本创建自动的Web UI.

Algorithms and Design Patterns

数据结构,算法和设计模式的Python实现.

算法 * TheAlgorithms -用Python实现的所有算法. * algorithms -数据结构和算法的最少示例. * python-ds -用于采访采访的数据结构和算法的集合. * sortedcontainers -排序集合的快速和纯Python实现. 设计模式 * PyPattyrn -一个简单而有效的库,用于实现常见的设计模式. * python-patterns -Python中的设计模式集合. * transitions -轻量级的,面向对象的有限状态机实现.

ASGI Servers

ASGI兼容的Web服务器.

  • uvicorn -使用uvloop和httptools的闪电般快速的ASGI服务器实现.
  • daphne -用于ASGI和ASGI-HTTP的HTTP,HTTP2和WebSocket协议服务器.

Asynchronous Programming

Audio

*用于处理音频及其元数据的库.

音频 * audioread -跨库(GStreamer +核心音频+ MAD + FFmpeg)音频解码. * dejavu -音频指纹识别. * matchering -自动参考音频母带库. * mingus -带有MIDI文件和播放支持的高级音乐理论和乐谱包. * pyAudioAnalysis -音频特征提取,分类,分段和应用. * pydub -通过简单易用的高级界面处理音频. * TimeSide -开放的Web音频处理框架. 元数据 * beets -音乐库管理员和 MusicBrainz 标签. * eyeD3 -处理音频文件的工具,特别是包含ID3元数据的MP3文件. * mutagen -处理音频元数据的Python模块. * tinytag -用于读取MP3,OGG,FLAC和Wave文件的音乐元数据的库.

Authentication

用于实施身份验证方案的库.

  • OAuth
    • authlib - JavaScript Object Signing and Encryption draft implementation.
    • django-allauth -适用于Django的身份验证应用程序,“可正常使用”.
    • django-oauth-toolkit -适用于Django的OAuth 2好东西.
    • oauthlib -OAuth请求签名逻辑的通用且全面的实现.
    • python-oauth2 -用于创建OAuth客户端和服务器的经过全面测试的抽象界面.
    • python-social-auth -易于设置的社交身份验证机制. *智威汤逊
    • pyjwt -Python中的JSON Web令牌实现.
    • python-jose -用Python实现的JOSE实现.
    • python-jwt -用于生成和验证JSON Web令牌的模块.

Build Tools

从源代码编译软件.

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

Built-in Classes Enhancement

用于增强Python内置类的库.

  • dataclasses -(Python标准库)数据类.
  • attrs -替换类定义中的__init eq repr__等样板.
  • bidict -高效的Pythonic双向地图数据结构和相关功能.
  • Box -具有高级点符号访问功能的Python词典.
  • DottedDict -一个库,提供一种使用点路径符号访问列表和字典的方法.

CMS

  • django-cms -基于Django的开源企业CMS.
  • indico -功能丰富的事件管理系统,@ CERN.
  • Kotti -基于Pyramid的高级Pythonic Web应用程序框架.
  • plone -在开源应用程序服务器Zope之上构建的CMS.
  • quokka -由Flask和MongoDB支持的灵活,可扩展的小型CMS.

Caching

*用于缓存数据的库.

ChatOps Tools

用于聊天机器人开发的库.

  • errbot -实施ChatOps的最简单,最受欢迎的聊天机器人.

Code Analysis

静态分析,棉短绒和代码质量检查器的工具. 另见 awesome-static-analysis.

代码分析 * coala -语言独立且易于扩展的代码分析应用程序. * code2flow -将您的Python和JavaScript代码转换成DOT流程图. * prospector -分析Python代码的工具. * pycallgraph -可视化Python应用程序流程(调用图)的库. * vulture -查找和分析无效的Python代码的工具. 代码短毛 * flake8 -围绕着pycodestyle,pyflakes和McCabe的包装器. * awesome-flake8-extensions * pylint -完全可定制的源代码分析器. * pylama -用于Python和JavaScript的代码审核工具. * wemake-python-styleguide -有史以来最严格,最自以为是的python linter. 代码格式化程序 * black -毫不妥协的Python代码格式化程序. * yapf -另一个来自Google的Python代码格式化程序. 静态类型检查器,另请参见 awesome-python-typing * mypy -在编译期间检查变量类型. * typeshed -具有静态类型的Python库存根的集合. * pyre-check -性能类型检查. *静态类型注释生成器 * MonkeyType -用于Python的系统,通过收集运行时类型生成静态类型注释

Command-line Interface Development

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

命令行应用程序开发 * cement -适用于Python的CLI应用程序框架. * click -用于以可组合方式创建漂亮的命令行界面的软件包. * cliff -用于使用多级命令创建命令行程序的框架. * docopt -Pythonic命令行参数解析器. * python-fire -用于从几乎任何Python对象创建命令行界面的库. * python-prompt-toolkit -用于构建功能强大的交互式命令行的库. 终端渲染 * asciimatics -一个用于创建全屏文本UI(从交互式表单到ASCII动画)的软件包. * bashplotlib -在终端上进行基本绘图. * colorama -跨平台的彩色终端文本. * rich -用于在终端中提供富文本格式和精美格式的Python库. 还提供了一个很棒的RichHandler日志处理程序. * tqdm -快速,可扩展的进度条,用于循环和CLI. * alive-progress -一种新型进度栏,具有实时吞吐量,eta和非常酷的动画.

Command-line Tools

有用的基于CLI的工具可提高工作效率.

*生产力工具 * cookiecutter -从cookiecutter(项目模板)创建项目的命令行实用程序. * doitlive -在终端中进行实时演示的工具. * howdoi -通过命令行即时编码答案. * Invoke -一种工具,用于管理面向外壳的子流程,并将可执行的Python代码组织到CLI可以调用的任务中. * PathPicker -从bash输出中选择文件. * percol -在UNIX上的传统管道概念中增加了交互选择的味道. * thefuck -更正先前的控制台命令. * tmuxp - 一个 tmux 会话管理器. * try -一个简单的CLI来试用python软件包-从未如此简单. * CLI增强功能 * httpie -命令行HTTP客户端,方便用户的cURL替换. * kube-shell -用于Kubernetes CLI的集成外壳. * mycli -具有自动补全功能和语法突出显示功能的MySQL CLI. * pgcli -具有自动完成功能和语法突出显示功能的PostgreSQL CLI. * iredis -具有自动完成功能和语法突出显示功能的Redis CLI. * litecli -具有自动完成功能和语法突出显示功能的SQLite CLI. * saws -增压 aws-cli.

Compatibility

*用于从Python 2迁移到3的库.

  • python-future -Python 2和Python 3之间缺少兼容性层.
  • python-modernize -现代化Python代码,以便最终进行Python 3迁移.
  • six -Python 2和3兼容性实用程序.

Computer Vision

*计算机视觉图书馆.

Concurrency and Parallelism

用于并发和并行执行的库. 另见 awesome-asyncio.

  • concurrent.futures -(Python标准库)用于异步执行可调用对象的高级接口.
  • multiprocessing -(Python标准库)基于进程的并行性.
  • eventlet -具有WSGI支持的异步框架.
  • gevent -使用基于协程的Python网络库 greenlet.
  • uvloop -在libuv之上的asyncio事件循环的超快速实现.
  • scoop -Python中的可伸缩并行操作.

Configuration

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

  • configobj -带有验证的INI文件解析器.
  • configparser -(Python标准库)此解析器文件.
  • profig -通过值转换从多种格式进行配置.
  • python-decouple -严格将设置与代码分开.
  • hydra -Hydra是用于优雅配置复杂应用程序的框架.

Cryptography

  • cryptography -旨在向Python开发人员公开密码基元和配方的软件包.
  • paramiko -领先的原生Python SSHv2协议库.
  • passlib -安全的密码存储/哈希库,非常高的水平.
  • pynacl -将Python绑定到网络和密码(NaCl)库.

Data Analysis

用于数据分析的库.

  • Blaze -NumPy和Pandas与大数据的接口.
  • Open Mining -Pandas界面中的商业智能(BI).
  • Orange -通过可视化编程或脚本进行数据挖掘,数据可视化,分析和机器学习.
  • Pandas -提供高性能,易于使用的数据结构和数据分析工具的库.
  • Optimus -使用PySpark简化了敏捷数据科学工作流程.
  • AWS Data Wrangler -AWS上的熊猫.

Data Validation

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

Data Visualization

用于可视化数据的库. 另见 awesome-javascript.

  • Altair -用于Python的声明性统计可视化库.
  • Bokeh -用于Python的交互式Web绘图.
  • bqplot -Jupyter Notebook的交互式绘图库
  • Dash -建立在Flask,React和Plotly之上,旨在用于分析Web应用程序.
  • diagrams -图为代码.
  • plotnine -基于ggplot2的Python图形语法.
  • Matplotlib -Python 2D绘图库.
  • Pygal -Python SVG Charts Creator.
  • PyGraphviz -Python接口 Graphviz.
  • PyQtGraph -交互式和实时2D / 3D /图像绘制以及科学/工程部件.
  • Seaborn -使用Matplotlib可视化统计数据.
  • VisPy -基于OpenGL的高性能科学可视化.

Database

使用Python实现的数据库.

  • pickleDB -用于Python的简单轻量级键值存储.
  • tinydb -小型的,面向文档的数据库.
  • ZODB -Python的本机对象数据库. 键值和对象图数据库.

Database Drivers

*用于连接和操作数据库的库.

Date and Time

*用于处理日期和时间的库.

  • Arrow -一个Python库,它提供了一种明智且人性化的方法来创建,操作,格式化和转换日期,时间和时间戳.
  • Chronyk -一个Python 3库,用于解析人类编写的时间和日期.
  • dateutil -对标准Python的扩展 datetime 模块.
  • delorean -一个库,用于清除与日期时间有关的不便事实.
  • moment -用于处理日期/时间的Python库. 受启发 Moment.js.
  • Pendulum -Python日期时间变得容易.
  • PyTime -一个易于使用的Python模块,旨在按字符串操作日期/时间/日期时间.
  • pytz -世界时区定义,现代和历史. 带来 tz database 进入Python.
  • when.py -提供用户友好的功能,以帮助执行常见的日期和时间操作.
  • maya -人类的约会时间.

Debugging Tools

用于调试代码的库.

类似于pdb的调试器 * ipdb -启用IPython pdb. * pdb++ -pdb的另一种替代产品. * pudb -基于控制台的全屏Python调试器. * wdb -通过WebSocket的不可能的Web调试器. 追踪 * lptrace - strace 适用于Python程序. * manhole -调试UNIX套接字连接,并显示所有线程的堆栈跟踪和交互式提示. * pyringe -能够附加到Python进程并将代码注入Python进程的调试器. * python-hunter - A flexible code tracing toolkit. *个人资料 * line_profiler -逐行分析. * memory_profiler -监视Python代码的内存使用情况. * profiling -交互式Python分析器. * py-spy -用于Python程序的采样分析器. 写在锈. * pyflame -适用于Python的跟踪分析器. * vprof -视觉Python分析器. * 其他 * icecream -通过一个简单的函数调用检查变量,表达式和程序执行情况. * django-debug-toolbar -显示Django的各种调试信息. * django-devserver -Django运行服务器的直接替代品. * flask-debugtoolbar -django-debug-toolbar到flask的端口. * pyelftools -解析和分析ELF文件和DWARF调试信息.

Deep Learning

神经网络和深度学习框架. 另见 awesome-deep-learning.

  • caffe -深度学习的快速开放框架.
  • keras -高级神经网络库,能够在TensorFlow或Theano之上运行.
  • mxnet -旨在提高效率和灵活性的深度学习框架.
  • pytorch -具有强大GPU加速功能的Python中的张量和动态神经网络.
  • SerpentAI -游戏代理框架. 使用任何视频游戏作为深度学习沙箱.
  • tensorflow -Google创建的最受欢迎的深度学习框架.
  • Theano -用于快速数值计算的库.

DevOps Tools

  • DevOps的软件和库.

  • 配置管理

    • ansible -完全简单的IT自动化平台.
    • cloudinit -多分发包,用于处理云实例的早期初始化.
    • OpenStack -用于构建私有和公共云的开源软件.
  • SSH样式的部署
    • fabric -用于远程执行和部署的简单Pythonic工具.
    • fabtools -编写很棒的Fabric文件的工具.
    • cuisine -织物的类似厨师的功能.
  • 流程管理
    • supervisor -UNIX的主管过程控制系统.
    • honcho -的Python克隆 Foreman,用于管理基于Procfile的应用程序. *监控
    • psutil -跨平台的流程和系统实用程序模块. *备份
    • BorgBackup -具有压缩和加密功能的重复数据删除存档器.
  • 其他

Distributed Computing

*分布式计算的框架和库.

  • 批量处理
    • PySpark - Apache Spark Python API.
    • dask -用于分析计算的灵活并行计算库.
    • luigi -一个模块,可帮助您构建批处理作业的复杂管道.
    • mrjob - Run MapReduce jobs on Hadoop or Amazon Web Services.
    • Ray -一个用于并行和分布式Python的系统,该系统统一了机器学习生态系统. *流处理
    • faust -流处理库,可移植来自 Kafka Streams 到Python.
    • streamparse -通过实时数据流运行Python代码 Apache Storm.

Distribution

用于创建打包的可执行文件以进行发行的库.

  • dh-virtualenv -构建和分发Virtualenv作为Debian软件包.
  • Nuitka -将脚本,模块,程序包编译为可执行文件或扩展模块.
  • py2app -冻结Python脚本(Mac OS X).
  • py2exe -冻结Python脚本(Windows).
  • PyInstaller -将Python程序转换为独立的可执行文件(跨平台).
  • pynsist -安装Windows的工具,安装程序捆绑Python本身.
  • pyarmor -用于混淆python脚本,将混淆后的脚本绑定到固定计算机或使混淆后的脚本失效的工具.
  • shiv -一个命令行实用程序,用于构建完全独立的zipapp(PEP 441),但包括其所有依赖项.

Documentation

用于生成项目文档的库.

Downloader

要下载的库.

  • s3cmd -用于管理Amazon S3和CloudFront的命令行工具.
  • s4cmd -超级S3命令行工具,可提高性能.
  • you-get -用Python 3编写的YouTube / Youku / Niconico视频下载器.
  • youtube-dl -一个小型命令行程序,可从YouTube下载视频.
  • akshare -为人类建立的财务数据接口库!

E-commerce

用于电子商务和支付的框架和库.

  • alipay -适用于Python的非官方Alipay API.
  • Cartridge -使用夹层构建的购物车应用.
  • django-oscar -Django的开源电子商务框架.
  • django-shop -基于Django的商店系统.
  • merchant -一个Django应用,可以接受来自各种付款处理器的付款.
  • money -Money类,具有可选的CLDR支持的语言环境感知格式和可扩展的货币兑换.
  • python-currencies -显示货币格式及其肮脏的货币.
  • forex-python -外汇汇率,比特币价格指数和货币换算.
  • saleor -Django的电子商务店面.
  • shoop -基于Django的开源电子商务平台.

Editor Plugins and IDEs

埃马克斯 * elpy -Emacs Python开发环境. 崇高的文字 * anaconda -Anaconda可在功能齐全的Python开发IDE中转换Sublime Text 3. * SublimeJEDI -出色的自动完成库Jedi的Sublime Text插件. * 我来了 * jedi-vim -用于Python的Jedi自动完成库的Vim绑定. * python-mode -用于将Vim转换为Python IDE的多合一插件. * YouCompleteMe -包括 Jedi基于Python的完成引擎. * 视觉工作室 * PTVS -适用于Visual Studio的Python工具. * Visual Studio代码 * Python -官方VSCode扩展,具有对Python的丰富支持. * IDE * PyCharm -JetBrains的商业Python IDE. 有免费的社区版. * spyder -开源Python IDE.

Email

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

邮件服务器 * modoboa -包含现代Web UI的邮件托管和管理平台. * salmon -Python邮件服务器. 客户 * imbox -适用于人类的Python IMAP. * yagmail -另一个Gmail / SMTP客户端. * 其他 * flanker -电子邮件地址和Mime解析库. * mailer -高性能可扩展邮件传递框架.

Environment Management

用于Python版本和虚拟环境管理的库.

  • pyenv -简单的Python版本管理.
  • virtualenv -创建隔离的Python环境的工具.

Files

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

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

Foreign Function Interface

*用于提供外来功能接口的库.

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

Forms

用于处理表单的库.

Functional Programming

使用Python进行功能编程.

  • Coconut -为简单,优雅,Pythonic函数式编程而构建的Python变体.
  • fn.py -Python中的函数式编程:实现缺少功能以享受FP.
  • funcy -精美实用的功能工具.
  • more-itertools -除了itertools之外,还有更多用于操作可迭代程序的例程.
  • returns -一组类型安全的monad,变形金刚和合成工具.
  • Toolz -迭代器,函数和字典的函数实用程序集合.
  • CyToolz -“工具”的Cython实现:高性能功能实用程序.

GUI Development

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

  • curses -内置包装 ncurses 用于创建终端GUI应用程序.
  • Eel -用于制作简单的类似电子的脱机HTML / JS GUI应用程序的库.
  • enaml -使用声明性语法(如QML)创建漂亮的用户界面.
  • Flexx -Flexx是用于创建GUI的纯Python工具包,它使用Web技术进行呈现.
  • Gooey -使用命令行将命令行程序转换为完整的GUI应用程序.
  • kivy -用于创建在Windows,Linux,Mac OS X,Android和iOS上运行的NUI应用程序的库.
  • pyglet -适用于Python的跨平台窗口和多媒体库.
  • PyGObject -GLib / GObject / GIO / GTK +(GTK + 3)的Python绑定.
  • PyQt -的Python绑定 Qt 跨平台应用程序和UI框架.
  • PySimpleGUI -tkinter,Qt,WxPython和Remi的包装器.
  • pywebview -围绕Webview组件的轻型跨平台本机包装.
  • Tkinter -Tkinter是Python的事实上的标准GUI软件包.
  • Toga -Python本机,OS本机GUI工具包.
  • urwid -用于创建终端GUI应用程序的库,该库对窗口小部件,事件,丰富的颜色等具有强大的支持.
  • wxPython -wxWidgets C ++类库与Python的混合.

GraphQL

使用GraphQL的库.

  • tartiflette -适用于Python 3.6+和asyncio的SDL优先GraphQL引擎实现.
  • tartiflette-aiohttp -一个基于aiohttp的包装,用于Tartiflette,以通过HTTP公开GraphQL API.
  • tartiflette-asgi -ASGI支持Tartiflette GraphQL引擎.

Game Development

很棒的游戏开发库.

  • Cocos2d -cocos2d是用于构建2D游戏,演示和其他图形/交互应用程序的框架.
  • Harfang3D -用于3D,VR和游戏开发的Python框架.
  • Panda3D -迪士尼开发的3D游戏引擎.
  • Pygame -Pygame是一组旨在编写游戏的Python模块.
  • PyOgre -用于Ogre 3D渲染引擎的Python绑定,可用于游戏,模拟和任何3D.
  • PyOpenGL -OpenGL及其相关API的Python ctypes绑定.
  • PySDL2 -SDL2库的基于ctypes的包装器.
  • RenPy -Visual Novel引擎.

Geolocation

*用于对地址进行地理编码以及使用纬度和经度的库.

  • django-countries -一个Django应用,可为模型和表单提供国家/地区字段.
  • GeoDjango -世界一流的地理网络框架.
  • GeoIP -用于MaxMind GeoIP旧版数据库的Python API.
  • geojson -GeoJSON的Python绑定和实用程序.
  • geopy -Python地理编码工具箱.
  • pygeoip -纯Python GeoIP API.

HTML Manipulation

*用于处理HTML和XML的库.

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

HTTP Clients

使用HTTP的库.

  • grequests -请求+ gevent用于异步HTTP请求.
  • httplib2 -全面的HTTP客户端库.
  • httpx -用于Python的下一代HTTP客户端.
  • requests -人类的HTTP请求.
  • treq -像Twisted的HTTP客户端一样构建的API之类的Python请求.
  • urllib3 -具有线程安全连接池的HTTP库,支持文件发布,健全.

Hardware

使用硬件编程的库.

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

Image Processing

用于处理图像的库.

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

Implementations

  • Python的实现.*

  • CPython -默认的,使用C语言编写的Python编程语言的最广泛使用的实现.

  • Cython -针对Python优化静态编译器.
  • CLPython -以Common Lisp编写的Python编程语言的实现.
  • Grumpy -比解释器更多的编译器,因为它是更强大的CPython2.7替代(alpha).
  • IronPython - Implementation of the Python programming language written in C#.
  • Jython -为JVM用Java编写的Python编程语言的实现.
  • MicroPython -精简高效的Python编程语言实现.
  • Numba -针对科学Python的LLVM的Python JIT编译器.
  • PeachPy -嵌入在Python中的x86-64汇编器.
  • Pyjion -基于CoreCLR的Python JIT.
  • PyPy -Python语言的非常快速且合规的实现.
  • Pyston -使用JIT技术的Python实现.
  • Stackless Python -Python编程语言的增强版本.

Interactive Interpreter

交互式Python解释器(REPL).

Internationalization

用于i18n的库.

  • Babel -Python的国际化库.
  • PyICU -Unicode C ++库的国际组件的包装(ICU).

Job Scheduler

用于计划作业的库.

  • APScheduler -轻巧但功能强大的进程内任务计划程序,可让您计划功能.
  • django-schedule -适用于Django的日历应用程序.
  • doit -任务运行器和构建工具.
  • gunnery -具有基于Web界面的分布式系统的多功能任务执行工具.
  • Joblib -一组用于在Python中提供轻量级流水线的工具.
  • Plan -像用魅惑一样用Python编写crontab文件.
  • schedule -针对人类的Python作业计划.
  • Spiff - A powerful workflow engine implemented in pure Python.
  • TaskFlow -一个Python库,可帮助您轻松,一致且可靠地执行任务.
  • Airflow -Airflow是一个以编程方式编写,安排和监视工作流的平台.

Logging

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

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

Machine Learning

机器学习图书馆. 另见 awesome-machine-learning.

Microsoft Windows

*在Microsoft Windows上进行Python编程.

  • Python(x,y) -基于Qt和Spyder的面向科学应用程序的Python发行版.
  • pythonlibs -用于Python扩展程序包的非官方Windows二进制文件.
  • PythonNet -与.NET公共语言运行库(CLR)的Python集成.
  • PyWin32 -Windows的Python扩展.
  • WinPython -Windows ⅞的可移植开发环境.

Miscellaneous

不属于上述类别的有用的库或工具.

  • blinker -快速的Python处理中信号/事件分配系统.
  • boltons -一组纯Python实用程序.
  • itsdangerous -各种帮助程序,将可信数据传递到不可信环境.
  • pluginbase -一个简单但灵活的Python插件系统.
  • tryton -通用业务框架.

Natural Language Processing

使用人类语言的图书馆.

  • 一般
    • gensim -人类主题建模.
    • langid.py -独立的语言识别系统.
    • nltk -用于构建Python程序以使用人类语言数据的领先平台.
    • pattern -网络挖掘模块.
    • polyglot -支持数百种语言的自然语言管道.
    • pytext -基于PyTorch的自然语言建模框架.
    • PyTorch-NLP -一个工具包,可用于研究的快速深度学习NLP原型.
    • spacy -使用Python和Cython进行工业强度自然语言处理的库.
    • Stanza -Stanford NLP Group的官方Python库,支持60多种语言. -中文
    • jieba -最受欢迎的中文文本分割库.
    • pkuseg-python -用于各个领域的中文分词的工具包.
    • snownlp - A library for processing Chinese text.
    • funNLP -中文NLP的工具和数据集的集合.

Network Virtualization

用于虚拟网络和SDN(软件定义网络)的工具和库.

  • mininet -用Python编写的流行网络模拟器和API.
  • napalm -跨供应商API,用于操纵网络设备.
  • pox -基于Python的SDN控制应用程序,例如OpenFlow SDN控制器.

News Feed

用于建立用户活动的库.

ORM

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

*关系数据库 * Django Models -Django ORM. * SQLAlchemy -Python SQL工具包和对象关系映射器. * awesome-sqlalchemy * dataset -将Python字典存储在数据库中-与SQLite,MySQL和PostgreSQL一起使用. * orator -Orator ORM提供了一个简单而美观的ActiveRecord实现. * orm -异步ORM. * peewee -一个小的,富有表现力的ORM. * pony -ORM提供面向生成器的SQL接口. * pydal -一个纯Python数据库抽象层. * NoSQL数据库 * hot-redis -Redis的丰富Python数据类型. * mongoengine -用于MongoDB的Python对象文档映射器. * PynamoDB -用于的Pythonic界面 Amazon DynamoDB. * redisco -用于Redis的简单模型和容器的Python库.

Package Management

*用于程序包和依赖项管理的库.

  • pip -Python的软件包安装程序.
    • PyPI
    • pip-tools -一组用于使固定的Python依赖关系保持最新的工具.
  • poetry -Python依赖关系管理和打包变得容易.
  • conda -跨平台,与Python无关的二进制软件包管理器.

Package Repositories

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

  • warehouse -下一代Python软件包存储库(PyPI).
  • bandersnatch -由Python包装规范(PyPA)提供的PyPI镜像工具.
  • devpi -PyPI服务器和包装/测试/发布工具.
  • localshop -本地PyPI服务器(自定义程序包和pypi的自动镜像).

Permissions

允许或拒绝用户访问数据或功能的图书馆.

  • django-guardian -为Django 1.2+实现每个对象的权限
  • django-rules -一个小巧但功能强大的应用程序,无需数据库即可提供对Django的对象级权限.

Processes

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

Recommender Systems

用于构建推荐系统的库.

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

Refactoring

适用于Python的重构工具和库

RESTful API

*用于构建RESTful API的库.

  • Django
  • 烧瓶
    • eve -由Flask,MongoDB和良好意图支持的REST API框架.
    • flask-api -Flask的可浏览Web API.
    • flask-restful -快速构建Flask的REST API. *金字塔
    • cornice -金字塔的RESTful框架. *与框架无关
    • apistar -为Python 3设计的智能Web API框架.
    • falcon -用于构建云API和Web应用程序后端的高性能框架.
    • fastapi -一种现代,快速的Web框架,用于基于标准Python类型提示使用Python 3.6+构建API.
    • hug -一个用于彻底公开API的Python 3框架.
    • sandman2 -用于现有数据库驱动系统的自动化REST API.
    • sanic -Python 3.6以上版本的Web服务器和Web框架,可以快速运行.
    • vibora -受Flask启发的快速,高效和异步的Web框架.

Robotics

机器人库

  • PythonRobotics -这是具有可视化效果的各种机器人算法的汇编.
  • rospy -这是ROS(机器人操作系统)的库.

RPC Servers

与RPC兼容的服务器.

  • zeroRPC -zerorpc是基于以下内容的灵活RPC实现: ZeroMQMessagePack.
  • RPyC (远程Python调用)-用于Python的透明且对称的RPC库

Science

科学计算图书馆. 另见 Python-for-Scientists.

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

用于对数据建立索引并执行搜索查询的库和软件.

Serialization

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

Serverless Frameworks

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

  • python-lambda -用于在AWS Lambda中开发和部署Python代码的工具包.
  • Zappa -用于在AWS Lambda和API网关上部署WSGI应用程序的工具.

Specific Formats Processing

*用于解析和处理特定文本格式的库.

  • 一般
    • tablib -XLS,CSV,JSON,YAML中的表格数据集模块. *办公室
    • openpyxl -用于读取和写入Excel 2010 xlsx / xlsm / xltx / xltm文件的库.
    • pyexcel -提供一个用于读取,操作和写入csv,ods,xls,xlsx和xlsm文件的API.
    • python-docx -读取,查询和修改Microsoft Word 2007/2008 docx文件.
    • python-pptx -用于创建和更新PowerPoint(.pptx)文件的Python库.
    • 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 -可以轻松解压缩档案的命令行工具.

Static Site Generator

*静态网站生成器是一款将一些文本和模板作为输入并在输出中生成HTML文件的软件.

  • mkdocs -Markdown友好的文档生成器.
  • pelican -支持Markdown和reST语法的静态站点生成器.
  • lektor -易于使用的静态CMS和博客引擎.
  • nikola -静态网站和博客生成器.

Tagging

用于标记项目的库.

Task Queues

*用于处理任务队列的库.

  • celery -基于分布式消息传递的异步任务队列/作业队列.
  • huey -很少的多线程任务队列.
  • mrq -使用Redis和gevent的Python中的分布式工作者任务队列.
  • rq -适用于Python的简单作业队列.

Template Engine

*用于模板化和词法化的库和工具.

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

Testing

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

测试框架 * pytest -成熟的功能齐全的Python测试工具. * hypothesis -假设是一个基于Quickcheck样式属性的高级测试库. * nose2 -基于“ unittest2”的“鼻子”的后继者. * Robot Framework -通用的测试自动化框架. * unittest -(Python标准库)单元测试框架. 测试选手 * green -干净,多彩的测试运行器. * mamba -Python的权威测试工具. 生于BDD的旗帜下. * tox -自动构建和测试多个Python版本的发行版 * GUI / Web测试 * locust -用Python编写的可扩展用户负载测试工具. * PyAutoGUI -PyAutoGUI是适用于人类的跨平台GUI自动化Python模块. * Selenium -的Python绑定 Selenium WebDriver. * sixpack -与语言无关的A / B测试框架. * splinter -用于测试Web应用程序的开源工具. 模拟 * mock -(Python标准库)一个模拟和补丁库. * doublex -强大的Python测试框架加倍. * freezegun -通过模拟datetime模块穿越时间. * httmock -用于Python 2.6+和3.2+的请求的模拟库. * httpretty -适用于Python的HTTP请求模拟工具. * mocket -具有gevent / asyncio / SSL支持的套接字模拟框架. * responses -用于模拟请求Python库的实用程序库. * VCR.py -在测试中记录并重播HTTP交互. 对象工厂 * factory_boy -Python的测试装置替代品. * mixer -更换其他灯具. 支持的Django,Flask,SQLAlchemy,Peewee等 * model_mommy -创建用于在Django中测试的随机装置. * Code Coverage * coverage -代码覆盖率测量. *假数据 * mimesis -是一个Python库,可帮助您生成虚假数据. * fake2db -伪数据库生成器. * faker -生成伪造数据的Python包. * radar -生成随机的日期时间/时间.

Text Processing

用于解析和处理纯文本的库.

  • 一般
    • chardet -兼容Python ⅔的字符编码检测器.
    • difflib -(Python标准库)用于计算增量的帮助程序.
    • ftfy -使Unicode文本更容易打乱,并更加一致.
    • fuzzywuzzy -模糊字符串匹配.
    • Levenshtein -快速计算Levenshtein距离和字符串相似度.
    • pangu.py -偏执的文字间距.
    • pyfiglet -用Python编写的figlet的实现.
    • pypinyin - Convert Chinese hanzi (汉字) to pinyin (拼音).
    • textdistance -使用30多种算法计算序列之间的距离.
    • unidecode - ASCII transliterations of Unicode text.
  • Sl

Third-party APIs

用于访问第三方服务API的库. 另见 List of Python API Wrappers and Libraries.

URL Manipulation

*用于解析URL的库.

  • furl -一个小的Python库,可轻松解析和处理URL.
  • purl -简单,不可变的URL类,带有用于查询和操作的干净API.
  • pyshorteners -纯Python URL缩短库.
  • webargs -友好的库,用于解析HTTP请求参数,并内置对流行的Web框架的支持.

Video

用于处理视频和GIF的库.

  • vidgear -最强大的多线程视频处理框架.
  • moviepy -用于基于脚本的电影编辑的模块,具有多种格式,包括动画GIF.
  • scikit-video -SciPy的视频处理例程.

Web Asset Management

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

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

  • html2text -将HTML转换为Markdown格式的文本.

  • python-readability -arc90的可读性工具的快速Python端口.
  • requests-html -人类的Pythonic HTML解析.
  • sumy -用于自动汇总文本文档和HTML页面的模块.
  • textract -从任何文档,Word,PowerPoint,PDF等中提取文本.
  • toapi -每个网站都提供API.

Web Crawling

*图书馆自动刮网.

  • cola -分布式爬网框架.
  • feedparser -通用Feed解析器.
  • grab -网站抓取框架.
  • MechanicalSoup -用于自动与网站进行交互的Python库.
  • pyspider -强大的蜘蛛系统.
  • robobrowser -一个简单的Pythonic库,无需独立的Web浏览器即可浏览Web.
  • scrapy -快速的高级屏幕抓取和网络爬网框架.
  • portia -视觉刮刮.

Web Frameworks

传统的全栈Web框架. 另见 RESTful API.

同步 * Django -Python中最流行的Web框架. * awesome-django * awesome-django * Flask -Python的微框架. * awesome-flask * Pyramid -一个小型,快速,扎实的开源Python Web框架. * awesome-pyramid * Masonite -以开发人员为中心的现代Python Web框架. 异步 * Tornado -Web框架和异步网络库.

WebSocket

*用于WebSocket的库.

  • autobahn-python -适用于Twisted和Python的WebSocket和WAMP asyncio.
  • channels -适用于Django的开发人员友好型异步.
  • websockets -一个用于构建WebSocket服务器和客户端的库,重点是正确性和简单性.

WSGI Servers

*与WSGI兼容的Web服务器.

  • bjoern -异步,非常快,用C编写.
  • gunicorn -预分支,部分用C编写.
  • uWSGI -一个项目旨在开发使用C编写的用于构建托管服务的完整堆栈.
  • waitress -多线程,为金字塔供电.
  • werkzeug -适用于Python的WSGI实用程序库,可为Flask提供支持,并可轻松将其嵌入到您自己的项目中.

Resources

在哪里发现学习资源或新的Python库.

Books

Websites

教程 * Full Stack Python * Python Cheatsheet * Real Python * The Hitchhiker’s Guide to Python 图书馆 * Awesome Python @LibHunt * 其他 * Python ZEEF * Pythonic News

Newsletters

Podcasts

Contributing

永远欢迎您的贡献! 请看看 contribution guidelines 第一.

如果不确定这些库是否很棒,我将打开一些拉取请求,您可以 vote for them 通过添加:+1:给他们. 当请求的投票达到 20 时,合并请求将被合并.


如果您对此清单有任何疑问,请随时与我联系 @VintaChen 在Twitter上或在GitHub上发布问题.