[编程开发] Python有哪些经典的常用库?

[复制链接]
dxking 发表于 2023-10-4 18:02:12|来自:北京 | 显示全部楼层 |阅读模式
Python有哪些经典的常用库?
全部回复5 显示全部楼层
dingke5488 发表于 2023-10-4 18:02:17|来自:北京 | 显示全部楼层
来源于 https://github.com/china-testing/python_cn_resouce  python优秀常用库收集,谢谢点赞


  • Table of Contents
  • Python测试开发库

    • 参考资料

  • 测试开发

    • Web UI测试自动化
    • 移动测试自动化
    • Windows UI测试自动化
    • UI测试
    • 性能测试
    • 渗透测试
    • 跨语言调用
    • 测试框架
    • Mock
    • 其他测试工具
    • 持续交付
    • 测试工具对接



  • awesome-python

    • 管理面板(Admin Panels)
    • 算法和设计模式(Algorithms and Design Patterns)
    • 反病毒(Anti-spam)
    • 资产管理(Asset Management)
    • 音频(Audio)
    • 认证(Authentication)
    • 内置类增强(Built-in Classes Enhancement)
    • 区块链(Blockchain)
    • CMS(Content Management Systems)
    • 缓存(Caching)
    • 自动聊天工具(ChatOps Tools)
    • 代码分析和lint(Code Analysis)
    • 命令行工具(Command-line Tools)

      • 命令行程序开发( Command-line Application Development)
      • 生产力工具(Productivity Tools)



    • 兼容性(Compatibility)
    • 计算机视觉(Computer Vision)
    • 并发和并行及异步与网络(Concurrency and Parallelism)
    • 配置(Configuration)
    • 加密(Cryptography)
    • 数据分析(Data Analysis)
    • 数据验证(Data Validation)
    • 数据可视化(Data Visualization)
    • 数据库(Database)
    • 数据库驱动(Database Drivers)
    • 日期和时间(Date and Time)
    • 调试工具(Debugging Tools)
    • 深度学习(Deep Learning)
    • DevOps工具(DevOps Tools)
    • 分发(Distribution)
    • 文档(Documentation)
    • 下载器(Downloader)
    • 电子商务(E-commerce)
    • 编辑器插件(Editor Plugins and IDEs)
    • 电子邮件(Email)
    • 环境管理(Environment Management)
    • 文件(Files)
    • 外部函数接口(Foreign Function Interface)
    • 表单(Forms)
    • 函数式编程(Functional Programming)
    • 图形用户界面(GUI)
    • Game Development
    • 游戏开发(Game Development)
    • 地理位置(Geolocation)
    • HTML操作(HTML Manipulation)
    • HTTP
    • 硬件(Hardware)
    • 图像处理(Image Processing)
    • 实现(Implementations)
    • 交互式Python解释器(Interactive Interpreter)
    • 国际化
    • 作业调度(Job Scheduler)
    • 日志(Logging)
    • 机器学习
    • MapReduce
    • 微软Windows
    • 杂项
    • 自然语言处理(Natural Language Processing)
    • 网络虚拟化(Network Virtualization)
    • 网络(Networking)

      • 动态消息





    • ORM

      • 关系型数据库
      • NoSQL 数据库
      • 其他



    • 包管理(Package Management)
    • 包仓库
    • 重构(Refactoring)
    • RESTful API
    • RPC服务器(RPC Servers)
    • 科学(Science)
    • 搜索
    • 序列化(Serialization)
    • 无服务器框架(Serverless Frameworks
    • 特殊文本格式处理(Specific Formats Processing)

      • 通用
      • Office
      • PDF
      • Markdown
      • YAML
      • CSV





    • 静态网站生成器(Static Site Generator)
    • 标签(Tagging)
    • 模板引擎(Template Engine)
    • 文本处理(Text Processing)

      • 通用
      • Slugify
      • 解析器



    • 第三方 API(Third-party APIs)
    • URL处理(URL Manipulation)
    • Video
    • WSGI 服务器(WSGI Servers)
    • 网页内容提取(Web Content Extracting)
    • 网络爬虫(Web Crawling)
    • Web 框架(Web Frameworks)
    • WebSocket
    • 监控



  • Services

    • Continuous Integration
    • Code Quality

  • Resources

    • Podcasts
    • Twitter
    • Websites
    • Weekly

      • 持续更新





    • Websites
    • Weekly

Python测试开发库

参考资料

https://github.com/vinta/awesome-python
https://github.com/atinfo/awesome-test-automation
https://westurner.github.io/wiki/awesome-python-testing
测试开发

Web UI测试自动化


  • PyAutoGUI - 跨平台GUI自动化Python模块。
  • Schemathesis - 用Open API / Swagger规范构建的Web应用程序进行基于属性的自动测试的工具。
  • splinter - web UI测试工具,基于selnium封装。 链接
  • selenium - web UI自动化测试。 链接 --推荐 文档参考
  • mechanize- Python中有状态的程序化Web浏览。链接
  • pyppeteer- chrome/chromium自动化。链接
  • selene - 使用Python + Ajax支持+ PageObjects + Widgets进行简明UI测试 链接
  • hitch - 基于服务的应用程序的高级集成测试框架。链接
  • Needle  - Css 自动化测试框架。链接
  • seleniumbase - 端到端自动化测试框架。链接
  • pytest_splinter - pytest spinter和selenium集成。 链接
  • Browsermob Proxy - Browsermob Proxy的python包装器。 链接
  • Selenium-Requests - 扩展Selenium WebDriver类以包含请求库中的请求函数,同时完成所有需要的cookie和请求头处理。链接
移动测试自动化


  • appium - 移动端UI自动化测试。 链接 --推荐
  • uiautomator- 安卓UI自动化测试。 链接
  • ATX - 智能手机自动化工具。支持iOS,Android,WebApp和游戏。 网易出品 链接 --推荐
  • uiautomator2- Android Uiautomator2 Python Wrapper。 链接 --推荐
  • facebook-wda Facebook WebDriverAgent Python Client Library (not official) 可用于IOS应用测试。 链接 --推荐
Windows UI测试自动化


  • Winium.Desktop - 开源测试自动化工具,用于基于WinForms和WPF平台自动测试Windows应用程序,基于Selenium远程WebDriver实现。 链接
  • pyautogui- 跨平台的UI自动化工具,控制鼠标和键盘。 链接
  • autopy - 简单的跨平台GUI自动化工具包,适用于Python。 链接
  • pywinauto - Windows UI自动化。 链接
  • SikuliX - sikuli的稳定长期更新版本。链接
  • Python-UIAutomation-for-Windows - uiautomation封装了微软UIAutomation API,支持自动化Win32,MFC,WPF,Modern UI(Metro UI), Qt, IE, Firefox等。链接  国产
UI测试


  • pyautoacad - AutoCAD自动化。 链接
  • sikuli - 位图自动化。 链接
  • monkeyrunner- 安卓自动化。 链接
  • ldtp - Linux UI自动化。 链接
  • dogtail- Linux UI自动化。 链接
  • pyautoit- autoit python api。 链接
  • 雪峰磁针石说明:
autopy、WATSUP、winGuiAuto因为较长时间未更新未收录
性能测试

软件测试专家工具包2性能测试 https://china-testing.github.io/testing_tools_perf.html

  • funkload - 性能及功能测试工具。 链接 --推荐
  • Locust.io – 了解服务器端性能的好工具。 语言python3。源码 python3+ python2.7+ github上star和fork最多的性能测试工具。 --强烈推荐
  • Bees with Machine Guns – 进行负载测试的蜜蜂(微型EC2实例)。  语言python3+ python2.6+ --强烈推荐
  • Multi-Mechanize –   用于性能和负载测试的开源框架,它运行并发Python脚本以生成针对远程站点或服务的负载(复合事务)。它通常用于Web性能和扩展性测试,但您也可以使用Multi-Mechanize来测试任何远程API。  --基于python多进程和多线程实现,学习自行开发性能测试的佳品。 Python 2.6 or 2.7  较长时间没有更新,一般只建议改造使用。
  • ngrinder - 市面上最强大的性能测试工具之一,主要用jython书写脚本,性能在loadrunner和jmeter之上,扩展性好。 链接 --强烈推荐
  • boom - 类似ab(ApacheBench)的性能测试工具。 链接
渗透测试


  • fsociety - 一个渗透测试框架。
  • setoolkit - 用于社会工程的工具箱。
  • sqlmap - 自动SQL注入和数据库接管的工具。
跨语言调用


  • python库介绍-jpype:python到java桥
  • python库介绍-pyjnius:访问java类
  • python3外部库boost介绍 用c++为python编写扩展
  • PyExecJS 执行JavaScript代码。
  • C++11和Python桥
测试框架


  • pyresttest 接口测试框架 -- 推荐
  • HttpRunner HTTP接口测试框架 -- 推荐
  • augmented-traffic-control facebook开发的最强悍弱网网络模拟工具 --强烈推荐
  • Hypothesis - 高级单元测试测试框架,支持行为驱动,基于property 。 链接 -- 推荐
  • unittest - (Python 标准库) 单元测试框架 链接 -- 推荐
  • mamba  - 行为驱动测试框架。 链接
  • nose- 更好的单元测试框架。 链接 -- 推荐
  • nose2- nose基于unittest2的版本。 链接
  • pytest- 很好的强大的单元测试框架,实际上广泛使用在自动化单元、接口、功能等测试。 链接 -- 强烈推荐  参考
  • testify - 单元测试框架,提供增强的测试fixture设置,将测试套件拆分成易于并行化的存储bucket,PEP8命名约定,带有大量日志/报告选项及颜色测试运行器。链接
  • trial - Twisted的单元测试框架,基于unittest。链接
  • Robot Framework-  通用的python测试框架,易于上手,生成的报告比较好看,适合小型公司使用,支持关键字和数据等驱动,系业界内很出名的框架。不过因为写用例不能很灵活的应用python,需要大量的python封装,大公司通常使用pytest,django,flask之类的库自行开发。  链接
  • macaca - Macaca 是一套面向用户端软件的测试解决方案,提供了自动化驱动,环境配套,周边工具,集成方案,旨在解决终端上的测试、自动化、性能等方面的问题。 链接
  • green- 彩色(命令行能显示多种颜色)的单元测试框架。 链接
  • tox- 基于virtualenv的测试框架,主要用于解决多版本python问题。 链接
  • sixpack- A/B 测试框架。 链接
  • lettuce- 行为驱动 测试框架。 链接
  • pyccuracy- 行为驱动 web验收测试框架。 链接
  • pytest-bdd- 基于pytest的行为驱动 测试框架。 链接
  • pytest-html- pytest生成html插件。 链接
  • ddt- 数据驱动测试。 链接
  • behave- 行为驱动测试。 链接
  • lettuce- 行为驱动测试。 链接
  • mamba - Python的测试定义工具,基于行为驱动。链接
  • pyvows - Python的异步行为驱动开发,Vows.js的python移植。链接
  • pyhamcrest - Python的Hamcrest匹配器。 链接
  • sure - 强大而灵活的断言python测试库。链接
  • factory_boy - 基于thinkbot的factory_girl的fixture替代。链接
Mock


  • doublex:强大的测试桩框架。链接
  • mock:(Python3 标准库) mock和patch。链接
  • freezegun:伪造时间。[链接]https://github.com/spulec/freezegun)
  • httmock:Python 2.7+ 和 3.4+ mock requests库。链接
  • httpretty:Python 的 HTTP 请求 客户端mock 工具,暂时不支持python3。链接
  • responses:针对requests 库的mock库。链接
  • VCR.py:录制HTTP请求加快测试执行速度并可进行mock。链接 -- 推荐
  • factoryboy:Python测试fixtures(setup和teardown)替代库。链接
  • mixer:另外一个测试fixtures(setup和teardown)替代库,支持 Django, Flask, SQLAlchemy, Peewee 等。链接
  • modelmommy:为 Django测试创建随机fixtures 链接
  • faker:生成多种伪数据。链接
  • fake2db:伪造数据库生成器。链接
  • mimesis:生成mock数据。[链接]https://github.com/lk-geimfari/mimesis)
  • 雪峰磁针石说明:
radar 因为github星级太少而未收录 最近版本参见原文:https://github.com/china-testing/python-api-tesing
其他测试工具


  • coverage:代码覆盖率。链接
  • FuckIt.py:代码出错也可以执行。链接
  • RoboBrowser:一个简单的,Python 风格的库,用来浏览网站,而不需要一个独立安装的浏览器。链接
  • MechanicalSoup:用于自动和网络站点交互的 Python 库。链接
  • augmented-traffic-control:网络模拟工具。链接 -- 强烈推荐
持续交付


  • buildbot - google等公司使用的持续集成框架,上手比Jenkins难,功能和性能远比Jenkins强大。 链接 python库介绍-buildbot教程
  • BitBake – 嵌入式Linux上类似make工具。链接
  • buildout – 用于从多个部分创建,组装和部署应用程序的构建系统。链接
  • PlatformIO – 在不同的开发平台的控制台构建工具。链接
  • PyBuilder – 纯Python编写的持续构建工具。链接
  • SCons – 软件构建工具。链接
  • jenkinsapi – Hudson & Jenkins python API。链接
测试工具对接


  • jira –自动化JIRA。链接
awesome-python

管理面板(Admin Panels)


  • Ajenti - Linux & BSD web管理面板。管理进程和文件等。 链接
  • django-suit - 现代主题的Django管理界面(仅限非商业用途)。链接
  • django-xadmin -  方便的Django admin替代。 完全支持插件扩展,基于 Twitter Bootstrap,并有站内书签、支持 xls, csv, xml和json数据导入等不少增强。 链接
  • jet-bridge - 管理面板框架,适用于任何具有良好用户界面的应用程序(例如Jet Django)
  • flask-admin - Flask的简单和可扩展的 web 管理界面框架。  链接
  • flower  - Celery的实时监控和网络。 链接
  • Grappelli - Django管理界面的爵士皮肤。[链接]https://github.com/sehmaschine/django-grappelli)
  • Wooey - 为Python脚本创建自动Web UI的Django应用程序。 链接
算法和设计模式(Algorithms and Design Patterns)

Python数据结构、算法和设计模式的实现。 参考awesome-algorithms.

  • 算法

    • algorithms - 数据结构和算法的最小例子。
    • python-ds - 用于编码面试的数据结构和算法的集合。
    • sortedcontainers - 快速和纯Python实现的排序集合。
    • TheAlgorithms - 用Python实现的所有算法。 --强烈推荐

  • 设计模式

    • PyPattyrn - 简单而有效的库,用于实现常见的设计模式。
    • python-patterns - Python中设计模式的集合。
    • transitions - 轻量级、面向对象的有限状态机实现。

反病毒(Anti-spam)


  • django-simple-captcha - 简单且高度可定制的Django应用,可以将验证码图像添加到任何Django表单。 链接
  • 雪峰磁针石说明:
django-simple-spam-blocker因为github星级太少而未收录  最近版本参见原文:https://github.com/china-testing/python-api-tesing
资产管理(Asset Management)

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

  • django-compressor - 将链接和内联的JavaScript或CSS压缩到单个缓存文件中。 链接
  • django-pipeline - Django的资产包装库。 链接
  • django-storages - Django自定义存储后端集。 链接
  • fanstatic - 用 Python 的包的方式封装,优化静态文件并解依赖。 链接
  • fileconveyor - 检测和同步文件到CDN,S3和FTP的后台程序。 链接
  • flask-assets - 集成web 资源到Flask应用。 链接
  • jinja-assets-compressor - Jinja扩展程序,用于编译和压缩资源。 链接  -- github星级不到100.
  • webassets - 为静态资源打包,优化和管理基于缓存的唯一URL。 链接
音频(Audio)

用于操作音频及其元数据的库

  • 音频

    • audioread - 跨库(GStreamer + Core Audio + MAD + FFmpeg)音频解码。
    • audioFlux - 一个用于音频和音乐分析、特征提取的库。
    • dejavu - 音频指纹和识别。 -- 推荐
    • kapre - Keras音频预处理。
    • librosa - 用于音频和音乐分析的 Python 库。
    • matchering - 一个用于自动参考音频母版的库。
    • mingus - 一个支持MIDI文件和播放的高级音乐理论和记谱包。
    • pyAudioAnalysis - 音频特征提取、分类、分割和应用。  -- 推荐
    • pydub - 用一个简单易行的高级界面操纵音频。 -- 推荐
    • TimeSide - 开放的网络音频处理框架。
    • m3u8 - 解析m3u8文件的模块。链接

  • 元数据

    • beets - 一个音乐库管理器和MusicBrainz标签器。 -- 推荐
    • eyeD3 - 一个用于处理音频文件的工具,特别是含有ID3元数据的MP3文件。
    • mutagen - 一个处理音频元数据的Python模块。
    • tinytag - 一个用于读取MP3、OGG、FLAC和Wave文件的音乐元数据的库。



  • 雪峰磁针石说明:
django-elastic-transcoder, eyeD3 因为github星级太少而未收录
scikits.talkbox 因长时间未更新未收录 最近版本参见原文:https://github.com/china-testing/python-api-tesing
认证(Authentication)


  • Authomatic:简单但是强大的框架,身份验证/授权客户端。链接
  • django-allauth:Django 的验证应用。链接
  • django-oauth-toolkit: Django OAuth2。链接
  • django-oauth2-provider:Django OAuth2。链接
  • Flask-OAuthlib: Flask OAuthlib 。链接
  • OAuthLib: 通用完整的实现OAuth请求-签名逻辑。链接
  • python-oauth2:创建 OAuth 客户端和服务端完全测试的抽象接口。链接
  • python-social-auth:设置简单的社交认证。链接
  • rauth:OAuth 1.0/a, 2.0, 和 Ofly。链接
  • sanction:一个超级简单的OAuth2 客户端实现。链接
  • PyJWT:JSON Web 令牌python实现。链接
  • python-jwt:生成和验证 JSON Web 令牌。链接
  • 雪峰磁针石说明:
jose,python-jws因为github星级太少而未收录
scikits.talkbox 因长时间未更新未收录
内置类增强(Built-in Classes Enhancement)


  • dataclasses - (Python standard library) Data classes.
  • attrs - 替换类定义中的__init__,eq,__repr__等样板文件。
  • bidict - 高效的双向字典。
  • Box - 点符号访问的Python字典
区块链(Blockchain)


  • blockchain - 简单的区块链。
  • bidict - 高效的双向字典。
  • Box - 点符号访问的Python字典
CMS(Content Management Systems)

内容管理系统

  • django-cms:开源的,基于Django的企业级 CMS。链接
  • djedi-cms:轻量级但却非常强大的 Django CMS ,考虑到了插件,内联编辑以及性能。[链接]http://djedi-cms.org/)
  • FeinCMS:基于 Django 构建的最先进的内容管理系统之一。链接
  • Kotti:高层的的web应用框架,基于 Pyramid 构建。链接
  • Mezzanine:强大的,一致的,灵活的内容管理平台。链接  -- 推荐
  • Opps:杂志,报纸网站以及大流量门户网站设计的 CMS 平台,基于 Django。[链接]https://github.com/opps/opps)
  • Plone:构建于开源应用服务器 Zope 之上的 CMS。链接
  • Quokka:灵活,可扩展的小型 CMS,基于 Flask 和 MongoDB。链接
  • Wagtail:Django 内容管理系统。链接 -- 推荐
  • Widgy: CMS 框架,基于 Django。链接
缓存(Caching)

缓存数据的库。

  • Beaker:缓存和会话库,可以用在 web 应用和独立 Python脚本和应用上。链接
  • DiskCache:Python磁盘缓存(Django兼容)。。链接
  • django-cache-machine:Django 模型的自动缓存和失效。链接
  • django-cacheops:具有自动颗粒化事件驱动失效功能的 ORM。链接
  • dogpile.cache:dogpile.cache 是 Beaker 的替代,由同一作者开发。链接
  • HermesCache:Python 缓存库,具有基于标签的失效和 dogpile effect 保护功能。链接
  • johnny-cache:django应用缓存框架。[链接]https://github.com/jmoiron/johnny-cache)
  • pylibmc:libmemcached 接口的 Python 封装。链接
  • 雪峰磁针石说明:
django-viewlet因为github星级太少而未收录
自动聊天工具(ChatOps Tools)


  • Errbot:最简单和最流行的聊天机器人用来实现自动聊天工具。链接
代码分析和lint(Code Analysis)


  • 代码分析

    • coala:语言独立和易于扩展的代码分析应用程序。coala
    • code2flow:把你的 Python 和 JavaScript 代码转换为流程图。暂时无法继续维护。链接
    • prospector - 分析Python代码并输出有关错误,潜在问题,违反常规和复杂性的信息的工具。prospector
    • pycallgraph:这个库可以把你的Python 应用的流程(调用图)进行可视化。链接
    • vulture - 死代码分析.
    • gprof2dot - 转换profiling为图形.
    • objgraph - python对象图.
    • mccabe - McCabe复杂度检查.

  • 代码Linters

    • Flake8:模块化源码检查工具: pycodestyle, pyflakes 以及 McCabe的封装。链接

      • awesome-flake8-extensions





    • pylama:python和JavaScript代码审计。链接
    • Pylint:完全可定制的源码分析器。链接
    • wemake-python-styleguide - 有史以来最严格和最有主见的Python linter.

  • 代码格式化

    • pep8 :python风格检查。链接 --推荐
    • autopep8:自动格式化 Python 代码,以使其符合 PEP8 规范。链接 --推荐
    • black - 不折不扣的Python代码格式化器。
    • isort - 对import进行排序的Python工具/库。
    • yapf - 来自Google的Python代码格式化器。



  • 静态类型检查 awesome-python-typing

    • mypy :静态类型检查。链接 --推荐
    • pyre-check - 执行类型检查
    • typeshed - 类型注释。

  • 静态类型注释生成器

    • MonkeyType - 通过收集运行时类型生成静态类型注释。
    • pytype - Pytype检查和推断Python代码的类型 - 不需要类型注释。

命令行工具(Command-line Tools)

命令行程序开发( Command-line Application Development)


  • alive-progress - 一种新的进度条,具有实时吞吐量、等值和非常酷的动画效果。
  • asciimatics:跨平台,全屏终端包(即鼠标/键盘输入和彩色,定位文本输出),完整的复杂动画和特殊效果的高级API。链接
  • cement:Python 的命令行程序框架。链接
  • click:一个通过组合的方式来创建精美命令行界面的包。链接 --推荐
  • cliff:一个用于创建命令行程序的框架,可以创建具有多层命令的命令行程序。链接
  • colorama:跨平台彩色终端文本。链接
  • tqdm - 用于循环和CLI的快速、可扩展的进度条。
  • docopt:Python 风格的命令行参数解析器。链接 --推荐
  • Gooey:一条命令,将命令行程序变成一个 GUI 程序。链接
  • Python-Fire:将命令行程序变成一个 GUI 程序。链接 --推荐
  • python-prompt-toolkit:构建强大的交互式命令行程序的库。链接 --推荐
  • Pythonpy:在命令行中直接执行任何Python指令。链接
生产力工具(Productivity Tools)


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

帮助从 Python 2 向 Python 3迁移的库。

  • Python-Future:这就是 Python 2 和 Python 3 之间丢失的那个兼容性层。链接
  • Python-Modernize:使 Python 代码更加现代化以便最终迁移到 Python 3。[链接]https://github.com/mitsuhiko/python-modernize)
  • Six:Python 2 和 3 的兼容性工具。链接
计算机视觉(Computer Vision)

计算机视觉库。

  • EasyOCR - 即用型OCR,支持40多种语言。
  • Face Recognition - 简单的面部识别库。
  • Kornia - Kornia是用于PyTorch的可微分计算机视觉库。
  • OpenCV:开源计算机视觉库。链接
  • pyocr:Tesseract 和 Cuneiform 的包装库。链接
  • pytesseract:Google Tesseract OCR 的另一包装库。链接 文档
  • SimpleCV:一个用来创建计算机视觉应用的开源框架。链接
  • tesserocr - 另一个简单的、对Pillow友好的、围绕OCR的tesseract-ocr API的包装器。
并发和并行及异步与网络(Concurrency and Parallelism)

用以进行并发和并行操作的库。

  • multiprocessing:(Python 标准库) 基于进程的“线程”接口。链接   --推荐
  • threading:(Python 标准库)更高层的线程接口。 链接 --推荐
  • eventlet:支持 WSGI 的异步框架。链接
  • gevent:一个基于协程的 Python 网络库,使用greenlet。链接 --推荐
  • Tomorrow:用于产生异步代码的神奇的装饰器语法实现。 链接
  • uvloop:在libuv之上超快速实现asyncio事件循环。链接 --推荐
  • asyncio - (Python 标准库) 异步 I/O, 事件循环, 协程以及任务 链接 --推荐
  • aiohttp 异步http client/server框架(asyncio) 链接 --推荐
  • curio 协程并发库. 链接
  • pulsar - 事件驱动的并发框架. 链接
  • pyzmq -  ZeroMQ 消息库的 Python 封装. 链接
  • Twisted - 事件驱动的网络引擎. 和asyncio有很多类似的地方,逐渐被代替,需要数据库等相关生态圈的支持 链接
  • diesel - 基于Greenlet 的事件 I/O 框架。. 链接
  • Tornado - web 框架和异步网络库. 链接
  • Trio – 异步I/O 链接 可能会飙升
  • NAPALM - 处理网络设备的跨供应API. 链接
  • txZMQ - 基于 Twisted 的 ZeroMQ 消息库的 Python 封装。链接
配置(Configuration)

用来保存和解析配置的库。

  • config:logging 模块作者写的分级配置模块。链接 -- 较长时间未更新
  • ConfigObj:INI 文件解析器,带验证功能。链接
  • ConfigParser:(Python 标准库) INI 文件解析器。链接
  • profig:通过值转换配置多种格式。链接
  • python-decouple:将设置和代码完全隔离。链接
加密(Cryptography)


  • cryptography:这个软件包意在提供密码学基本内容和方法提供给 Python 开发者。链接
  • Paramiko:SSHv2 协议的 Python (2.6+, 3.3+) ,提供客户端和服务端的功能。链接 -- 推荐
  • Passlib:安全密码存储/哈希库,链接
  • PyCrypto:Python 密码学工具箱。链接
  • PyNacl:网络和密码学(NaCl) 库的 Python 绑定。链接
数据分析(Data Analysis)


  • blaze:NumPy 和 Pandas 的大数据接口。链接
  • Open Mining:使用 Python 挖掘商业情报 (BI) (Pandas web 接口)。链接
  • orange:通过可视化编程或 Python 脚本进行数据挖掘,数据可视化,分析和机器学习。链接
  • Pandas:提供高性能,易用的数据结构和数据分析工具。链接 --强烈推荐
  • facets 机器学习数据集可视化 --推荐
  • 书籍:利用Python进行数据分析 2017 第二版 代码 链接  --推荐
  • 利用Python进行数据分析·第2版 --推荐
数据验证(Data Validation)

数据验证库。多用于表单验证。

  • Cerberus: 轻量级可扩展的数据验证库.链接
  • colander:验证并反序列化XML、JSON、HTML表单获取的数据。链接
  • jsonschema:json模式的实现。链接
  • kmatch:一种用于匹配/验证/筛选 Python 字典的语言。链接
  • schema:一个用于对 Python 数据结构进行验证的库。链接
  • Schematics:人性化的python数据结构。链接
  • valideer:轻量级可扩展的数据验证和适配库。链接
  • voluptuous:Python 数据验证库。主要是为了验证传入 Python的 JSON,YAML 等数据。链接
数据可视化(Data Visualization)

进行数据可视化的库。 参见: awesome-javascript。

  • matplotlib:Python 2D 绘图库。链接 --推荐
  • bokeh:用Python进行交互式web绘图。链接 --推荐 英文快速入门 中文快速入门
  • plotnine - ggplot的 Python移植  -荐
  • Dash  - 基于Flask,React和Plotly, 针对分析Web应用程序。
    awesome-dash
  • plotly:交互式基于浏览器的绘图。链接
  • streamlit:构建和共享数据应用程序。链接 -强烈推荐
  • pyecharts:基于百度 Echarts 的数据可视化库。链接 -荐
  • pygal:Python SVG 图表创建工具。链接
  • pygraphviz:Graphviz 的 Python 接口。链接
  • PyQtGraph:交互式实时 2D/3D/ 图像绘制及科学/工程学组件。链接
  • SnakeViz:基于浏览器的 Python cProfile 模块输出结果查看工具。链接
  • vincent:把 Python 转换为 Vega 语法的转换工具。链接
  • VisPy:基于 OpenGL 的高性能科学可视化工具。链接
  • Altair - 用于Python的声明式统计可视化库。链接
  • bqplot - Jupyter Notebook的互动绘图库。链接
  • Cartopy - 支持matplotlib的地图学python库。
  • Seaborn - 使用Matplotlib进行统计数据可视化。链接 -荐
  • plotly.py 交互式基于浏览器的绘图 -荐
  • prettytable 易读的ASCII表格格式显示表格数据
A Dramatic Tour through Python’s Data Visualization Landscape (including ggplot and Altair)
Python data visualization: Comparing 7 tools
10 Useful Python Data Visualization Libraries for Any Discipline
Overview of Python Visualization Tools
Effectively Using Matplotlib
pyecharts + notebook
Bokeh vs Dash
01+ Resources to Learn Data Science chinese
数据库(Database)

Python实现的数据库。

  • pickleDB:简单,轻量级键值储存数据库。链接
  • PipelineDB:流式 SQL 数据库。链接
  • TinyDB:轻型的,面向文档型数据库。链接
  • ZODB: Python 原生对象数据库。键值和对象图数据库。链接
数据库驱动(Database Drivers)

连接和操作数据库的库。

  • mysql-python:Python 的 MySQL 数据库连接器。链接 不支持python3,不推荐
  • PyMySQL:纯 Python MySQL 驱动,兼容 mysql-python。链接 --推荐
  • mysql-connector-python:mysql官方python API。链接 --推荐
  • psycopg :Python 中最流行的 PostgreSQL 适配器。链接  --推荐
  • queries:psycopg2 库的封装,用来和 PostgreSQL 进行交互。链接
  • txpostgres:基于 Twisted 的异步 PostgreSQL 驱动。链接
  • apsw:另一个 Python SQLite 封装。链接
  • dataset:在数据库中存储 Python 字典 pymssql:简单的 Microsoft SQL Server 数据库接口。链接
  • sqlite3 - (Python标准库)SQlite接口与DB-API 2.0兼容。
  • SuperSQLite - 一个建立在apsw之上的超强SQLite库。
  • cassandra-python-driver:Cassandra 的 Python 驱动。链接
  • HappyBase:Apache HBase。链接
  • Plyvel:快速且功能丰富的 LevelDB 的 Python 接口。链接
  • pycassa:Cassandra 的 Python Thrift 驱动。链接
  • PyMongo:MongoDB 的官方 Python 客户端。链接 -- 推荐
  • redis-py:Redis 的 Python 客户端。链接 -- 推荐
  • txRedis:基于 Twisted 的 Redis 客户端。链接
  • pymemcache:纯Python memcached 客户端。链接
日期和时间(Date and Time)

操作日期和时间的类库。

  • arrow:更好的 Python 日期时间操作类库。链接  -- 推荐
  • Chronyk:Python 3 的类库,用于解析手写格式的时间和日期。链接
  • dateutil:Python datetime 模块的扩展。链接
  • delorean:解决 Python 中有关日期处理的棘手问题的库。链接
  • moment:用来处理时间和日期的 Python 库。灵感来自于 Moment.js。链接
  • pendulum:更处理datetime。链接
  • PyTime:简单易用的 Python 模块,用于通过字符串来操作日期/时间。链接
  • pytz:现代以及历史版本的世界时区定义。将时区数据库引入 Python。链接 --推荐
  • when.py:提供用户友好的函数来帮助用户进行常用的日期和时间操作。链接
  • maya:人性化的datetime。
调试工具(Debugging Tools)

代码调试的库。

  • PySnooper: 让你做print的事情,但不需要麻烦地添加很多语句,你只需要添加装饰器就可以得到运行日志,包括线运行,及对应变量的值。链接 介绍
  • ipdb:IPython的 pdb。链接
  • pudb:pdb的替代。链接 -- 推荐
  • pudb:全屏,基于控制台的 Python 调试器。链接
  • pyringe:可以在 Python 进程中附加和注入代码的调试器。链接
  • wdb:一个奇异的 web 调试器,通过 WebSockets 工作。链接
  • winpdb:一个具有图形用户界面的 Python 调试器,可以进行远程调试,基于 rpdb2。链接
  • django-debug-toolbar:为 Django 显示各种调试信息。链接
  • django-devserver:一个 Django 运行服务器的替代品。链接
  • flask-debugtoolbar:django-debug-toolbar 的 flask 版。链接
  • 性能分析器

    • pympler:运行时内存分析工具。链接
    • lineprofiler:逐行性能分析。链接
    • Memory Profiler:监控 Python 代码的内存使用。官网、内存 链接
    • py-spy - Python程序的采样分析器. Rust编写.
    • pyflame - Python的跟踪分析器
    • vprof - 可视化Python分析器.

  • 其他 pyelftools:解析和分析 ELF 文件以及 DWARF 调试信息。链接
  • python-statsd:statsd 服务器的 Python 客户端。链接
深度学习(Deep Learning)

机器学习库。 参见:awesome-deep-learning.*
2018最佳机器学习工具书及下载(持续更新)

  • Caffe - 快速开放的深度学习框架 --推荐
  • Keras - 高级神经网络库,能够在TensorFlow或Theano之上运行。 --推荐
  • MXNet - 高效率和灵活的深度学习框架。
  • Neupy - 运行和测试不同的人工神经网络算法.
  • Pytorch - Python中的张量和动态神经网络,具有强大的GPU加速功能。 --推荐
  • lightning - 用于快速训练、部署和发布人工智能产品的深度学习框架,基于Pytorch。 --推荐
  • fastai - 基于Pytorch的深度学习库。 --推荐
  • Serpent.AI - 游戏代理框架。 使用任何视频游戏作为深度学习沙盒。 --推荐
  • TensorFlow - 由Google创建的最受欢迎的深度学习框架。 --强烈推荐
  • Theano - 用于快速数值计算的库.  --推荐
  • Shogun C++实现,为包括Python在内的多种语言和平台提供统一的接口。 它侧重于可扩展的内核方法,以解决回归和分类问题。 Shogun关注生物信息学,可以扩展以处理超过1000万个数据样本,同时保持准确性。
  • CNTK  微软的深度学习框架。
  • sqlflow SQLFlow是连接SQL引擎的桥梁,例如 MySQL,Hive,SparkSQL或SQL Server,带有TensorFlow和其他机器学习工具包。 SQLFlow扩展了SQL语言,以支持模型训练,预测和推理。 国内唯一的技术大公司 阿里巴巴出品!
  • tinyml 边缘机器学习。
DevOps工具(DevOps Tools)

用于DevOps的软件和库

  • 配置管理

    • ansible - 极其简单的IT自动化平台。 --推荐
    • cloudinit - 一个处理云实例的早期初始化的多分布包。
    • OpenStack - 用于构建私有云和公共云的开源软件。
    • pyinfra - 一个多功能的CLI工具和python库,用于自动化基础设施。
    • saltstack - 基基础设施自动化和管理系统。 --推荐
    • nova - OpenStack计算。 --推荐
    • swift - OpenStack存储。 --推荐

  • SSH-style Deployment

    • fabric - 简单的Pythonic远程执行和部署工具。 --推荐
    • fabtools - 用于编写出色的Fabric文件的工具。
    • cuisine - 为 Fabric 提供一系列高级函数。
    • pexpect - 在像GNU expect这样的伪终端中控制交互式程序。 --强烈推荐



  • 流程管理

    • honcho - Foreman的一个Python克隆,用于管理基于Procfile的应用程序。
    • supervisor - UNIX的Supervisor进程控制系统。

  • 监控

    • psutil - 平台的进行和系统实用程序模块。 --推荐
    • prometheus - 普罗米修斯监控平台python官方客户端。 --推荐



  • 备份

    • BorgBackup - 一个具有压缩和加密功能的重复编码存档器。

  • 其他

    • docker-compose - 使用Docker快速、隔离的开发环境。 --推荐
    • gitapi:Git 的纯 Python API。官网
    • hgapi:Mercurial 的纯 Python API。官网

分发(Distribution)

打包为可执行文件以便分发。

  • PyInstaller:将 Python 程序转换成独立的执行文件(跨平台)。链接 --推荐
  • dh-virtualenv:构建并将 virtualenv 虚拟环境作为Debian 包来发布。链接
  • Nuitka:将脚本、模块、包编译成可执行文件或扩展模块。链接
  • py2app:将 Python 脚本变为独立软件包(Mac OS X)。链接 --推荐
  • py2exe:将 Python 脚本变为独立软件包(Windows)。链接 --已经比较久没有更新了。
  • pynsist:用来创建 Windows 安装程序的工具,可以在安装程序中打包 Python本身。链接
文档(Documentation)

用以生成项目文档的库。

  • Sphinx:Python 文档生成器。链接
  • awesome-sphinxdoc:链接
  • pdoc:替换Epydoc 的库,可以自动生成 Python 库的 API 文档。链接
  • Pycco:文学编程风格的文档生成器。链接
  • readthedocs:一个基于 Sphinx/MkDocs 的在线文档托管系统,对开源项目免费开放使用。链接 -- 推荐
下载器(Downloader)

用来进行下载的库.

  • s3cmd:一个用来管理Amazon S3 和 CloudFront 的命令行工具。链接
  • s4cmd:超级 S3 命令行工具,性能更加强劲。链接
  • you-get:优酷、YouTube/Youku/Niconico 视频下载器,使用 Python3 编写。链接 --强烈推荐
  • youtube-dl:一个小巧的命令行程序,用来下载 YouTube 视频。链接
电子商务(E-commerce)

用于电子商务以及支付的框架和库。

  • django-oscar:基于Django 的开源的电子商务框架。链接 -- 推荐
  • django-shop: 基于 Django 的店铺系统。链接
  • Cartridge:一个基于 Mezzanine 构建的购物车应用。链接
  • shoop:基于 Django 的开源电子商务平台。链接
  • alipay:非官方的 Python 支付宝 API。链接
  • merchant:可以接收来自多种支付平台支付的 Django 应用。链接
  • money:Python钱类,带有可选的CLDR支持的区域识别格式和可扩展的货币兑换解决方案。链接
  • forex-python:外汇汇率,比特币价格指数和货币兑换。链接
  • saleor - Python和Django的电子商务店面。链接
  • 雪峰磁针石说明:
python-currencies因为星级较少没有收录
编辑器插件(Editor Plugins and IDEs)

编辑器和 IDE 的插件

  • Elpy:Emacs Python 开发环境。链接
  • SublimeJEDI:Sublime Text 插件,用来实现自动补全库 Jedi。链接
  • Anaconda:把你的 Sublime Text 3 变成功能齐全的 Python IDE。链接
  • YouCompleteMe:引入基于 Jedi 的 Python 自动补全引擎。链接
  • Jedi-vim:绑定 Vim 和 Jedi 自动补全库对 Python 进行自动补全。链接
  • Python-mode:Vim 变成 Python IDE 的多合一插件。链接
  • PTVS:Visual Studio 的 Python 工具链接
  • wingIDE:商业化的 Python IDE,功能强大,占用资源少,python开发。也有免费的社区版提供。[链接]https://wingware.com/) -- 推荐
  • PyCharm:商业化的 Python IDE ,由 JetBrains 开发。也有免费的社区版提供。链接
  • LiClipse:基于 Eclipse 的免费多语言 IDE 。使用 PyDev 来支持 Python 。链接
  • Spyder:开源 Python IDE。链接
  • komodo-ide 链接
电子邮件(Email)

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

  • mailer:用简单的方式发送邮件。链接 -- 推荐
  • envelopes:人性化的电子邮件库。链接
  • flanker:email 地址和 Mime 解析库。链接
  • imbox:人性化的Python IMAP 库链接
  • inbox:具有时尚API的IMAP/SMTP同步系统。链接 -- 推荐
  • lamson:Python 风格的 SMTP 应用服务器。链接
  • marrow.mailer:高性能可扩展邮件分发框架。链接
  • modoboa:一个邮件托管和管理平台,具有现代的、简约的 Web UI。链接
  • pyzmail:创建,发送和解析电子邮件。链接
  • Talon:Mailgun 库,用来抽取信息和签名。链接
  • yagmail- 另外一个 Gmail/SMTP客户端。链接
  • sync-engine - IMAP/SMTP同步。 链接 -- 推荐
环境管理(Environment Management)

Python版本和环境管理

  • Pipenv:Pipfile,Pip和Virtualenv的结合。链接 --强烈推荐
  • p:简单的python版本管理工具。链接
  • pyenv:简单的python版本管理。链接 --强烈推荐
  • venv:创建python虚拟环境,python3标准库。链接 --强烈推荐
  • virtualenv:创建独立的Python 环境。链接 --强烈推荐
  • virtualenvwrapper:virtualenv 的扩展。链接 --强烈推荐
  • poetry - 简化Python依赖性管理和打包  --强烈推荐
文件(Files)

文件管理和 MIME(多用途的网际邮件扩充协议)类型检测。

  • imghdr:(Python 标准库)检测图片类型。链接
  • mimetypes:(Python 标准库)将文件名映射为 MIME 类型。链接
  • path.py:对 os.path 进行封装的模块。链接
  • pathlib:(Python3.4+ 标准库)跨平台的、面向对象的路径操作库。链接 --强烈推荐
  • python-magic:文件类型检测的第三方库 libmagic 的 Python 接口。链接
  • Unipath:用面向对象的方式操作文件和目录。链接
  • watchdog:管理文件系统事件的 API 和 shell 工具。链接 --推荐
外部函数接口(Foreign Function Interface)


  • cffi:调用 C 代码。链接 --强烈推荐
  • ctypes:(Python 标准库) 调用 C 代码。链接 --强烈推荐
  • PyCUDA:Nvidia CUDA API 的封装。链接
  • SWIG:简单的包装器和接口生成器。链接
表单(Forms)


  • Deform:Python HTML 表单生成库,受到了 formish 表单生成库的启发。链接
  • django-bootstrap3:集成了 Bootstrap 3 的 Django。链接 --推荐
  • django-bootstrap4 - Django集成Bootstrap 4.
  • django-crispy-forms:非常优雅且 DRY(Don't repeat yourself) 的方式来创建美观的表单。链接 --推荐
  • django-remote-forms:平台独立的 Django 表单序列化工具。链接
  • WTForms:灵活的表单验证和渲染库。链接
函数式编程(Functional Programming)


  • CyToolz:Toolz 的 Cython 实现 : 高性能函数工具。链接
  • fn.py:在 Python 中进行函数式编程 : 实现了一些函数式编程缺失的功能。链接  -- 推荐
  • funcy:炫而实用的函数式工具。链接
  • Toolz:一组用于迭代器,函数和字典的函数式编程工具。链接
  • returns - 一组类型安全的单体、tranformers和组合工具
##动态消息
用来创建用户活动的库。

  • django-activity-stream:从你的站点行为中生成通用活动信息流。链接
  • Stream-Framework:使用 Cassandra 和 Redis 创建动态消息和通知系统。链接
图形用户界面(GUI)


  • curses:内置的ncurses 封装,用来创建终端图形用户界面。标准库。链接
  • Eel - 用于制作简单电子类离线HTML / JS GUI应用程序的小程序库。链接
  • enaml:使用类似 QML 的 Declaratic 语法来创建美观的用户界面。链接
  • kivy:创建NUI应用程序的库,可以运行在 Windows, Linux, Mac OS X, Android 以及 iOS 平台上。链接 -推荐
  • pyglet:Python 的跨平台窗口及多媒体库。链接
  • PyQt:跨平台用户界面框架 Qt 的 Python 绑定 ,支持 Qt v4 和 Qt v5。链接
  • PySide:跨平台用户界面框架 Qt 的 Python 绑定 ,支持 Qt v4。链接
  • Tkinter:Python GUI 标准库。链接
  • PySimpleGUI  - Wrapper for tkinter, Qt, WxPython and Remi that creates a unified,  easy to understand & more Python-like interface for beginner and  intermediate level custom GUIs.
  • Toga:Python 原生的, 操作系统原生的 GUI 工具包。链接
  • urwid:创建终端 GUI 应用的库,支持组件,事件和丰富的色彩等。链接
  • wxPython:wxPython 是 wxWidgets C++ 类库和 Python 语言混合的产物。链接
  • DearPyGui - 一个简单的GPU加速的Python GUI框架
  • PyGObject:GLib/GObject/GIO/GTK+ (GTK+3) 的 Python 绑定。链接
  • Flexx:纯 Python编写的用来创建 GUI 程序的工具集,它使用 web 技术进行界面的展示。链接
GraphQL

*用于处理GraphQL的库。

  • graphene - Python的GraphQL框架。
  • tartiflette-aiohttp - Tartiflette的一个基于aiohttp的包装器,通过HTTP暴露GraphQL APIs。
  • tartiflette-asgi - Tartiflette GraphQL引擎的ASGI支持。
  • tartiflette - 适用于Python 3.6+和asyncio的SDL-first GraphQL引擎实现。
游戏开发(Game Development)


  • Arcade - Arcade是一个现代Python框架,用于制作具有引人注目的图形和声音的游戏。
  • Cocos2d - cocos2d是用于构建2D游戏,演示和其他图形/交互式应用程序的框架。它基于pyglet。
  • Panda3D - 由迪士尼开发并由卡内基梅隆娱乐技术中心维护的3D游戏引擎。用C ++编写,完全用Python包装。 -推荐
  • Pygame - Pygame是一套用于编写游戏的Python模块。  -推荐
  • PyOgre - Ogre 3D渲染引擎的Python绑定,可用于游戏,模拟,任何3D。
  • PyOpenGL - 用于OpenGL的Python ctypes绑定及其相关的API。
  • PySDL2 - SDL2库的基于ctypes的包装器。
  • RenPy - Visual Novel引擎。
  • Harfang3D -  Python framework for 3D, VR and game development. Manage and display  complex 3D scenes, with physics, video, sound and music, access VR  devices. All written in C++.
地理位置(Geolocation)

地理编码地址和纬度和经度的图书馆。

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

用于处理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对象以便于访问。
  • WeasyPrint - 可导出为PDF的HTML和CSS可视化呈现引擎。
  • xmldataset - 简单的XML解析。
  • xhtml2pdf:HTML/CSS 转 PDF 工具。官网
  • xmltodict - 像处理 JSON 一样处理 XML。
HTTP

使用 HTTP 的库。

  • aiohttp:基于 asyncio 的异步 HTTP 网络库。官网
  • requests:人性化的 HTTP 请求库。官网 --强烈推荐
  • grequests:requests 库 + gevent ,用于异步 HTTP 请求.官网
  • httplib2:全面的 HTTP 客户端库。官网
  • treq:类似 requests 的 Python API 构建于 Twisted HTTP 客户端之上。官网
  • urllib3:一个具有线程安全连接池,支持文件 post,清晰友好的 HTTP 库。官网
硬件(Hardware)

用于硬件编程的库。

  • ino - 用于Arduino的命令行工具包。
  • keyboard - 钩和模拟Windows和Linux上的全球键盘事件。
  • 鼠标 - 在Windows和Linux上挂钩并模拟全局鼠标事件。
  • Pingo - Pingo提供统一的API来编程像Raspberry Pi,pcDuino,Intel Galileo等设备。
  • PyUserInput - 用于跨平台控制鼠标和键盘的模块。
  • scapy - 出色的数据包操作库。
  • thrift-tools thrift抓包工具。
  • mitmproxy:HTTP和抓包库。官网
  • Pyro:Python 机器人编程库。官网
  • PyUserInput:跨平台的,控制鼠标和键盘的模块。官网
图像处理(Image Processing)

用于处理图像的库。

  • pillow:Pillow 是一个更加易用版的 PIL。官网 -推荐 python库介绍-图像处理工具pillow中文文档-手册(2018 5.*)
  • hmap:图像直方图映射。官网
  • imgSeek:使用视觉相似性搜索一组图片集合的项目。官网 较长时间没有更新
  • nude.py:裸体检测。官网
  • python-barcode - 在Python中创建条形码,没有额外的依赖性。
  • pygram:类似 Instagram 的图像滤镜。官网
  • PyMatting - 用于alpha matting的库
  • python-qrcode:纯 Python 实现的二维码生成器。官网 --推荐
  • pywal - 从图像生成色彩方案的工具。
  • pyvips - 快速的图像处理库,内存需求低。
  • Quads:基于四叉树的计算机艺术。官网
  • scikit-image:一个用于(科学)图像处理的 Python 库。官网 --推荐
  • thumbor:小型图像服务,具有剪裁,尺寸重设和翻转功能。官网 --推荐
  • wand:MagickWand的 Python 绑定。MagickWand 是 ImageMagick 的 C API 。官网
  • face_recognition:简单易用的 python 人脸识别库。官网 --强烈推荐
  • pagan - 基于输入字符串和散列的复古identicon(阿凡达)生成。
  • opencv-python 预编译的opencv-python, opencv-python-headless, opencv-contrib-python and opencv-contrib-python-headless。 --推荐
  • imutils 一系列便利函数,可以使用OpenCV和Python轻松进行基本图像处理操作,如平移,旋转,调整大小,骨架化和显示Matplotlib图像。 --推荐
  • word_cloud 词云
实现(Implementations)


  • Python的实现。*
  • CLPython - 用Common Lisp编写的Python编程语言。
  • CPython - 用C编写的Python编程语言的默认,最广泛使用的实现。  --强烈推荐
  • Cython - 优化Python的静态编译器。使用类型mixin将Python编译为C或C ++模块,从而获得巨大的性能提升 --强烈推荐
  • Grumpy - 更多的编译器比解释器更强大的CPython2.7替换(alpha)。 --推荐
  • IronPython - 实现用C#编写的面向.NET Framework和Mono的Python编程语言。 --推荐
  • Jython - 为Java虚拟机(JVM)实现用Java编写的Python编程语言。 --推荐
  • MicroPython - MicroPython - 精简高效的Python编程语言实现,用于微控制器和受限制的系统 --推荐
  • Numba - 针对科学Python的LLVM的Python JIT编译器。 --推荐
  • PeachPy - 嵌入在Python中的x86-64汇编程序。可以用作Python的内联汇编程序,也可以用作Windows,Linux,OS X,Native Client和Go的独立汇编程序。 --推荐
  • Pyjion - 基于CoreCLR的Python JIT。
  • PyPy - 实现用RPython编写并编译为C的Python编程语言.PyPy关注速度,效率以及与原始CPython解释器的兼容性。解释器使用黑魔法使Python非常快速,而无需添加额外的类型信息。 --强烈推荐
  • PySec - python的强化版本,使安全专业人员和开发人员可以更轻松地编写应用程序,从而更有弹性地处理攻击和操作。
  • Pyston - 使用LLVM和现代JIT技术构建的Python实现,其目标是实现良好的性能。 --推荐
  • Stackless Python - Python编程语言的增强版本,它允许程序员在没有性能和复杂性的情况下获得基于线程编程的好处与传统线程相关的问题。 --推荐
交互式Python解释器(Interactive Interpreter)


  • bpython - 界面丰富的 Python 解析器。
  • IPython - 功能丰富的工具,非常有效的使用交互式Python。 --强烈推荐
  • Jupyter Notebook - 功能丰富的工具,非常有效的使用交互式Python。 --推荐
  • ptpython - 在[python-prompt-toolkit]之上构建的高级Python REPL(https://github.com/jonathanslenders/python-prompt-toolkit) 。 --推荐
国际化

与i18n合作的图书馆

  • Babel - Python国际化库。
  • PyICU - Unicode C ++库的国际组件封装(ICU)。
作业调度(Job Scheduler)

用于调度作业的库。

  • APScheduler - 轻量但功能强大的进程内任务调度程序,可让您安排功能。
  • django-schedule - Django的日历应用程序。
  • doit - 任务运行者和构建工具。
  • gunnery - 具有基于Web界面的分布式系统的多用途任务执行工具。
  • Joblib - 一组用Python提供轻量级流水线的工具。
  • plan - 用Python编写crontab文件就像一个魅力一样。
  • Prefect - 现代工作流协调框架,使其能够轻松构建、安排和监控强大的数据管道。
  • schedule - 人性化的 Python 任务调度库。 --推荐
  • Spiff - 以纯Python实现的强大的工作流引擎。
  • TaskFlow - 可以让你方便执行任务的 Python 库,一致并且可靠。
  • AirFlow:Airflow 是Airbnb公司开源的,是一个工作流分配管理系统,通过有向非循环图的方式管理任务流程,设置任务依赖关系和时间调度。官方
日志(Logging)

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

  • Eliot - 复杂和分布式系统日志。
  • logbook - Python logging的替代。
  • logging - (Python标准库)Python的日志工具。 --推荐
  • loguru - 旨在为Python带来愉快的日志记录的库。
  • sentry-python - Python的Sentry SDK。
  • structlog - 结构化的日志记录变得简单。
机器学习

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

  • gym - 一个开发和比较强化学习算法的工具包。
  • H2O - 开源快速可扩展机器学习平台。
  • Metrics - 机器学习评估指标。
  • NuPIC - 用于智能计算的Numenta平台。 --推荐
  • scikit-learn - 流行的机器学习Python库。 --推荐
  • Spark ML - Apache Spark的可扩展机器学习库。--推荐
  • vowpal_porpoise - 用于[Vowpal Wabbit]的轻量级Python包装器(https://github.com/JohnLangford/vowpal_wabbit/)。
  • xgboost - 可扩展,可移植且分布式的渐变增强库。 --推荐
  • MindsDB - MindsDB是现有数据库的一个开源人工智能层,允许你毫不费力地使用标准查询来开发、训练和部署最先进的机器学习模型。
MapReduce


  • MapReduce的框架和库。*
  • PySpark - Apache Spark Python API。
  • dpark:Spark 的 Python 克隆版,类似 MapReduce 的框架。官网
  • dumbo:这个 Python 模块可以让人轻松的编写和运行 Hadoop 程序。官网
  • luigi - 可帮助您构建批处理作业复杂管道的模块。
  • mrjob - 在Hadoop或Amazon Web Services上运行MapReduce作业。
  • streamparse - 针对实时数据流运行Python代码。与Apache Storm集成。
  • dask - 灵活的分析计算并行计算库。
  • Ray - A system for parallel and distributed Python that unifies the machine learning ecosystem.
  • faust - A stream processing library, porting the ideas from Kafka Streams to Python.
  • streamparse - Run Python code against real-time streams of data via Apache Storm.
微软Windows


  • Microsoft Windows上的Python编程。*
  • Python(x,y) - 基于Qt和Spyder的面向科学应用的Python发行版。 --推荐
  • pythonlibs - Python扩展包的非官方Windows二进制文件。 --推荐
  • PythonNet - .NET公共语言运行时(CLR)的Python集成。
  • PyWin32 - Python的Windows扩展。 --推荐
  • WinPython - Windows 7/8的便携式开发环境。 --推荐
杂项

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

  • blinker:快速的 Python 进程内信号/事件分发系统。官网
  • boltons - 一组纯Python的实用工具。
  • itsdangerous:一系列辅助工具用来将可信的数据传入不可信的环境。官网
  • magenta - 使用人工智能生成音乐和艺术的工具。
  • pluginbase:一个简单但是非常灵活的 Python 插件系统。官网
  • Tryton:通用商务框架。官网
自然语言处理(Natural Language Processing)


  • 汉字转拼音(pypinyin) 连接 - 推荐
  • NLTK:构建Python程序以处理人类语言数据的领先平台。连接 - 推荐
  • jieba:中文分词工具。官网 - 推荐
  • langid.py:独立的语言识别系统。官网
  • Pattern:Python 网络信息挖掘模块。官网 - 推荐
  • SnowNLP:用来处理中文文本的库。官网 - 推荐
  • TextBlob:为进行普通自然语言处理任务提供一致的 API。官网 - 推荐
  • TextGrocery:一简单高效的短文本分类工具,基于 LibLinear 和 Jieba。官网
  •   thulac:清华大学自然语言处理与社会人文计算实验室研制推出的一套中文词法分析工具包官网
  • gensim -人 性化的话题建模库。
  • spaCy - 用于Python和Cython的工业强度自然语言处理的库。 -推荐
  • PyTorch-NLP - A toolkit enabling rapid deep learning NLP prototyping for research.
  • StanfordNLP - The Stanford NLP Group's official Python library, supporting 50+ languages
网络虚拟化(Network Virtualization)

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

  • Mininet:流行的网络模拟器以及用 Python 编写的 API。官网 -推荐
  • POX:一个针对基于 Python 的软件定义网络应用(例如 OpenFlow SDN 控制器)的开源开发平台。官网
  • Pyretic:火热的 SDN 编程语言中的一员,为网络交换机和模拟器提供强大的抽象能力。官网
  •   SDX Platform:基于 SDN 的 IXP 实现,影响了 Mininet, POX 和 Pyretic。官网
  •   NRU:一个基于组件的软件定义网络框架。官网
网络(Networking)

用于网络编程的库。

  • uvicorn - Uvicorn是一个快如闪电的ASGI服务器实现,使用uvloop和httptools。
  • asyncio:(Python 标准库) 异步 I/O, 事件循环, 协程以及任务。官网 -推荐
  • Twisted:一个事件驱动的网络引擎。官网 -推荐
  • pulsar:事件驱动的并发框架。官网
  • diesel:基于 Greenlet 的事件 I/O 框架。官网
  • pyzmq:ZeroMQ 消息库的 Python 封装。官网
  • Toapi:轻巧,简单,快速的 Flask 库,致力于为所有网站提供 API 服务。官网 -推荐
  • txZMQ:基于 Twisted 的 ZeroMQ 消息库的 Python 封装。官网
  • NAPALM - 用于操纵网络设备的跨供应商API。
动态消息

用来创建用户活动的库。

  • django-activity-stream:从你的站点行为中生成通用活动信息流。官网
  • Stream-Framework:使用 Cassandra 和 Redis 创建动态消息和通知系统。官网 -推荐
ORM

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


  • Django Models:Django 的一部分。链接
  • SQLAlchemy:Python SQL 工具以及对象关系映射工具。链接

    • awesome-sqlalchemy

  • dataset - 在数据库中存储Python dicts - 适合SQLite、MySQL和PostgreSQL。
  • orator - Orator ORM提供了简单而漂亮的ActiveRecord实现。
  • orm - 异步ORM。
  • Peewee:小巧,富有表达力的 ORM, 支持postgresql, mysql and sqlite。[链接]https://github.com/coleifer/peewee)
  • pony:提供面向生成器的 SQL 接口的 ORM。链接
  • python-sql:编写 Python 风格的 SQL 查询。链接
  • pydal - 纯Python数据库抽象层。
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。链接
  • dataset :基于JSON的数据库。链接
包管理(Package Management)

管理包和依赖

  • pip:管理包和依赖。链接 pypi --强烈推荐
  • conda:跨平台,Python 二进制包管理工具。链接 --强烈推荐
  • Curdling:管理 Python 包的命令行工具。链接
  • pip-tools:保证 Python 包依赖关系更新的工具。链接
  • wheel:Python 分发的新标准,意在取代 eggs。链接 --强烈推荐
包仓库

本地 PyPI 仓库服务和代理。

  • warehouse:下一代 PyPI。链接
  • Warehouse:链接
  • bandersnatch:PyPA 提供的 PyPI 镜像工具。链接
  • devpi:PyPI 服务和打包/测试/分发工具。链接
  • localshop:本地 PyPI 服务(自定义包并且自动对 PyPI 镜像)。链接
权限(Permissions)

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

  • Carteblanche - 将代码与用户和设计师的想法对齐的模块。也神奇地处理导航和权限。
  • django-guardian - 为Django 1.2+权限管理
  • django-rules - 小巧但功能强大的应用程序,它为Django提供对象级权限,而不需要数据库。
进程(Processes)

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

  • delegator.py - Subprocesses用于Humans™2.0。 --推荐
  • sarge - Subprocesses的另一个封装。
  • sh - 一个全面的Python子程序替代品。  --推荐
队列(Queue)

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

  • celery - 基于分布式消息传递的异步任务队列/作业队列。 --推荐
  • daramatiq - Python 3的快速、可靠的后台任务处理库。
  • huey - 小任务队列。
  • mrq - Queue先生 - 使用Redis&gevent的Python中的分布式工作者任务队列。
  • rq - 简单的Python作业队列。 --推荐
  • simpleq - 一个简单的,无限可扩展的基于Amazon SQS的队列。
推荐系统(Recommender Systems)

用于构建推荐系统的库。

  • annoy - 针对内存使用进行了优化的C ++ / Python近似最近邻居。 --推荐
  • fastFM - 因式分解机器库。
  • implicit - 隐式数据集协作过滤的快速Python实现。
  • libffm - Field-aware因式分解机(FFM)库。
  • LightFM - 一些流行推荐算法的Python实现。
  • surprise - 用于构建和分析推荐系统的scikit。
  • TensorRec - TensorFlow中的推荐引擎框架
重构(Refactoring)

Python的重构工具和库

  • Bicycle Repair Man - Bicycle Repair Man,一个Python的重构工具。
  • Bowler - 现代 Python 的安全代码重构。
  • Rope - Rope是一个Python重构库。
RESTful API

用于开发RESTful API的库。

  • Django

    • django-rest-framework - 功能强大且灵活的工具包,用于构建Web API。 --强烈推荐
    • django-tastypie - 为Django应用程序创建美味的API。 --推荐

  • Flask

    • eve - 由Flask,MongoDB提供支持的REST API框架和。  --推荐
    • flask-api-utils - 负责Flask的API表示和身份验证。
    • flask-api - 适用于Flask的Browsable Web API。
    • flask-restful - 快速构建适用于Flask的REST API。 --推荐
    • flask-restless - 为使用SQLAlchemy定义的数据库模型生成RESTful API。



  • Pyramid

    • cornice - Pyramid的RESTful框架。

  • 其他

    • falcon - 一个用于构建云API和Web应用后端的高性能框架。
    • hug - 一个Python3框架,用于通过HTTP干净地公开API以及带有自动文档和验证的命令行。 --推荐
    • fastapi - 现代的、快速的、基于标准Python类型提示的Web框架,用于用Python 3.6+构建API。 -- 强烈推荐 中文快速入门 https://www.jianshu.com/p/4d8120af7c4c
    • ripozo - 快速创建REST / HATEOAS / Hypermedia API。
    • sandman2 - 现有数据库驱动系统的自动化REST API。
    • apistar - 为Python 3设计的智能Web API框架。--推荐
    • vibora - 快速、高效、异步的Web框架,灵感来自Flask。
    • sanic - 异步Python 3.7+ web server/framework | 快速构建及执行。  --推荐

RPC服务器(RPC Servers)


  • RPC兼容服务器。*
  • SimpleJSONRPCServer - 该库是JSON-RPC规范的实现。
  • SimpleXMLRPCServer - (Python标准库)简单的XML-RPC服务器实现,单线程。
  • zeroRPC - zerorpc是基于ZeroMQ和[MessagePack](http:// msgpack.org/)。  --推荐
科学(Science)


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

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

  • django-haystack - Django模块化搜索。
  • elasticsearch-dsl-py - Elasticsearch的官方高级Python客户端。
  • elasticsearch-py - [Elasticsearch]的官方低级Python客户端(https: //www.elastic.co/products/elasticsearch)。
  • elasticsearch-dsl-py - 官方高级 Elasticsearch Python client .
  • pysolr - Apache Solr的轻量级Python包装(包括SolrCloud认知)。
  • solrpy - [solr]的一个Python客户端(http://lucene.apache.org/solr/)。
  • Whoosh - 快速,纯粹的Python搜索引擎库。  --推荐
序列化(Serialization)

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

  • marshmallow - marshmallow是一个ORM / ODM /框架无关的库,用于将复杂数据类型(如对象)转换为本机Python数据类型和从本地Python数据类型转换。
  • pysimdjson - A Python bindings for simdjson.
  • python-rapidjson - A Python wrapper around RapidJSON.
  • ultrajson - 用C语言编写的快速JSON解码器和编码器。
无服务器框架(Serverless Frameworks

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

  • python-lambda - 用于在AWS Lambda中开发和部署Python代码的工具包。
  • Zappa - AWS Lambda和API网关上部署WSGI应用程序的工具。--推荐
特殊文本格式处理(Specific Formats Processing)

一些用来解析和操作特殊文本格式的库。
通用


  • tablib:处理 XLS, CSV, JSON, YAML表格数据的模块。链接
Office


  • docxtpl - 通过jinja2模板编辑docx文件
  • Marmir:把输入的Python 数据结构转换为电子表单。链接
  • openpyxl:用来读写 Excel 2010 xlsx/xlsm/xltx/xltm 文件的库。链接 --强烈推荐
  • python-docx:读取,查询以及修改 Microsoft Word 2007/2008 docx 文件。链接
  • unoconv:在 LibreOffice/OpenOffice 支持的任意文件格式之间进行转换。链接
  • XlsxWriter:一个用于创建 Excel .xlsx 文件的 Python 模块。链接 -- 推荐
  • xlwings: Excel 中方便调用 Python 的库(反之亦然),基于 BSD 协议。链接
  • xlwt/xlrd:读写 MS Excel 97/2000/XP/2003 XLS  Excel 文件的数据和格式信息。链接
  • relatorio:输出odt和pdf的模板。链接
  • pyexcel:用于读取,操作和写入CSV,ODS,XLS,XLSX和XLSM文件数据的单一API。链接
-- 实际pandas为第一数据处理库,支持所有excel格式, 不过会依赖上面的一些库。
合并多个excel表,插件mergebooks.dll和vba可以搞定。多表统计求和VBA可以搞定,参考资料, 当然pandas会比它们更强大。
PyXLL用于在excel中用python替代VBA.
Pywin32  也可通过COM口连接excel。
PDF


  • PDFMiner:从PDF文档中抽取信息的工具。链接
  • PyPDF2:可以分割,合并和转换 PDF 页面的库。链接
  • ReportLab:快速创建富文本 PDF 文档。链接
Markdown


  • Mistune:快速并且功能齐全的纯 Python 实现的 Markdown 解析器。链接
  • Python-Markdown:John Gruber’s Markdown 的 Python 版实现。链接
  • Python-Markdown2:纯 Python 实现的 Markdown 解析器,比 Python-Markdown 更快,更准确,可扩展。链接
YAML


  • PyYAML:Python 版本的 YAML 解析器。链接
CSV


  • csv: 标准库,csv文件读写。链接
  • csvkit:用于转换和操作 CSV 的工具。链接 -- 推荐
Archive

  • unp:方便解包归档文件的命令行工具。链接
静态网站生成器(Static Site Generator)


  • MkDocs:对 Markdown 友好的文档生成器。链接 -- 推荐
  • makesite - 简单、轻量级、无魔法的静态网站/博客生成器(< 130行)。
  • Lektor - 易于使用的静态CMS和博客引擎。
  • Nikola - 静态网站和博客生成器。
  • Pelican - 将Markdown或ReST用于内容,Jinja 2用于主题。 支持DVCS,Disqus。AGPL。 --强烈推荐
标签(Tagging)


  • django-taggit - 简单Django的标签。
模板引擎(Template Engine)


  • Genshi - 用于生成网络感知输出的Python模板工具包。
  • Jinja2 - 现代和设计友好的模板语言。 -- 推荐
  • Mako - Python平台的超快速和轻量级模板。
文本处理(Text Processing)

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


  • chardet:字符编码检测器,兼容 Python2 和 Python3。链接
  • difflib:(Python 标准库)帮助我们进行差异化比较。链接
  • ftfy:让Unicode文本更完整更连贯。链接
  • hashids:在 Python 中实现 hashids 。链接
  • fuzzywuzzy:模糊字符串匹配。链接 --推荐
  • Levenshtein:快速计算编辑距离以及字符串的相似度。链接
  • pangu.py - Spacing texts for CJK and alphanumerics.
  • pyfiglet:pyfiglet -figlet 的 Python实现。链接
  • shortuuid:生成器库,用以生成简洁的,明白的,URL 安全的 UUID。链接
  • unidecode:Unicode 文本的 ASCII 转换形式 。链接
  • uniout:打印可读的字符,而不是转义的字符串。链接
  • xpinyin:把汉字转换为拼音的库。链接
  • pypinyin :把汉字转换为拼音的库。链接
  • simplejson:Python的JSON编码、解码器。链接
  • smassedit:Python的sed。链接
Slugify


  • 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 解析器。官网链接
第三方 API(Third-party APIs)

用来访问第三方 API的库。 参见: List of Python API Wrappers and Libraries。 链接

  • apache-libcloud:为各种云设计的 Python 库。链接
  • boto3: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 的封装。链接
URL处理(URL Manipulation)

解析URLs的库

  • furl:处理 URL 更简单小型 Python 库。链接
  • purl:简单的,不可变的URL类,具有简洁的 API 来进行询问和处理。链接
  • pyshorteners:纯 Python URL 缩短库。链接
  • shorturl:生成短小 URL 和类似 http://bit.ly 短链的Python 实现。链接
  • webargs:解析 HTTP 请求参数的库,内置对流行 web 框架的支持,包括 Flask, Django, Bottle, Tornado和 Pyramid。链接
Video

用来操作视频和GIF的库。

  • moviepy:一个用来进行基于脚本的视频编辑模块,适用于多种格式,包括动图 GIFs。链接
WSGI 服务器(WSGI Servers)

兼容 WSGI 的 web 服务器

  • gunicorn:Pre-forked, 部分是由 C 语言编写的。链接 --推荐
  • uwsgi:uwsgi 项目的目的是开发一组全栈工具,用来建立托管服务, 由 C 语言编写。链接
  • bjoern:异步,非常快速,由 C 语言编写。链接
  • fapws3:异步 (仅对于网络端),由 C 语言编写。链接
  • meinheld:异步,部分是由 C 语言编写的。链接
  • netius:异步,非常快速。链接
  • paste:多线程,稳定,久经考验。链接 --推荐
  • waitress:多线程, 是它驱动着 Pyramid 框架。链接
  • Werkzeug:一个 WSGI 工具库,驱动着 Flask ,而且可以很方便大嵌入到你的项目中去。链接 --推荐
网页内容提取(Web Content Extracting)

用于进行网页内容提取的库。

  • Haul:可以扩展的图像爬取工具。链接
  • html2text:将 HTML 转换为 Markdown 格式文本链接
  • lassie:人性化的网页内容检索库。链接
  • micawber:一个小型网页内容提取库,用来从 URLs 提取富内容。链接
  • newspaper:使用 Python 进行新闻提取,文章提取以及内容策展。链接 --推荐
  • opengraph:用来解析开放图形协议的 Python模块。链接
  • python-goose:HTML内容/文章提取器。链接
  • python-readability:arc90的易读性工具的移植。链接
  • request-html - Pythonic HTML解析。
  • sumy:一个为文本文件和 HTML 页面进行自动摘要的模块。链接
  • textract:从任何格式的文档中提取文本,Word,PowerPoint,PDFs 等等。链接
网络爬虫(Web Crawling)

2018最佳人工智能数据采集(爬虫)工具书下载

  • Scrapy:快速高级的屏幕爬取及网页采集框架。链接 --强烈推荐
  • cola:高层分布式爬虫框架。链接
  • Demiurge:基于PyQuery 的爬虫微型框架。链接
  • feedparser:通用 feed 解析器。链接
  • Grab:站点爬取框架。链接
  • MechanicalSoup:用于自动和网络站点交互的 Python 库。链接
  • portia:Scrapy 可视化爬取。链接 --推荐
  • pyspider:一个强大的爬虫系统。链接 --强烈推荐
  • RoboBrowser:一个简单的,Python 风格的库,用来浏览网站,而不需要一个独立安装的浏览器。链接
  • MechanicalSoup:用于自动和网络站点交互的 Python 库。链接
Web 框架(Web Frameworks)

全栈 Web 框架。

  • Django:Python 界最流行的 web 框架。链接 wesome-django系列 awesome-django --强烈推荐

    • awesome-django
    • awesome-django

  • Flask:Python 微型框架。链接  awesome-flask系列 链接 --强烈推荐 python web框架第一名

    • awesome-flask



  • pyramid:一个小巧,快速,接地气的开源Python web 框架。链接 awesome-pyramid系列 链接
  • Bottle:一个快速小巧,轻量级的 WSGI 微型 web 框架。链接  --推荐
  • CherryPy:一个极简的 Python web 框架,支持HTTP/1.1 协议且具有WSGI 线程池。链接
  • sanic:python3 快速的web服务器,类似flask。链接 --推荐
  • web.py:既简单,又强大的web 框架。链接
  • TurboGears:易于扩展的全栈微框架。链接
  • web2py:全栈 web 框架和平台,用于安全数据库访问的web用。链接
  • Masonite - 现代和以开发者为中心的Python网络框架。
  • Tornado - web 框架和异步网络库. 链接
WebSocket


  • AutobahnPython:WebSocket & WAMP 基于 Twisted 和 asyncio。链接
  • Crossbar:开源统一应用路由(Websocket & WAMP for Python on Autobahn).链接
  • django-channels:Django异步。链接
  • django-socketio:Django WebSocket。链接
  • WebSocket-for-Python:为Python2/3 以及 PyPy 编写的 WebSocket 客户端和服务器库。链接
监控

python应用性能监控工具简介 https://china-testing.github.io/python_monitor.html

  • sentry Sentry is cross-platform application monitoring, with a focus on error reporting. https://sentry.io 推荐
  • Graphite 存储时间序列数据,并通过Django Web应用程序在图形中显示它们。
Services

Online tools and APIs to simplify development.
Continuous Integration

Also see awesome-CIandCD.

  • CircleCI - A CI service that can run very fast parallel testing.
  • Travis CI - A popular CI service for your open source and private projects. (GitHub only)
  • Vexor CI - A continuous integration tool for private apps with pay-per-minute billing model.
  • Wercker - A Docker-based platform for building and deploying applications and microservices.
Code Quality


  • Codacy - Automated Code Review to ship better code, faster.
  • Codecov - Code coverage dashboard.
  • CodeFactor - Automated Code Review for Git.
  • Landscape - Hosted continuous Python code metrics.
  • PEP 8 Speaks - GitHub integration to review code style.
Resources

Where to discover new Python libraries.
Podcasts


  • From Python Import Podcast
  • Podcast.init
  • Python Bytes
  • Python Testing
  • Radio Free Python
  • Talk Python To Me
  • Test and Code
Twitter


  • @codetengu
  • @getpy
  • @importpython
  • @planetpython
  • @pycoders
  • @pypi
  • @pythontrending
  • @PythonWeekly
  • @TalkPython
  • @realpython
Websites


  • /r/CoolGithubProjects
  • /r/Python
  • Awesome Python @LibHunt
  • Django Packages
  • Full Stack Python
  • Python Cheatsheet
  • Real Python
  • The Hitchhiker’s Guide to Python
  • Ultimate Python study guide
  • Python ZEEF
  • Python 开发社区
  • Real Python
  • Trending Python repositories on GitHub today
  • Сообщество Python Программистов
  • Pythonic News
Weekly


  • CodeTengu Weekly 碼天狗週刊
  • Import Python Newsletter
  • Pycoder's Weekly
  • Python Weekly
  • Python Tricks
持续更新

wechat: pythontesting
Websites


  • /r/CoolGithubProjects
  • /r/Python
  • Awesome Python @LibHunt
  • Django Packages
  • Full Stack Python
  • Python Cheatsheet
  • Python Hackers
  • Python ZEEF
  • Python 开发社区
  • Real Python
  • Trending Python repositories on GitHub today
  • Сообщество Python Программистов
Weekly


  • CodeTengu Weekly 碼天狗週刊
  • Import Python Newsletter
  • Pycoder's Weekly
  • Python Weekly
  • Python Tricks
Sungzu 发表于 2023-10-4 18:02:36|来自:北京 | 显示全部楼层
如果想要全面的话,可以直接去Python工具包管理官网PyPi,目前已经管理46万+开源项目,460万+的发布版本了。
但是,我估计大家想看到的也不是这个,我们真正用到的其实可能就那么几个,所以,上来就罗列一大堆并没有什么意义。
例如,

  • matplotlib(绘图)
  • pandas(数据处理)
  • numpy(科学计算)
  • request(网络请求)
  • BeautifulSoup(爬虫)
  • Tkinter(UI界面)
  • argparse(命令行)
  • math(数学运算)
至于其他的,就是因人而异,不同的场景应用的库不尽相同,例如,机器学习领域的PyTorch、sklearn、Keras在办公领域就用不到。
不过,也有一些库是比较通用的,这里简单介绍几个,不介绍太多,因为多了有负担,反而适得其反。
1. Click

Click是Python中一款非常好用的命令函工具,这款工具是用flask的开发团队pallets进行开发,目前在github已经7.6k+star,受欢迎程度可见一斑,


Click的开发初衷就是使用最少的代码,以一种可组合的方式创建漂亮的命令行接口。它的目的是使编写命令行工具的过程快速而有趣,同时防止由于无法实现预期的CLI API而导致的任何问题。
Click主要有以下3个亮点:

  • 命令的任意嵌套
  • 自动帮助页面生成
  • 支持在运行时延迟加载子命令
安装
  1. $ pip install click
复制代码
Click支持Python 3.4和更新版本、Python 2.7和PyPy。
首先先来一个例子,
  1. import click
  2. @click.command()
  3. @click.option("--name", default="li", help="your name")
  4. @click.option("--age", default=26, help="your age")
  5. def hello_world(name, age):
  6.     click.echo(name)
  7.     print(age)
  8.    
  9. hello_world()
复制代码
命令行调用,
  1. $ python test.py --name ll --age 27
  2. # 输出
  3. ll
  4. 27
复制代码
可以看出,上述主要用了click的3个方法,分别是,

  • command
  • option
  • echo
这3个方法在Click工具中至关重要,除此之外还有其他的方法,它们的功能分别是,
方法功能

  • command:用于装饰一个函数,使得该函数作为命令行的接口,例如上述装饰hello_world
  • option:用于装饰一个函数,主要功能是为命令行添加选项
  • echo:用于输出结果,由于print函数在2.x和3.x之间存在不同之处,为了更好的兼容性,因此提供了echo输出方法
  • Choice:输入为一个列表,列表中为选项可选择的值
把上述程序的帮助信息输出,
  1. $ python test.py --help
  2. Usage: test.py [OPTIONS]
  3. Options:
  4.   --name TEXT    your name
  5.   --age INTEGER  your age
  6.   --help         Show this message and exit.
复制代码
在示例程序中,对于option只使用了default、help两个属性,除此之外option还有其他的属性选项,它们的功能如下,
属性描述

  • default:给命令行选项添加默认值
  • help:给命令行选项添加帮助信息
  • type:指定参数的数据类型,例如int、str、float
  • required:是否为必填选项,True为必填,False为非必填
  • prompt:在命令行提示用户输入对应选项的信息
  • nargs:指定命令行选项接收参数的个数,如果超过则会报错
除此之外,Click还提供了group方法,该方法可以添加多个子命令,
  1. import click
  2. @click.group()
  3. def first():
  4.     print("hello world")
  5. @click.command()
  6. @click.option("--name", help="the name")
  7. def second(name):
  8.     print("this is second: {}".format(name))
  9. @click.command()
  10. def third():
  11.     print("this is third")
  12. first.add_command(second)
  13. first.add_command(third)
  14. first()
复制代码
调用子命令second,
  1. $ python test.py second --name hh
  2. # 输出
  3. hello world
  4. this is second: hh
复制代码
2. Pysnooper

调试程序对于大多数开发者来说是一项必不可少的工作,当我们想要知道代码是否按照预期的效果在执行时,我们会想到去输出一下局部变量与预期的进行比对。目前大多数采用的方法主要有以下几种:

  • Print函数
  • Log日志
  • IDE调试器
但是这些方法有着无法忽视的弱点:

  • 繁琐
  • 过度依赖工具
"PySnooper is a poor man's debugger."
有了PySnooper,上述问题都迎刃而解,因为PySnooper实在太简洁了,目前在github已经10k+star。
前面花了一段篇幅讲解装饰器其实就是为了PySnooper做铺垫,PySnooper的调用就是通过装饰器的方式进行使用,非常简洁。
PySnooper的调用方式就是通过@pysnooper.snoop的方式进行使用,该装饰器可以传入一些参数来实现一些目的,具体如下:
参数描述None输出日志到控制台filePath输出到日志文件,例如'log/file.log'prefix给调试的行加前缀,便于识别watch查看一些非局部变量表达式的值watch_explode展开值用以查看列表/字典的所有属性或项depth显示函数调用的函数的snoop行
安装
使用pip安装,
  1. pip install pysnooper
复制代码
或者使用conda安装,
  1. conda install -c conda-forge pysnooper
复制代码
使用
先写一个简单的例子,
  1. import numpy as np
  2. import pysnooper
  3. @pysnooper.snoop()
  4. def one(number):
  5.     mat = []
  6.     while number:
  7.         mat.append(np.random.normal(0, 1))
  8.         number -= 1
  9.     return mat
  10. one(3)
  11. # 输出
  12. Starting var:.. number = 3
  13. 22:17:10.634566 call         6 def one(number):
  14. 22:17:10.634566 line         7     mat = []
  15. New var:....... mat = []
  16. 22:17:10.634566 line         8     while number:
  17. 22:17:10.634566 line         9         mat.append(np.random.normal(0, 1))
  18. Modified var:.. mat = [-0.4142847169210746]
  19. 22:17:10.634566 line        10         number -= 1
  20. Modified var:.. number = 2
  21. 22:17:10.634566 line         8     while number:
  22. 22:17:10.634566 line         9         mat.append(np.random.normal(0, 1))
  23. Modified var:.. mat = [-0.4142847169210746, -0.479901983375219]
  24. 22:17:10.634566 line        10         number -= 1
  25. Modified var:.. number = 1
  26. 22:17:10.634566 line         8     while number:
  27. 22:17:10.634566 line         9         mat.append(np.random.normal(0, 1))
  28. Modified var:.. mat = [-0.4142847169210746, -0.479901983375219, 1.0491540468063252]
  29. 22:17:10.634566 line        10         number -= 1
  30. Modified var:.. number = 0
  31. 22:17:10.634566 line         8     while number:
  32. 22:17:10.634566 line        11     return mat
  33. 22:17:10.634566 return      11     return mat
  34. Return value:.. [-0.4142847169210746, -0.479901983375219, 1.0491540468063252]
复制代码
这是最简单的使用方法,从上述输出结果可以看出,PySnooper输出信息主要包括以下几个部分:

  • 局部变量值
  • 代码片段
  • 局部变量所在行号
  • 返回结果
也就是说,把我们日常DEBUG所需要的主要信息都输出出来了。
上述结果输出到控制台,还可以把日志输出到文件,
  1. @pysnooper.snoop("debug.log")
复制代码

在函数调用过程中,PySnooper还能够显示函数的层次关系,使得一目了然,
  1. @pysnooper.snoop()
  2. def two(x, y):
  3.     z = x + y
  4.     return z
  5. @pysnooper.snoop()
  6. def one(number):
  7.     k = 0
  8.     while number:
  9.         k = two(k, number)
  10.         number -= 1
  11.     return number
  12. one(3)
  13. # 输出
  14. Starting var:.. number = 3
  15. 22:26:08.185204 call        12 def one(number):
  16. 22:26:08.186202 line        13     k = 0
  17. New var:....... k = 0
  18. 22:26:08.186202 line        14     while number:
  19. 22:26:08.186202 line        15         k = two(k, number)
  20.     Starting var:.. x = 0
  21.     Starting var:.. y = 3
  22.     22:26:08.186202 call         6 def two(x, y):
  23.     22:26:08.186202 line         7     z = x + y
  24.     New var:....... z = 3
  25.     22:26:08.186202 line         8     return z
  26.     22:26:08.186202 return       8     return z
  27.     Return value:.. 3
  28. Modified var:.. k = 3
  29. 22:26:08.186202 line        16         number -= 1
  30. Modified var:.. number = 2
  31. 22:26:08.186202 line        14     while number:
  32. 22:26:08.186202 line        15         k = two(k, number)
  33.     Starting var:.. x = 3
  34.     Starting var:.. y = 2
  35.     22:26:08.186202 call         6 def two(x, y):
  36.     22:26:08.186202 line         7     z = x + y
  37.     New var:....... z = 5
  38.     22:26:08.186202 line         8     return z
  39.     22:26:08.186202 return       8     return z
  40.     Return value:.. 5
  41. Modified var:.. k = 5
  42. 22:26:08.186202 line        16         number -= 1
  43. Modified var:.. number = 1
  44. 22:26:08.186202 line        14     while number:
  45. 22:26:08.186202 line        15         k = two(k, number)
  46.     Starting var:.. x = 5
  47.     Starting var:.. y = 1
  48.     22:26:08.186202 call         6 def two(x, y):
  49.     22:26:08.186202 line         7     z = x + y
  50.     New var:....... z = 6
  51.     22:26:08.186202 line         8     return z
  52.     22:26:08.186202 return       8     return z
  53.     Return value:.. 6
  54. Modified var:.. k = 6
  55. 22:26:08.186202 line        16         number -= 1
  56. Modified var:.. number = 0
  57. 22:26:08.186202 line        14     while number:
  58. 22:26:08.186202 line        17     return number
  59. 22:26:08.186202 return      17     return number
  60. Return value:.. 0
复制代码
从上述输出结果可以看出,函数one与函数two的输出缩进层次一目了然。
除了缩进之外,PySnooper还提供了参数prefix给debug信息添加前缀的方式便于识别,
  1. @pysnooper.snoop(prefix="funcTwo ")
  2. def two(x, y):
  3.     z = x + y
  4.     return z
  5. @pysnooper.snoop(prefix="funcOne ")
  6. def one(number):
  7.     k = 0
  8.     while number:
  9.         k = two(k, number)
  10.         number -= 1
  11.     return number
  12. one(3)
  13. # 输出
  14. funcOne Starting var:.. number = 3
  15. funcOne 22:28:14.259212 call        12 def one(number):
  16. funcOne 22:28:14.260211 line        13     k = 0
  17. funcOne New var:....... k = 0
  18. funcOne 22:28:14.260211 line        14     while number:
  19. funcOne 22:28:14.260211 line        15         k = two(k, number)
  20. funcTwo     Starting var:.. x = 0
  21. funcTwo     Starting var:.. y = 3
  22. funcTwo     22:28:14.260211 call         6 def two(x, y):
  23. funcTwo     22:28:14.260211 line         7     z = x + y
  24. funcTwo     New var:....... z = 3
  25. funcTwo     22:28:14.260211 line         8     return z
  26. funcTwo     22:28:14.260211 return       8     return z
  27. funcTwo     Return value:.. 3
  28. funcOne Modified var:.. k = 3
  29. funcOne 22:28:14.260211 line        16         number -= 1
  30. funcOne Modified var:.. number = 2
  31. funcOne 22:28:14.260211 line        14     while number:
  32. funcOne 22:28:14.260211 line        15         k = two(k, number)
  33. funcTwo     Starting var:.. x = 3
  34. funcTwo     Starting var:.. y = 2
  35. funcTwo     22:28:14.260211 call         6 def two(x, y):
  36. funcTwo     22:28:14.260211 line         7     z = x + y
  37. funcTwo     New var:....... z = 5
  38. funcTwo     22:28:14.260211 line         8     return z
  39. funcTwo     22:28:14.260211 return       8     return z
  40. funcTwo     Return value:.. 5
  41. funcOne Modified var:.. k = 5
  42. funcOne 22:28:14.260211 line        16         number -= 1
  43. funcOne Modified var:.. number = 1
  44. funcOne 22:28:14.260211 line        14     while number:
  45. funcOne 22:28:14.260211 line        15         k = two(k, number)
  46. funcTwo     Starting var:.. x = 5
  47. funcTwo     Starting var:.. y = 1
  48. funcTwo     22:28:14.260211 call         6 def two(x, y):
  49. funcTwo     22:28:14.260211 line         7     z = x + y
  50. funcTwo     New var:....... z = 6
  51. funcTwo     22:28:14.260211 line         8     return z
  52. funcTwo     22:28:14.260211 return       8     return z
  53. funcTwo     Return value:.. 6
  54. funcOne Modified var:.. k = 6
  55. funcOne 22:28:14.260211 line        16         number -= 1
  56. funcOne Modified var:.. number = 0
  57. funcOne 22:28:14.260211 line        14     while number:
  58. funcOne 22:28:14.260211 line        17     return number
  59. funcOne 22:28:14.260211 return      17     return number
  60. funcOne Return value:.. 0
复制代码
参数watch可以用于查看一些非局部变量,例如,
  1. class Test():
  2.     t = 10
  3. test = Test()
  4. @pysnooper.snoop(watch=("test.t", "x"))
  5. # 输出
  6. Starting var:.. number = 3
  7. Starting var:.. test.t = 10
  8. Starting var:.. x = 10
复制代码
参数watch_explode可以展开字典或者列表显示它的所有属性值,对比一下它和watch的区别,
  1. #### watch_explode ####
  2. d = {
  3.     "one": 1,
  4.     "two": 1
  5. }
  6. @pysnooper.snoop(watch_explode="d")
  7. # 输出
  8. Starting var:.. number = 3
  9. Starting var:.. d = {'one': 1, 'two': 1}
  10. Starting var:.. d['one'] = 1
  11. Starting var:.. d['two'] = 1
  12. #### watch ####
  13. d = {
  14.     "one": 1,
  15.     "two": 1
  16. }
  17. @pysnooper.snoop(watch="d")
  18. # 输出
  19. Starting var:.. d = {'one': 1, 'two': 1}
复制代码
可以看出watch_explode能够展开字典的属性值。
另外还有参数depth显示函数中调用函数的snoop行,默认值为1,参数值需要大于或等于1。
3. Dear PyGui




虽然,正如我们所看到的,终端应用可以很好看,但有时这还不够,你需要一个真正的GUI。
为此,Dear PyGui[3]应运而生,它是流行的Dear ImGui C++项目的Python移植。
Dear PyGui利用了在视频游戏中流行的所谓即时模式范式。
这意味着动态GUI是一帧一帧独立绘制的,不需要持久化任何数据。这使得这个工具与其他Python GUI框架有着本质上的区别。
它具有很高的性能,并使用计算机的GPU来促进高动态界面的构建,这在工程、模拟、游戏或数据科学应用中是经常需要的。
4. PrettyErrors



这是一个让你觉得:"怎么以前没有人想到它?"的Python库。
PrettyErrors[4]只做了一件事,而且做得很好。
在支持彩色输出的终端中,它将混乱的报错信息转化为更适合我们人类的眼睛来解析的东西。
不再苦苦扫描整个屏幕,定位报错信息......现在你可以一目了然地找到它。
5. HiPlot



几乎每一位数据科学家在其职业生涯的某个阶段都曾处理过高维数据。
不幸的是,人类的大脑并没有足够的能力直观地处理这种数据,所以我们必须借助其他技术。
今年年初,Facebook发布了HiPlot[10],这是一个帮助发现高维数据中的相关性和模式的库,使用平行图和其他图形方式来表示信息。在他们的发布博文中解释了这个概念,但基本上是一种很好的、方便的可视化和过滤高维数据的方法。
HiPlot是交互式的,可扩展的,你可以从你的标准Jupyter Notebooks或通过它自己的服务器使用它。
<hr/>推荐阅读


如何最简单、通俗地理解Python的numpy库?python学习的难点在哪里?hello,大家好,我是Jackpop,重点大学本科毕业后保送到哈工大计算数学专业读研,有多年国内头部互联网、IT公司工作经验,先后从事过计算机视觉、推荐系统、后端、数据等相关工作。如果同学们在升学考研、职业规划、高考志愿、简历优化、技术学习等方面有困惑,欢迎大家前来咨询!
gvell 发表于 2023-10-4 18:03:08|来自:北京 | 显示全部楼层
Python有哪些库?
今天给大家分享最近一年内PyPI上下载量最高的Python包。现在我们来看看这些包的作用,他们之间的关系,以及为什么如此流行。
1. Urllib3:8.93亿次下载

Urllib3 是 Python 的 HTTP 客户端,它提供了许多 Python 标准库没有的功能。

  • 线程安全
  • 连接池
  • 客户端 SSL/TLS 验证
  • 使用 multipart 编码进行文件上传
  • 用于重传请求并处理 HTTP 重定向的辅助功能
  • 支持 gzip 和 deflate 编码
  • 支持 HTTP 和 SOCKS 代理
尽管名字叫做 Urllib3,但它并不是 Python 自带的 urllib2 的后继版本。如果你想尽可能使用 Python 的核心功能(比如由于某些限制导致不能安装),那么可以看看 urllib.request

对于最终用户,我强烈推荐 requests 包(参考列表中的第六项)。Urllib3 之所以排名第一是因为几乎 1200 个软件包都依赖它,许多这些软件包也都在列表中名列前茅。
2. Six:7.32亿次下载

Six 是 Python 2 和 Python 3 兼容性工具。该项目的目的是让代码能够同时在 Python 2 和  Python 3 上运行。
它提供了许多函数,掩盖了  Python 2 和  Python 3 之间的语法差异。最容易理解的例子就是six.print_()。在 Python 3  中,输出时需要使用 print() 函数,而 Python 2 中是使用不带括号的 print。因此,使用 six.print_()  可以同时支持两种语言。
重点:

  • 包的名字 six 来自于2 x 3 = 6
  • 类似的库还有 future
  • 如果想将代码转换成 Python 3(同时不再支持 Python 2),可以看看 2to3
尽管我理解该包如此流行,但还是希望人们尽快抛弃 Python 2,特别是从2020年1月1日起官方已经不再支持 Python 2了。
3. botocore, boto3, s3transfer, awscli

这几个项目放在一起说:

  • botocore:第3名,6.6亿次下载
  • s3transfer:第7名,5.84亿次下载
  • awscli
  • :第17名,3.94亿次下载
  • boto3:第22名,3.29亿次下载
Botocore 是 AWS 的底层接口。botocore 是 boto3(第22名)库的基础,后者可以让你访问亚马逊的S3、EC2等服务。
Botocore 也是 AWS-CLI 的基础,后者是 AWS 的命令行界面。
s3transfer(第七名)是用于管理S3传输的 Python 库。该库仍在开发中,它的主页依然不建议使用,或者使用时至少要固定版本,因为即使在小版本号之间它的API也可能会发生变化。
boto3、AWS-CLI 和许多其他项目都依赖于 s3transfer。
AWS 相关的库的排名如此高,正说明了 AWS 的服务是多么流行。
4. Pip:6.27亿次下载

我猜许多人都知道并且喜爱 pip(Python的包安装工具)。使用 pip 从 Python Package Index和其他仓库(如本地镜像或包含私有软件的自定义仓库等)安装软件包不费吹灰之力。
关于 pip 的趣事:

  • Pip 的名字是个递归定义:Pip Installs Packages
  • Pip 非常容易使用。安装一个软件包只需要执行 pip install <软件包名>。删除只需要执行 pip uninstall
  • <软件包名>。
  • Pip 最大的好处就是它可以安装一系列包,通常会放在 requirements.txt 文件中。该文件还可以指定每个包的详细版本号。绝大多数 Python 项目都会包含这个文件。
  • 与 virtualenv
  • (第57名)结合使用 pip,可以创建可预测的、独立的环境,而不会与系统本身的环境互相影响。
5. python-dateutil:6.17亿次下载

Python-dateutil 模块为标准的 datetime 模块提供了强大的功能扩展。普通的 Python datetime 无法做到的事情都可以使用 python-dateutil 完成。
用这个库可以完成许多非常酷的功能。我只举一个非常有用的例子:从日志文件中模糊解析日期字符串:
  1. from dateutil.parser import parse
  2. logline =  INFO 2020-01-01T00:00:01 Happy new year, human.
  3. timestamp = parse(log_line, fuzzy=True)
  4. print(timestamp)
  5. # 2020-01-01 00:00:01
复制代码
6. requests:6.11亿次下载

Requests 基于下载量第一的库 urllib3
。有了它,发送请求变得极其简单。许多人对 requests 的喜爱超过了 urllib3,因此 requets 的最终用户可能比 urllib3 还要多。后者更底层,通常作为其他项目的依赖出现。
下面的例子演示了 requests 有多么容易使用:
  1. import requests
  2. r = requests.get( https://api.github.com/user , auth=( user ,  pass ))
  3. r.status_code
  4. # 200
  5. r.headers[ content-type ]
  6. #  application/json; charset=utf8
  7. r.encoding
  8. #  utf-8
  9. r.text
  10. # u {"type":"User"...
  11. r.json()
  12. # {u disk_usage : 368627, u private_gists : 484, ...}
复制代码
7. s3transfer

第3、7、17和22名互相关联,所以请参见第3名的介绍。
8. Certifi:5.52亿次下载

近年来,几乎所有网站都开始使用SSL,这一点可以从地址栏中的锁图标看出来,该图标的意思是网站是安全的、加密的,可以避免窃听。加密基于SSL证书,SSL证书由可信的公司或非营利组织
负责签发,如 LetsEncrypt。这些组织会对利用它们的证书对签发的证书进行数字签名。
利用这些证书的公开部分,浏览器就可以验证网站的签名,从而证明你访问的是真正的网站,而且别人没有在窃听数据。
Python 也可以做到同样的功能,这就需要用到 certifi。它和 Chrome、Firefox 和 Edge 等Web浏览器中包含的根证书集合没有什么区别。
Certifi 是一个根证书集合,这样 Python 代码就可以验证SSL证书的可信度。
许多项目都信赖并依赖 certifi,可以在这里看到这些项目。这也是为何该项目排名如此高的原因。
9. Idna:5.27亿次下载

根据 PyPI 的页面,idna提供“对于RFC5891中定义的IDNA协议(Internationalised Domain Names in Applications)的支持”。
我们来看看 idna 是什么意思:
IDNA 是处理包含非 ASCII 字符的域名的规则。但原始的域名不是已经支持非 ASCII 字符了吗?那么问题何在?
问题是许多应用程序(如Email客户端和Web浏览器等)并不支持非 ASCII 字符。或者更具体地说,Email 和 HTTP 协议并不支持这些字符。
在许多国家这并不是问题,但像中国、俄罗斯、德国、印尼等国家就很不方便。因此,这些国家的一些聪明人联合起来提出了 IDNA,也并非完全偶然。
IDNA 的核心是两个函数:ToASCII 和 ToUnicode。ToASCCI 会将国际化的 Unicode 域名转换成 ASCII 字符串,而 ToUnicode 会做相反的处理。在 IDNA 包中,这两个函数叫做 idna.encode() 和 idna.decode
(),参见下面的例子:
  1. import idna
  2. idna.encode( ドメイン.テスト )
  3. # b xn--eckwd4c7c.xn--zckzah
  4. print(idna.decode( xn--eckwd4c7c.xn--zckzah ))
  5. # ドメイン.テスト
复制代码
10. PyYAML:5.25亿次下载

YAML 是一种数据序列化格式。它的设计目标是同时方便人类和机器阅读——人类很容易读懂,计算机解析也不难。
PyYAML 是 Python 的 YAM 解析器和编码器,也就是说它可以读写 YAML 格式。它可以将任何 Python 对象编码为 YAML:列表,字典,甚至类实例都可以。
Python 提供了自己的配置管理器,但 YAML 提供的功能远胜于 Python 自带的 ConfigParser(只能使用最基本的.ini文件)。
例如,YAML 能存储任何数据类型:boolean,list,float等。ConfigParse 的内部一切都保存为字符串。如果你要用 ConfigParser 来加载证书,就需要指明你需要的是整数:
  1. config.getint(“section”, “my_int”)
复制代码
而 pyyaml 能够自动识别类型,因此只需这样就能获得 int:
  1. config[“section”][“my_int”]
复制代码
YAML 还允许任意深度的嵌套,尽管并非每个项目都需要,但非常方便。
你可以自行决定使用哪一个,但许多项目都使用 YAML 作为配置文件,因此该项目的流行度非常高。
11. pyasn1

:5.12亿次下载

像 IDNA 一样,这个项目的描述的信息量也非常大:
ASN.1 类型和 DER/BER/CER 编码(X.208)的纯 Python 实现。
幸运的是,我们依然能找到这个几十年之久的标准的许多资料。ASN.1  是 Abstract Syntax Notation One(抽象语法记法一)的缩写,是数据序列化的鼻祖。它来自于通讯行业。也许你知道  protocol buffer 或者 Apache Thrift 吧?ASN.1正是它们的1984年版本。ASN.1  描述了一种不同系统之间的跨平台的接口,可以通过该接口发送数据结构。
还记得第8名的 certifi 吗?ASN.1 用于定义 HTTPS 协议以及许多其他加密系统中使用的证书的格式。ASN.1 还广泛用于 SNMP、LDAP、Kerberos、UMTS、LTE 和 VOIP 等协议中。
它是个非常复杂的标准,人们已经发现某些实现充满了脆弱性。
你可以看看 Reddit 上的这个关于 ASN.1 的讨论
(https://www.reddit.com/r/programming/comments/1hf7ds/useful_old_technologies_asn1/)。
除非真正必要,否则我建议不要使用它。但由于许多地方都在使用该协议,因此许多包都依赖于它。
12. docutils

:5.08亿次下载

Docutils 是一个模块化系统,用于将纯文本文档转换成其他格式,如 HTML、XML 和 LaTeX等。docutils 可以读取 reStructuredText 格式(一种类似于 MarkDown 的容易阅读的格式)的纯文本文档。
我猜你一定听说过 PEP 文档,甚至可能阅读过。PEP 文档是什么?
PEP  的意思是 Python Enhanced Proposal(Python增强提案)。PEP 是一篇设计文档,用于给 Pytho  n社区提供信息,或者为 Python(或其处理器、环境)描述一个新特性。PEP 应该提供特性的精确的技术标准,并给出该特性的理由。
PEP 文档就是使用固定的 reStructuredText 模板,然后通过 docutils 转换成漂亮的文档。
Sphinx 的核心也使用了 docutils。Sphinx 用于创建文档项目。如果说 docutils 是一台机器,那么 Sphinx 就是一个工厂。它的最初设计目的是构建P ython 本身的文档,但许多其他项目也利用 Sphinx 来创建文档。
你一定读过 http://readthedocs.org 上的文档吧?那里的文档都是使用 Sphinx 和 docutils 创建的。
13. Chardet:5.01亿下载

你可以使用 chardet 模块来检查文件或数据流的字符集。在分析大量随机的文本时这个功能非常有用。但也可以用来判断远程下载的数据的字符串。
在安装 chardet 后,就可以使用命令行工具 chardetect,使用方法如下:
  1. chardetect somefile.txt
  2. somefile.txt: ascii with confidence 1.0
复制代码
也可以在程序中使用该库,
参见文档(https://chardet.readthedocs.io/en/latest/usage.html)。
Requests 和许多其他包都依赖于 chardet。我估计不会有太多人直接使用 chardet,所以它的流行度肯定是来自于这些依赖。
14. RSA:4.92亿次下载

Rsa是 RSA 的纯 Python 实现。它支持如下功能:

  • 加密和解密
  • 签名和签名验证
  • 根据 PKCS#1 version 1.5生成秘钥
它可以作为 Python 库使用,也可以在命令行上使用。

  • RSA 名称中的三个字母来自于三个人的姓:Ron Rivest,Adi Shamir,和Leonard Adleman。他们于1977年发明了该算法。
  • RSA 是最早出现的一批公钥加密系统,广泛用于安全数据传输。这种加密系统包括两个秘钥:一个是公钥,一个是私钥。使用公钥加密数据,然后该数据只能用私钥进行解密。
  • RSA 算法很慢。通常并不使用 RSA 算法直接加密用户数据,而是用它来加密对称加密系统中使用的共享秘钥,因为对称加密系统速度很快,适合用来加密大量数据。
下面代码演示了 RSA 的使用方法:
  1. import rsa
  2. # Bob creates a key pair:
  3. (bob_pub, bob_priv) = rsa.newkeys(512)
  4. # Alice ecnrypts a message for Bob
  5. # with his public key
  6. crypto = rsa.encrypt( hello Bob! , bob_pub)
  7. # When Bob gets the message, he
  8. # decrypts it with his private key:
  9. message = rsa.decrypt(crypto, bob_priv)
  10. print(message.decode( utf8 ))
  11. # hello Bob!
复制代码
假设 Bob 拥有私钥 private,Alice 就能确信只有 Bob 才能阅读该信息。
但 Bob 并不能确信 Alice 是信息的发送者,因为任何人都可以获得 Bob 的公钥。为了证明发送者的确是 Alice,她可以使用自己的私钥对信息进行签名。Bob 可以使用 Alice 的公钥对签名进行验证,来确保发送者的确是 Alice。
许多其他包都依赖于 rsa,如 google-auth(第37名),oauthlib
(第54名),awscli(第17名)。这个包并不会经常被直接使用,因为有许多更快、更原生的方法。
15. Jmespath:4.73亿次下载

在 Python 中使用 JSON 很容易,因为 JSON 可以完美地映射到 Python 的字典上。我认为这是最好的特性之一。
说实话我从来没听说过 jmepath
这个包,尽管我使用过很多 JSON。我会使用 json.loads() 然后手动从字典中读取数据,或许还得写几个循环。
JMESPath,读作“James path”,能更容易地在 Python 中使用 JSON。你可以用声明的方式定义怎样从 JSON 文档中读取数据。下面是一些最基本的例子:
  1. import jmespath
  2. # Get a specific element
  3. d = {"foo": {"bar": "baz"}}
  4. print(jmespath.search( foo.bar , d))
  5. # baz
  6. # Using a wildcard to get all names
  7. d = {"foo": {"bar": [{"name": "one"}, {"name": "two"}]}}
  8. print(jmespath.search( foo.bar
  9. [*].name , d))
  10. # [“one”, “two”]
复制代码
这仅仅是它的冰山一角。更多用法参见它的文档和 PyPI 主页。
wangdabian 发表于 2023-10-4 18:03:40|来自:北京 | 显示全部楼层
Python 生态,向来以各种类库齐全而闻名,这也是这门语言如此受欢迎的重要原因。今天萝卜哥就给大家分享一下这几天的战果,宵衣旰食,不眠不休的整理了近千个 Python 库,收藏的同时,给个在看不为过吧!


数据处理

文本处理


  • chardet:字符编码检测器,可以自动检测文本、网页、xml的编码
  • difflib:(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: 一个高效的文本查找替换库
  • esmre:正则表达式的加速器
  • awesome slugify:一个 Python slugify 库,用于处理 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:用来处理表格数据的模块
  • Marmir:把输入的 Python 数据结构转换为电子表单
  • openpyxl:一个用来读写 Excel 2010 xlsx/xlsm/xltx/xltm 文件的库
  • pyexcel:一个提供统一 API,用来读写、操作 Excel 文件的库
  • python-docx:读取,查询以及修改 Microsoft Word 2007/2008 docx 文件
  • relatorio:模板化 OpenDocument 文件
  • unoconv:在 LibreOffice/OpenOffice 支持的任意文件格式之间进行转换
  • XlsxWriter:一个用于创建 Excel.xlsx 文件的 Python 模块
  • xlwings:一个使得在 Excel 中方便调用 Python 的库(反之亦然),基于 BSD 协议
  • xlwt/xlrd:读写 Excel 文件的数据和格式信息
  • PDFMiner:一个用于从 PDF 文档中抽取信息的工具
  • PyPDF2:一个可以分割,合并和转换 PDF 页面的库
  • ReportLab:快速创建富文本 PDF 文档
  • Mistune:快速并且功能齐全的纯 Python 实现的 Markdown 解析器
  • Python-Markdown:John Gruber’s Markdown 的 Python 版实现
  • Python-Markdown2:纯 Python 实现的 Markdown 解析器,比 Python-Markdown 更快,更准确,可扩展
  • PyYAML:Python 版本的 YAML 解析器
  • csvkit:用于转换和操作 CSV 的工具
  • unp:一个用来方便解包归档文件的命令行工具
HTML/XML 解析


  • BeautifulSoup:以 Python 风格的方式来对 HTML 或 XML 进行迭代,搜索和修改
  • bleach:一个基于白名单的 HTML 清理和文本链接库
  • cssutils:一个 Python 的 CSS 库
  • html5lib:一个兼容标准的 HTML 文档和片段解析及序列化库
  • lxml:一个非常快速,简单易用,功能齐全的库,用来处理 HTML 和 XML
  • MarkupSafe:为 Python 实现 XML/HTML/XHTML 标记安全字符串
  • pyquery:一个解析 HTML 的库,类似 jQuery
  • requests-html:人性化的,Pythonic 的 HTML 解析库
  • untangle:将 XML 文档转换为 Python 对象,使其可以方便的访问
  • xhtml2pdf:HTML/CSS 转 PDF 工具
  • xmltodict:像处理 JSON 一样处理 XML
  • htmlparser,官方版解析 HTML DOM 树
文件处理


  • aiofiles:基于 asyncio,提供文件异步操作
  • imghdr:(Python 标准库)检测图片类型
  • mimetypes:(Python 标准库)将文件名映射为 MIME 类型
  • path.py:对 os.path 进行封装的模块
  • pathlib:(Python3.4+ 标准库)跨平台的、面向对象的路径操作库
  • python-magic:文件类型检测的第三方库 libmagic 的 Python 接口
  • Unipath:用面向对象的方式操作文件和目录
  • watchdog:管理文件系统事件的 API 和 shell 工具
  • Unipath:面向对象的文件/目录的操作工具包
  • pathlib:(Python 3.4版已经作为Python标准库),一个跨平台,面向 path 的函数库
  • pickle/cPickle:Python 的 pickle 模块实现了基本的数据序列和反序列化
配置文件处理


  • ConfigParser:Python 标准库,ini 文件解析器
  • configobj:ini 文件解析器
  • profig:多格式配置转换工具
  • config:logging 模块作者写的分级配置模块
  • python-decouple:将设置和代码完全隔离
文档相关


  • Sphinx:Python 文档生成器
  • mkdocs:Markdown 格式文档生成器
  • pycco:简单快速、编程风格的文档生成器
  • pdoc:自动生成的 Python 库 API 文档 epydoc,从源码注释中生成各种格式文档的工具
  • readthedocs:一个基于 Sphinx/MkDocs 的在线文档托管系统,对开源项目免费开放使用
日志管理


  • logging:(Python 标准库) 为 Python 提供日志功能
  • logbook:Logging 库的替代品
  • Eliot:为复杂的和分布式系统创建日志
  • Raven:Sentry 的 Python 客户端
  • Sentry:实时记录和收集日志的服务器
日期和时间


  • arrow:非常好的 Python 日期时间操作类库
  • Chronyk:Python 3 的类库,用于解析手写格式的时间和日期
  • dateutil:Python datetime 模块的扩展
  • delorean:解决 Python 中有关日期处理的棘手问题的库
  • maya:人性化的时间处理库
  • moment:一个用来处理时间和日期的 Python 库,灵感来自于 Moment.js
  • pendulum:一个比 arrow 更具有明确的、可预测行为的时间操作库
  • PyTime:一个简单易用的 Python 模块,用于通过字符串来操作日期/时间
  • pytz:现代以及历史版本的世界时区定义,将时区数据库引入 Python
  • when.py:提供用户友好的函数来帮助用户进行常用的日期和时间操作
图像

图像处理


  • 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 的一个包装类
网络相关

下载


  • s3cmd:一个用来管理 Amazon S3 和 CloudFront 的命令行工具
  • s4cmd:超级 S3 命令行工具,性能更加强劲
  • you-get:一个 YouTube/Youku/Niconico 视频下载器,使用 Python3 编写
  • youtube-dl:一个小巧的命令行程序,用来下载 YouTube 视频
  • Coursera:可以从 http://coursera.org 下载视频
  • subliminal,命令行工具,搜索和下载字幕的函数库
HTTP


  • aiohttp:基于 asyncio 的异步 HTTP 网络库
  • requests:人性化的 HTTP 请求库
  • grequests:requests 库 + gevent ,用于异步 HTTP 请求
  • httplib2:全面的 HTTP 客户端库
  • treq:类似 requests 的 Python API 构建于 Twisted HTTP 客户端之上
  • urllib3:一个具有线程安全连接池,支持文件 post,清晰友好的 HTTP 库
网络可视化


  • Mininet:一款流行的网络模拟器以及用 Python 编写的 API
  • POX:一个针对基于 Python 的软件定义网络应用(例如 OpenFlow SDN 控制器)的开源开发平台
  • Pyretic:火热的 SDN 编程语言中的一员,为网络交换机和模拟器提供强大的抽象能力
  • SDX Platform:基于 SDN 的 IXP 实现,影响了 Mininet, POX 和 Pyretic
  • NRU:一个基于组件的软件定义网络框架
URL 处理


  • furl:一个让处理 URL 更简单小型 Python 库
  • purl:一个简单的、不可变的 URL 类,具有简洁的 API 来进行询问和处理
  • pyshorteners:一个纯 Python URL 缩短库
  • shorturl:生成短小 URL 和类似 http://bit.ly 短链的 Python 实现
网络爬虫


  • 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 等等
  • mechanize:网页浏览编程工具
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 客户端和服务器库
RPC


  • SimpleJSONRPCServer:这个库是 JSON-RPC 规范的一个实现
  • SimpleXMLRPCServer:(Python 标准库) 简单的 XML-RPC 服务器实现,单线程
  • zeroRPC:zerorpc 是一个灵活的 RPC 实现,基于 ZeroMQ 和 MessagePack
Web 框架

全栈框架


  • Django:Python 界最流行的 web 框架
  • Flask:一个 Python 微型框架
  • pyramid:一个小巧快速,接地气的开源 Python web 框架
  • Bottle:一个快速小巧,轻量级的 WSGI 微型 web 框架
  • CherryPy:一个极简的 Python web 框架,服从 HTTP/1.1 协议且具有 WSGI 线程池
  • TurboGears:一个可以扩展为全栈解决方案的微型框架
  • web.py:一个 Python 的 web 框架,既简单,又强大
  • web2py:一个全栈 web 框架和平台,专注于简单易用
  • Tornado:一个 web 框架和异步网络库
  • sanic:基于 Python3.5+ 的异步网络框架
  • Karrigell:简单的Web框架,自身包含了Web服务,py脚本引擎和纯python的数据库
  • PyDBLitewebpy:一个小巧灵活的 Web 框架,虽然简单但是功能强大
  • Quixote:一个 Web 开发框架
  • Grok:基于 Zope3 的 Web 框架
  • Bluebream:开源的 Web 应用服务器,原名Zope3
  • guava:轻量级,高性能的 Python Web 框架,采用 c 语言编写
CMS


  • odoo-cms: 一个开源的企业级 CMS,基于 odoo
  • 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
Web 权限/安全


  • Carteblanche:站在用户和设计者角度开发的一个代码对齐模块,很好地处理了代码导航及权限
  • django-guardian:Django 1.2+ 实现了单个对象权限
  • django-rules:一个小巧但是强大的应用,提供对象级别的权限管理,且不需要使用数据库
  • Flask-OAuthlib:Flask的OAuth工具包sanction,制裁,简单的oauth2客户端
  • django-oauth-toolkit:为 Django 用户准备的 OAuth2
  • django-allauth:Django 的验证应用
  • Authomatic:简单但是强大的框架,身份验证/授权客户端
商务框架


  • django-oscar:一个用于 Django 的开源的电子商务框架
  • django-shop:一个基于 Django 的店铺系统
  • Cartridge:一个基于 Mezzanine 构建的购物车应用
  • shoop:一个基于 Django 的开源电子商务平台
  • alipay:非官方的 Python 支付宝 API
  • merchant:一个可以接收来自多种支付平台支付的 Django 应用
  • money:一个货币类库,带有可选的 CLDR 后端本地化格式,提供可扩展的货币兑换解决方案
  • python-currencies:显示货币格式以及它的数值
Restful API


  • django-rest-framework:一个强大灵活的工具,用来构建 web API
  • django-tastypie:为 Django 应用开发 API
  • django-formapi:为 Django 的表单验证,创建 JSON APIs
  • 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 等驱动
  • cornice:一个 Pyramid 的 REST 框架
  • falcon:一个用来建立云 API 和 Web app 后端的高性能框架
  • sandman:为现存的数据库驱动系统自动创建 REST APIs
  • restless:框架无关的 REST 框架,借鉴了 Tastypie
  • ripozo:快速创建 REST/HATEOAS/Hypermedia APIs
模板引擎


  • Jinja2:一个现代的,对设计师友好的模板引擎
  • Chameleon:一个 HTML/XML 模板引擎,模仿了 ZPT(Zope Page Templates), 进行了速度上的优化
  • Genshi:Python 模板工具,用以生成 Web 感知的结果
  • Mako:Python 平台的超高速轻量级模板
队列


  • celery:一个异步任务队列/作业队列,基于分布式消息传递
  • huey:小型多线程任务队列
  • mrq:一个 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:将链接和内联的 JavaScript 或 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 封装
表单


  • 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:一个映射验证器(mappings-validator)
  • colander:一个用于对从 XML, JSON,HTML 表单获取的数据或其他同样简单的序列化数据进行验证和反序列化的系统
  • kmatch:一种用于匹配/验证/筛选 Python 字典的语言
  • schema:一个用于对 Python 数据结构进行验证的库
  • Schematics:数据结构验证
  • valideer:轻量级可扩展的数据验证和适配库
  • voluptuous:一个 Python 数据验证库,主要是为了验证传入 Python 的 JSON,YAML 等数据
电子邮件


  • 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 库,用来抽取信息和签名
  • django-simple-captcha:一个简单、高度可定制的 Django 应用,可以为任何 Django 表单添加验证码
  • django-simple-spam-blocker:一个用于 Django 的简单的电子垃圾屏蔽工具
URL


  • webargs:一个解析 HTTP 请求参数的库,内置对流行 web 框架的支持,包括 Flask, Django, Bottle, Tornado 和 Pyramid
  • short_url:短网址生成
国际化


  • Babel:一个 Python 的国际化库
  • Korean:一个韩语词态库
管理面板


  • Ajenti:一个服务器值得拥有的管理面板
  • django-suit:Django 管理界面的一个替代品 (仅对于非商业用途是免费的)
  • django-xadmin:Django admin 的一个替代品,具有很多不错的功能
  • flask-admin:一个用于 Flask 的简单可扩展的管理界面框架
  • flower:一个对 Celery 集群进行实时监控和提供 Web 管理界面的工具
  • Grappelli:Django 管理界面的一个漂亮的皮肤
  • Wooey:一个 Django 应用,可以为 Python 脚本创建 Web 用户界面
静态站点生成


  • Pelican:使用 Markdown 或 ReST 来处理内容,Jinja2 来制作主题
  • Cactus:为设计师设计的静态站点生成器
  • Hyde:基于 Jinja2 的静态站点生成器
  • Nikola:一个静态网站和博客生成器
  • Tinkerer:Tinkerer 是一个博客引擎/静态站点生成器,由 Sphinx 驱动
  • Lektor:一个简单易用的静态 CMS 和博客引擎
  • Tags:最简单的静态网站生成器
WSGI 服务器


  • gunicorn:Pre-forked,部分是由 C 语言编写的
  • uwsgi:uwsgi 项目的目的是开发一组全栈工具,用来建立托管服务,由 C 语言编写
  • bjoern:异步,速度非常快,由 C 语言编写
  • fapws3:异步 (仅对于网络端),由 C 语言编写
  • meinheld:异步,部分是由 C 语言编写的
  • netius:异步,非常快速
  • paste:多线程,稳定,久经考验
  • rocket:多线程
  • waitress:多线程,Pyramid 框架由它驱动
  • Werkzeug:一个 WSGI 工具库,驱动着 Flask,而且可以很方便大嵌入到你的项目中去
ORM


  • Django Models:Django 的一部分
  • SQLAlchemy:Python SQL 工具以及对象关系映射工具
  • Peewee:一个小巧,富有表达力的 ORM
  • PonyORM:提供面向生成器的 SQL 接口的 ORM
  • python-sql:编写 Python 风格的 SQL 查询
  • 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
地理位置


  • GeoDjango:世界级地理图形 web 框架
  • GeoIP:MaxMind GeoIP Legacy 数据库的 Python API
  • geojson:GeoJSON 的 Python 绑定及工具
  • geopy:Python 地址编码工具箱
  • pygeoip:纯 Python GeoIP API
  • django-countries:一个 Django 应用程序,提供用于表格的国家选择功能,国旗图标静态文件以及模型中的国家字段
系统

进程


  • envoy:比 Python subprocess 模块更人性化
  • sarge:另一 种 subprocess 模块的封装
  • sh:一个完备的 subprocess 替代库
  • subprocess:调用 shell 命令的神器
并发/并行


  • multiprocessing:(Python 标准库) 基于进程的“线程”接口
  • threading:(Python 标准库)更高层的线程接口
  • eventlet:支持 WSGI 的异步框架
  • gevent:一个基于协程的 Python 网络库,使用 greenlet
  • Tomorrow:用于产生异步代码的神奇的装饰器语法实现
  • uvloop:在 libuv 之上超快速实现 asyncio 事件循环
数据库相关

Python 实现的数据库


  • pickleDB:一个简单轻量级键值储存数据库
  • PipelineDB:流式 SQL 数据库
  • TinyDB:一个微型的面向文档型数据库
  • ZODB:一个 Python 原生对象数据库。一个键值和对象图数据库
数据库驱动


  • aiomysql:基于 asyncio 的异步 MySQL 数据库操作库
  • mysql-python:Python 的 MySQL 数据库连接器
  • ysqlclient:mysql-python 分支,支持 Python 3
  • oursql:一个更好的 MySQL 连接器,支持原生预编译指令和 BLOBs
  • PyMySQL:纯 Python MySQL 驱动,兼容 mysql-python
  • psycopg2:Python 中最流行的 PostgreSQL 适配器
  • queries:psycopg2 库的封装,用来和 PostgreSQL 进行交互
  • txpostgres:基于 Twisted 的异步 PostgreSQL 驱动
  • apsw:另一个 Python SQLite 封装
  • dataset:在数据库中存储 Python 字典
  • pymssql:一个简单的 Microsoft SQL Server 数据库接口
  • 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 客户端
验证

OAuth


  • OAuthLib:一个 OAuth 请求-签名逻辑通用、完整的实现
  • python-oauth2:一个完全测试的抽象接口,用来创建 OAuth 客户端和服务端
  • python-social-auth:一个设置简单的社会化验证方式
  • rauth:OAuth 1.0/a, 2.0, 和 Ofly 的 Python 库
  • sanction:一个超级简单的 OAuth2 客户端实现
密码


  • cryptography:这个软件包意在提供密码学基本内容和方法提供给 Python 开发者
  • hashids:在 Python 中实现 hashids
  • Paramiko:SSHv2 协议的 Python (2.6+, 3.3+) ,提供客户端和服务端的功能
  • Passlib:安全密码存储/哈希库
  • PyCrypto:Python 密码学工具箱
  • PyNacl:网络和密码学(NaCl) 库的 Python 绑定
其他


  • jose:JavaScript 对象签名和加密草案的实现
  • PyJWT:JSON Web 令牌草案01
  • python-jws:JSON Web 签名草案02的实现
  • python-jwt:一个用来生成和验证 JSON Web 令牌的模块
  • Permissions:函数库,允许或拒绝用户访问数据或函数
人工智能

自然语言处理


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


  • OpenCV:开源计算机视觉库
  • pyocr:Tesseract 和 Cuneiform 的包装库
  • pytesseract:Google Tesseract OCR 的另一包装库
  • SimpleCV:一个用来创建计算机视觉应用的开源框架
机器学习/深度学习


  • Caffe: 一个 Caffe 的 Python 接口
  • Caffe2:一个轻量级的、模块化的,可扩展的深度学习框架
  • Crab:灵活、快速的推荐引擎
  • gensim:人性化的话题建模库
  • hebel:GPU 加速的深度学习库
  • keras: 以 tensorflow/theano/CNTK 为后端的深度学习封装库,可以快速上手的神经网络
  • MXNet:一个高效和灵活的深度学习框架
  • NuPIC:智能计算 Numenta 平台
  • pattern:Python 网络挖掘模块
  • PyBrain:一个 Python 机器学习库
  • pydeep:Python 深度学习库
  • Pylearn2:一个基于 Theano 的机器学习库
  • python-recsys:一个用来实现推荐系统的 Python 库
  • Pytorch:一个具有张量和动态神经网络,并有强大 GPU 加速能力的深度学习框架
  • scikit-learn:基于 SciPy 构建的机器学习 Python 模块
  • skflow:一个 TensorFlow 的简化接口(模仿 scikit-learn)
  • TensorFlow:谷歌开源的最受欢迎的深度学习框架
  • Theano:一个快速数值计算库
  • vowpalporpoise:轻量级 Vowpal Wabbit 的 Python 封装
  • Milk:机器学习工具箱,其重点是提供监督分类法与几种有效的分类分析:SVMs(基于libsvm),K-NN,随机森林经济和决策树
  • PyMVPA(Multivariate Pattern Analysis in Python):为大数据集提供统计学习分析的 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:用于数学,科学和工程的开源软件构成的生态系统
  • statsmodels:统计建模和计量经济学
  • SymPy:一个用于符号数学的 Python 库
  • zipline:一个 Python 算法交易库
  • Bayesian-belief-networks:优雅的贝叶斯信念网络框架
  • ScientificPython:一组经过挑选的 Python 程序模块,用于科学计算
  • visvis:可视化计算模块库,可进行一维到四维数据的可视化
数据可视化


  • matplotlib:一个 Python 2D 绘图库
  • 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 的高性能科学可视化工具
GUI 与游戏开发

GUI


  • curses:内建的 ncurses 封装,用来创建终端图形用户界面
  • enaml:使用类似 QML 的 Declaratic 语法来创建美观的用户界面
  • kivy:一个用来创建用户交互应用程序的库,可以运行在 Windows, Linux, Mac OS X, Android 以及 iOS 平台上
  • pyglet:一个 Python 的跨平台窗口及多媒体库
  • PyQt:跨平台用户界面框架 Qt 的 Python 绑定 ,支持 Qt v4 和 Qt v5
  • PySide:跨平台用户界面框架 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 技术进行界面的展示
  • PyGtk:基于 Python 的 GUI 程序开发 GTK+ 库
  • turtle:Python 的画图工具
游戏开发


  • Cocos2d:cocos2d 是一个用来开发 2D 游戏
  • Panda3D:由迪士尼开发的 3D 游戏引擎,并由卡内基梅陇娱乐技术中心负责维护。使用 C++ 编写, 针对 Python 进行了完全的封装
  • Pygame:Pygame 是一组 Python 模块,用来编写游戏
  • PyOgre:Ogre 3D 渲染引擎的 Python 绑定,可以用来开发游戏和仿真程序等任何 3D 应用
  • PyOpenGL:OpenGL 的 Python 绑定及其相关 APIs
  • PySDL2:SDL2 库的封装,基于 ctypes
  • RenPy:一个视觉小说(visual novel)引擎
  • PySFML:Python 绑定 SFMLRenPy,视觉小说引擎
音视频

音频


  • 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 文件和回放功能
视频


  • moviepy:一个用来进行基于脚本的视频编辑模块,适用于多种格式,包括动图 GIFs
  • scikit-video:SciPy 视频处理常用程序
  • http://shorten.tv:视频摘要
测试相关

测试框架


  • unittest:(Python 标准库) 单元测试框架
  • nose:nose 扩展了 unittest 的功能
  • contexts:一个 Python 3.3+ 的 BDD 框架
  • 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:代码覆盖率测量
  • Codecov:一个代码覆盖率测试工具,为开源项目提供免费代码覆盖率测试服务
伪数据


  • faker:一个 Python 库,用来生成伪数据
  • fake2db:伪数据库生成器
  • radar:生成随机的日期/时间
  • FuckIt.py:FuckIt.py 使用最先进的技术来保证你的 Python 代码无论对错都能继续运行
代码工具

代码分析


  • coala:语言独立和易于扩展的代码分析应用程序
  • code2flow:把你的 Python 和 JavaScript 代码转换为流程图
  • pycallgraph:这个库可以把你的 Python 应用的流程(调用图)进行可视化
  • pysonar2:Python 类型推断和检索工具
Lint 工具


  • Flake8:模块化源码检查工具: pep8, pyflakes 以及 co
  • Pylint:一个完全可定制的源码分析器
  • YAPF: Google 的 Python 代码格式化工具
  • pylama:Python 和 JavaScript 的代码审查工具
代码格式化


  • autopep8:自动格式化 Python 代码,以使其符合 PEP8 规范
  • black:一个坚定的 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 代码的内存使用
  • profiling:一个交互式 Python 性能分析工具
  • pyelftools:解析和分析 ELF 文件以及 DWARF 调试信息
  • python-statsd:statsd 服务器的 Python 客户端
日志


  • logging:(Python 标准库) 为 Python 提供日志功能
  • logbook:Logging 库的替代品
  • Eliot:为复杂的和分布式系统创建日志
  • Raven:Sentry 的 Python 客户端
  • Sentry:实时记录和收集日志的服务器
持续集成


  • Travis CI:一个流行的工具,为你的开源和 私人 项目提供持续集成服务
  • CircleCI:一个持续集成工具,可以非常快速的进行并行测试
  • Vexor CI:一个为私人 app 提供持续集成的工具,支持按分钟付费
  • Wercker:基于 Docker 平台,用来构建和部署微服务
代码质量


  • Codacy:自动化代码审查,更加快速的发布高质量代码。对于开源项目是免费的
  • QuantifiedCode:一个数据驱动、自动、持续的代码审查工具
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 库,一致并且可靠
  • AirFlow:Airflow 是Airbnb公司开源的,是一个工作流分配管理系统,通过有向非循环图的方式管理任务流程,设置任务依赖关系和时间调度
高性能


  • 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 环境


  • Python(x,y):面向科学应用的 Python 发行版,基于 Qt 和 Spyder
  • pythonlibs:非官方的 Windows 平台 Python 扩展二进制包
  • PythonNet:Python 与 .NET 公共语言运行库 (CLR)的集成
  • PyWin32:针对 Windows 的 Python 扩展
  • WinPython:Windows 7/8 系统下便携式开发环境
硬件相关


  • ino:操作 Arduino 的命令行工具
  • Pyro:Python 机器人编程库
  • PyUserInput:跨平台的,控制鼠标和键盘的模块
  • scapy:一个非常棒的操作数据包的库
  • wifi:一个 Python 库和命令行工具用来在 Linux 平台上操作 WiFi
  • Pingo:Pingo 为类似 Raspberry Pi,pcDuino, Intel Galileo 等设备提供统一的 API 用以编程
环境与包管理

环境管理


  • p:非常简单的交互式 Python 版本管理工具
  • pyenv:简单的 Python 版本管理工具
  • Vex:可以在虚拟环境中执行命令
  • virtualenv:创建独立 Python 环境的工具
  • virtualenvwrapper:virtualenv 的一组扩展
  • pew:一套管理多个虚拟环境的工具
  • PyRun:一个单文件,无需安装的Python版本管理工具
包管理


  • pip:Python 包和依赖关系管理工具
  • pip-tools:保证 Python 包依赖关系更新的一组工具
  • pipenv:Pyhton 官方推荐的新一代包管理工具
  • conda:跨平台,Python 二进制包管理工具
  • Curdling:管理 Python 包的命令行工具
  • wheel:Python 分发的新标准,意在取代 eggs
  • Pdm:新一代包管理工具
  • easy_install:软件包管理系统
包仓库


  • warehouse:下一代 PyPI
  • bandersnatch:PyPA 提供的 PyPI 镜像工具
  • devpi:PyPI 服务和打包/测试/分发工具
  • localshop:本地 PyPI 服务(自定义包并且自动对 PyPI 镜像)
  • PyPI:新一代的 Python 包库管理工具
分发与构建

软件分发


  • PyInstaller:将 Python 程序转换成独立的执行文件(跨平台)
  • dh-virtualenv:构建并将 virtualenv 虚拟环境作为一个 Debian 包来发布
  • Nuitka:将脚本、模块、包编译成可执行文件或扩展模块
  • py2app:将 Python 脚本变为独立软件包(Mac OS X)
  • py2exe:将 Python 脚本变为独立软件包(Windows)
  • pynsist:一个用来创建 Windows 安装程序的工具,可以在安装程序中打包 Python 本身
  • cx-Freeze:跨平台的,用于打包成可执行文件的库
构建


  • buildout:一个构建系统,从多个组件来创建,组装和部署应用
  • BitBake:针对嵌入式 Linux 的类似 make 的构建工具
  • fabricate:对任何语言自动找到依赖关系的构建工具
  • PlatformIO:多平台命令行构建工具
  • PyBuilder:纯 Python 实现的持续化构建工具
  • SCons:软件构建工具
交互式解释器


  • IPython:功能丰富的工具,可以非常有效的使用交互式 Python
  • bpython:界面丰富的 Python 解析器
  • ptpython:高级交互式 Python 解析器,构建于 python-prompt-toolkit 之上
命令行相关

命令行工具


  • asciimatics:跨平台、全屏终端库(即鼠标/键盘输入和彩色,定位文本输出),包含完整的复杂动画和特殊效果的高级 API
  • cement:Python 的命令行程序框架
  • click:一个通过组合的方式来创建精美命令行界面的包
  • cliff:一个用于创建命令行程序的框架,可以创建具有多层命令的命令行程序
  • clint:Python 命令行程序工具
  • colorama:跨平台彩色终端文本
  • docopt:Python 风格的命令行参数解析器
  • Gooey:一条命令,将命令行程序变成一个 GUI 程序
  • python-prompt-toolkit:一个用于构建强大的交互式命令行程序的库
  • python-fire:Google 出品的一个基于 Python 类的构建命令行界面的库
  • Pythonpy:在命令行中直接执行任何 Python 指令
  • Clime:可以转换任何模块为多的 CLI 命令程序,无任何配置
  • docopt:Python 命令行参数分析器
  • pycli:命令行应用程序,支持的标准命令行解析,测井,单元测试和功能测试
  • rainbowstream:推特客户终端
  • argparse:写命令行脚本必备,强大的命令行差数解析工具
  • pyHook:基于 Python 的“钩子”库,主要用于监听当前电脑上鼠标和键盘的事件
  • pstuil:跨平台地很方便获取和控制系统的进程,以及读取系统的 CPU 占用内存占用等信息
命令行高级工具


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

API


  • 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 的封装
外来函数接口


  • cffi:用来调用 C 代码的外来函数接口
  • ctypes:(Python 标准库) 用来调用 C 代码的外来函数接口
  • PyCUDA:Nvidia CUDA API 的封装
  • SWIG:简化的封装和接口生成器
其他

MapReduce


  • dpark:Spark 的 Python 克隆版,一个类似 MapReduce 的框架
  • dumbo:这个 Python 模块可以让人轻松的编写和运行 Hadoop 程序
  • luigi:这个模块帮你构建批处理作业的复杂流水线
  • mrjob:在 Hadoop 或 Amazon Web Services 上运行 MapReduce 任务
  • PySpark:Spark 的 Python API
  • streamparse:运行针对事实数据流的 Python 代码。集成了 Apache Storm
函数式编程


  • CyToolz:Toolz 的 Cython 实现 : 高性能函数式工具
  • fn.py:在 Python 中进行函数式编程,实现了一些享受函数式编程缺失的功能
  • funcy:炫酷又实用的函数式工具
  • Toolz:一组用于迭代器,函数和字典的函数式编程工具
兼容性


  • Python-Future:这就是 Python 2 和 Python 3 之间丢失的那个兼容性层
  • Python-Modernize:使 Python 代码更加现代化以便最终迁移到 Python 3
  • Six:Python 2 和 3 的兼容性工具
编辑器插件


  • Elpy:Emacs Python 开发环境
  • SublimeJEDI:一个 Sublime Text 插件,用来使用超赞的自动补全库 Jedi
  • Anaconda:Anaconda 把你的 Sublime Text 3 变成一个功能齐全的 Python IDE
  • YouCompleteMe:引入基于 Jedi 的 Python 自动补全引擎
  • Jedi-vim:绑定 Vim 和 Jedi 自动补全库对 Python 进行自动补全
  • Python-mode:将 Vim 变成 Python IDE 的一款多合一插件
  • PTVS:Visual Studio 的 Python 工具
自动聊天工具


  • Errbot:最简单和最流行的聊天机器人用来实现自动聊天工具
金融数据


  • Tushare:一个可以提供免费股票、基金、期货、港股等金融数据的 Python 开源数据
  • Ta-Lib:金融数据技术分析库,可以依据原始金融数据计算各种技术指标,计算性能比较优异
  • AkSHare:一个非常棒的免费金融数据平台
算法和设计模式


  • algorithms:一个 Python 算法模块
  • python-patterns:Python 设计模式的集合
  • sortedcontainers:快速,纯 Python 实现的 SortedList,SortedDict 和 SortedSet 类型
杂七杂八


  • blinker:一个快速的 Python 进程内信号/事件分发系统
  • itsdangerous:一系列辅助工具用来将可信的数据传入不可信的环境
  • pluginbase:一个简单但是非常灵活的 Python 插件系统
  • Pychievements:一个用来创建和追踪成就的 Python 框架
  • Tryton:一个通用商务框架
好了,这就是今天的分享。不得不说,总结 Python 的类库实在是太累了,实在是太多了,还请 点赞 支持一下~
five 发表于 2023-10-4 18:04:38|来自:北京 | 显示全部楼层
Python有哪些常用的库?这里将其总结如下,比如在数据清洗时使用到numpy和pandas包,数据可视化时使用matplotlib库,matplotlib库上手容易,更高级的学习seaborn库,seaborn库是改良matplotlib库的图表画法,如果创建有交互性的图表,可以使用Pyecharts库,还有一些其他在自动化办公中使用到的库。
Python的作用绝不仅仅只是做数据清洗和数据可视化,其作用还有很多,有许多意想不到的功能,可以高效的做数据处理、数据可视化,以及可以实现自动化办公,这里仅仅举例讲讲Python使用最多的几个包,欢迎大家补充,下面一起来学习。
1、Numpy
官网https://www.numpy.org.cn/
NumPy是Python中科学计算的基础包。它是一个Python库,提供多维数组对象,各种派生对象,以及用于数组快速操作的各种API,有包括数学、逻辑、形状操作、排序、选择、输入输出、离散傅立叶变换、基本线性代数,基本统计运算和随机模拟等等。
NumPy包的核心是 ndarray 对象。它封装了python原生的同数据类型的 n 维数组,为了保证其性能优良,其中有许多操作都是代码在本地进行编译后执行的。
NumPy的主要对象是同构多维数组。它是一个元素表,所有类型都相同,由非负整数元组索引。在NumPy维度中称为轴 。


2、Pandas
官网https://www.pypandas.cn/
Pandas 是 Python的核心数据分析支持库,提供了快速、灵活、明确的数据结构,旨在简单、直观地处理关系型、标记型数据,广泛应用于数据分析领域,Pandas 适用于处理与 Excel 表类似的表格数据,以及有序和无序的时间序列数据等。
Pandas 的主要数据结构是 Series(一维数据)和 DataFrame(二维数据),这两种数据结构足以处理金融、统计、社会科学、工程等领域里的大多数典型用例,使用pandas进行数据分析流程包含数据整理与清洗、数据分析与建模、数据可视化与制表等阶段。

  • 灵活的分组功能:(group by)数据分组、聚合、转换数据;
  • 直观地合并功能:(merge)数据连接;
  • 灵活地重塑功能:(reshape)数据重塑;


3、Matplotlib
官网https://www.matplotlib.org.cn/
Matplotlib是一个Python 2D绘图库,它以多种硬拷贝格式和跨平台的交互式环境生成出版物质量的图形。Matplotlib可用于Python脚本,Python和IPython Shell、Jupyter笔记本,Web应用程序服务器和四个图形用户界面工具包。
Matplotlib 尝试使容易的事情变得更容易,使困难的事情变得可能,只需几行代码就可以生成图表、直方图、功率谱、条形图、误差图、散点图等。
为了简单绘图,该 pyplot 模块提供了类似于MATLAB的界面,尤其是与IPython结合使用时,对于高级用户,您可以通过面向对象的界面或MATLAB用户熟悉的一组功能来完全控制线型,字体属性,轴属性等。


4、Seaborn
官网http://seaborn.pydata.org/
Seaborn 是一个基于matplotlib的 Python 数据可视化库,它建立在matplotlib之上,并与Pandas数据结构紧密集成,用于绘制有吸引力和信息丰富的统计图形的高级界面。
Seaborn 可用于探索数据,它的绘图功能对包含整个数据集的数据框和数组进行操作,并在内部执行必要的语义映射和统计聚合以生成信息图,其面向数据集的声明式 API可以专注于绘图的不同元素的含义,而不是如何绘制它们的细节。
Matplotlib 拥有全面而强大的 API,几乎可以根据自己的喜好更改图形的任何属性,seaborn 的高级界面和 matplotlib 的深度可定制性相结合,使得Seaborn既可以快速探索数据,又可以创建可定制为出版质量最终产品的图形。


5、Pyecharts
官网https://pyecharts.org/#/
Echarts 是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。而 Python 是一门富有表达力的语言,很适合用于数据处理。当数据分析遇上数据可视化时,pyecharts 诞生了。
Pyecharts具有简洁的 API 设计,使用如丝滑般流畅,支持链式调用,囊括了 30+ 种常见图表,应有尽有,支持主流 Notebook 环境,Jupyter Notebook 和 JupyterLab,拥有高度灵活的配置项,可轻松搭配出精美的图表。
Pyecharts强大的数据交互功能,使数据表达信息更加生动,增加了人机互动效果,并且数据呈现效果可直接导出为html文件,增加数据结果交互的机会,使得信息沟通更加容易。


Pyecharts有着丰富的图表素材,支持链式调用,如下是使用Pyecharts的地理图表功能,空间上直观显示数据可视化效果。


6、wordcloud

绘制词云图,可以使用Python中的wordcloud库,首先,使用pip install wordcloud安装该库,导入文本数据后,创建一个WordCloud对象,设置词云图的背景颜色、宽度和高度,使用generate()方法将文本传递给词云对象,生成词云图,最后,使用imshow()方法将词云图显示出来,并使用axis()方法隐藏坐标轴。
  1. import matplotlib.pyplot as plt  
  2. from wordcloud import WordCloud  
  3.   
  4. text = "This is some sample text for generating a word cloud."  
  5.   
  6. # 创建词云对象  
  7. wordcloud = WordCloud(background_color='white', width=800, height=600).generate(text)  
  8.   
  9. # 显示词云图  
  10. plt.figure(figsize=(9, 6))  
  11. plt.imshow(wordcloud, interpolation='bilinear')  
  12. plt.axis("off")  
  13. plt.show()
复制代码

7、Faker

Faker库是一个很好的模拟生成数据的库,在满足数据安全的情况下,使用Faker库最大限度的满足我们数据分析的测试需求,可以模拟生成文本、数字、日期等字段。
导入Faker库可以用来模拟生成数据,其中,locale="zh_CN"用来显示中文,如下生成了一组包含姓名、手机号、身份证号、出生年月日、邮箱、地址、公司、职位这几个字段的数据。
  1. #多行显示运行结果
  2. from IPython.core.interactiveshell import InteractiveShell
  3. InteractiveShell.ast_node_interactivity = "all"
  4. from faker import Faker
  5. faker=Faker(locale="zh_CN")#模拟生成数据
  6. faker.name()
  7. faker.phone_number()
  8. faker.ssn()
  9. faker.ssn()[6:14]
  10. faker.email()
  11. faker.address()
  12. faker.company()
  13. faker.job()
复制代码

8、PySimpleGUI

为了将代码的运行过程增加交互式操作,这里使用PySimpleGUI库开发一个图形界面,其中,layout用于自定义窗口布局,window用于定义整体的窗口界面,while True: 循环运行,当满足特定的"事件"时,则返回具体的"值",从而实现人机交互功能。
  1. import PySimpleGUI as sg
  2. #自定义窗口布局,一共是两行,第一行用于查找需要合并Excel的文件目录,第二行点击开始合并按钮进行合并
  3. layout = [[sg.Text("请选择Excel文件所在目录:"),sg.Input(size=(25, 1), enable_events=True, key="文件路径"),sg.FolderBrowse(button_text="浏览文件"),],
  4.           [sg.Button('开始合并', enable_events=True, key="开始"),]
  5.          ]
  6. window = sg.Window('批量数据合并:By大话数据分析', layout)#定义窗口
  7. while True:  
  8.     event, values = window.read()
  9.     if event in (None,):
  10.         break  #关闭用户界面
  11.     elif event == "开始":
  12.         if values["文件路径"]:
  13.             print(values["文件路径"])
  14.             sg.popup('数据合并已完毕!')
  15.         else:
  16.             sg.popup('请先输入Excel文件所在的路径!')
  17. window.close()
复制代码
如下将人机交互功能开发完毕,点击浏览文件,找到需要批量合并文件的文件夹目录,点击开始合并,即可输出结果,其中,values["文件路径"]输入的是需要合并Excel数据的文件路径,print打印出来的就是需要合并Excel数据的文件路径。


9、pipenv

交互式的命令开发完毕,如何分享给别人使用?或者是别人的电脑上没有安装Python也能正常使用数据合并功能?这里给大家介绍Python程序打包,使用虚拟环境进行打包,在命令行输入如下命令下载pipenv包。
  1. #使用虚拟环境压缩
  2. pip install pipenv -i https://pypi.tuna.tsinghua.edu.cn/simple
复制代码
使用快捷键Win+R键,然后输入CMD,输入pipenv shell命令,进入虚拟环境,没有虚拟环境的话会自动建立一个。
  1. #Win+R输入CMD,进入虚拟环境,没有虚拟环境的话会自动建立一个
  2. pipenv shell
复制代码
由于Python打包会将电脑安装的Python包全部打包,这里我们在虚拟环境中只安装Python程序涉及的模块,这样会减少打包的体积,注意xlrd==1.2.0下载低版本的包,默认安装的是高版本的,安装高版本的包在程序使用中会报错。
  1. #只安装Python程序涉及的模块
  2. pip install pandas xlrd==1.2.0 id-validator PySimpleGUI pyinstaller -i https://pypi.tuna.tsinghua.edu.cn/simple
复制代码

将带有交互式命令的数据合并代码导出为.py文件,在命令行输入如下的打包命令,指定具体的路径即可打包。
  1. #进行打包
  2. pyinstaller -F -w C:\Desktop\combine.py
复制代码
稍等几分钟,在Python的工作目录下看到一个dist文件,如果不知道自己的Python工作目录,可使用os.getcwd()命令查看。


该dist文件包含一个combine.exe程序,如下即为打包的程序。


10、pandasql

pandasql库可以在Python中写SQL,而且SQL语法在Python中完全支持,在Python中写SQL能够做到手写自如,导入pandasql库,SQL运行都需要借助pandasql库,我们使用的是sql.sqldf(""" *** """)命令,其中***就是你要写的SQL语句,写SQL不难,很容易入门,只要将SQL语句写入到括号内,即可实现数据查询。
  1. import pandasql as sql
复制代码
导入pandasql库后,这里需要将电影的累计票房分为'超低票房'、'低票房'、'中等票房'、'高票房'、'超高票房',使用case when进行分组,以end结尾,成功实现在pandas中使用case when查询,查询结果如下所示。
  1. #对电影的累计票房使用CASE WHEN分组
  2. sql.sqldf("""select 电影名称,电影导演,电影主演,累计票房,
  3. case
  4. when 累计票房 < 100000 then '超低票房'
  5. when 累计票房 < 200000 then '低票房'
  6. when 累计票房 < 300000 then '中等票房'
  7. when 累计票房 < 400000 then '高票房'
  8. else '超高票房'
  9. end as '电影票房分组' from df
  10. where 累计票房 is not null;""")
复制代码

什么?以上的这几个Python库还没学过瘾?如果你还想学习更多的Python库,这里推荐『数据分析实战训练营』,有专业的老师带着你学习,1V1进行学习指导,帮助你更好地掌握一项技能,现在是人工智能和大数据时代,掌握数据技能是职场人士所必须的技能,如果你想要提升自己,现在点击下方卡片即可参加,性价比极高!快戳卡片↓

快速回帖

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则