python内部标准库和常见第三方库大全

Python编程现在越来越受欢迎,这里面得益于python有非常多的第三方库,以及通过pip来管理库非常方便的原因。这里小编整理了一些python内部库和常用的第三方库,为大家在学习或工作中快速使用python提供方便。python官网



内部标准库
   time: 时间模块
   datetime模块: datetime模块是对time模块的一个高级封装(time包基于C语言的库函数)
   random模块: Python中的random模块用于生成随机数
   re: 正则模块
   sys模块: sys模块提供了一系列有关Python运行环境的变量和函数
   os模块: os模块包含普遍的操作系统功能,如文件操作、目录等,与具体的平台无关
   subprocess: 子进程管理模块,常用call()、run()、Popen()等方法。官方文档
   shutil: 对文件(夹)、压缩包进行处理的模块(移动/复制/打包/解压/修改权限)。
   hashlib/hmac/uuid: 消息摘要/加密/全局唯一标识符
   pickle: 序列化处理模块,常用dump()、load()方法。
   configparser: ini配置文件解析模块。
   itertools: 一个创建快速、高效迭代器的模块。
   logging: 内置模块,日志相关。
   optparse: 命令行解析模块。
   docopt: 命令行解析模块。
   json: json文件处理模块。
   csv: CSV文件处理模块。
   xml.etree.ElementTree: 内置模块,解析xml等文件。
   tempfile: 内置模块,临时文件操作
   timeit: 测量小代码片段的执行时间。

1、网络相关
HTTP

    aiohttp:基于 asyncio 的异步 HTTP 库
    requests:最为流行的 HTTP 请求库
    grequests:requests 库 + gevent 实现异步 HTTP 请求
    httplib2:HTTP 客户端库
    treq:类似 requests 的 HTTP 客户端
    urllib3:一个具有线程安全的 HTTP 库
    
WebSocket

    AutobahnPython:WebSocket & WAMP 工具
    Crossbar:开源统一应用路由
    django-socketio:给 Django 用的 WebSockets 工具
    WebSocket-for-Python:WebSocket 客户端和服务器库
    
下载

    s3cmd:用来管理 Amazon S3 和 CloudFront 的命令行工具
    s4cmd:S3 命令行工具
    you-get:YouTube/Youku/Niconico 视频下载器
    youtube-dl:用来下载 YouTube 视频的工具
    Coursera:可以从 http://coursera.org 下载视频
    subliminal:搜索和下载字幕的库

网络可视化

    Mininet:一款流行的网络模拟器
    POX:一个针对基于 Python 的软件定义网络应用
    Pyretic:为网络交换机和模拟器提供强大的抽象能力
    SDX Platform:基于 SDN 的 IXP 实现
    NRU:一个基于组件的软件定义网络框架

URL 处理

    furl:更加简单的处理 URL 库
    purl:一个简单的、不可变的 URL 类
    pyshorteners:一个纯 Python URL 缩短库
    shorturl:生成短小 URL 的库

网络爬虫

    Scrapy:一个快速高级的网络采集框架
    cola:一个分布式爬虫框架
    Demiurge:基于 PyQuery 的爬虫框架
    feedparser:feed 解析器
    Grab:站点爬取框架
    MechanicalSoup:用于自动和网络站点交互的库
    portia:Scrapy 可视化爬虫
    pyspider:一个强大的爬虫工具
    RoboBrowser:一个简单的网站浏览工具

网页内容提取

    Haul:一个可扩展的图像爬取工具
    html2text:将 HTML 转换为 Markdown 格式
    lassie:网页内容检索库
    micawber:网页内容提取库,用来从 URLs 提取富内容
    newspaper:进行新闻提取,文章提取以及内容策展
    opengraph:用来解析开放内容协议的模块
    python-goose:HTML 内容/文章提取器
    python-readability:readability 工具的 Python 接口
    sanitize:杂乱数据调整
    sumy:为文本文件和 HTML 页面进行自动摘要的模块
    textract:从任何格式的文档中提取文本
    mechanize:网页浏览工具

RPC

    SimpleJSONRPCServer:是 JSON-RPC 规范的一个实现
    SimpleXMLRPCServer:简单的 XML-RPC 服务器实现
    zeroRPC:是一个的 RPC 实现



2、图像处理
图像处理

    pillow:是一个更加易用的图片操作库
    hmap:图像直方图映射
    imgSeek:使用视觉相似性搜索一组图片集合工具
    nude.py:裸体检测
    pyBarcode:在 Python 程序中生成条形码
    pygram:类似 Instagram 的图像滤镜
    python-qrcode:一个二维码生成器
    Quads:基于四叉树的计算机艺术
    scikit-image:一个用于图像处理的库
    thumbor:一个小型图像服务
    wand:MagickWand的 Python 版本
    face_recognition:简单易用的人脸识别库

OCR

    pyocr:Tesseract 和 Cuneiform 的一个封装
    pytesseract:Google Tesseract OCR 的另一个封装
    python-tesseract:Google Tesseract OCR 的一个包装类

3、数据处理
特殊文本处理

    pyexcel:一个提供统一 API,用来操作 Excel 文件的库
    tablib:用来处理表格数据
    Marmir:把 Python 数据结构转换为电子表单
    openpyxl:用来读写 Excel 文件的库
    python-docx:操作 Word 文件
    relatorio:模板化 OpenDocument 文件
    unoconv:转换 LibreOffice/OpenOffice 文件格式
    XlsxWriter:用于创建 Excel.xlsx 文件
    xlwings:一个在 Excel 中调用 Python 的库
    xlwt/xlrd:读写 Excel 文件的数据
    PDFMiner:一个用于从 PDF 文档中抽取信息的库
    PyPDF2:一个可以进行多种操作 PDF 页面的库
    ReportLab:可以创建富文本 PDF 文档
    Mistune:Markdown 解析器
    Python-Markdown:有一个 Markdown 解析器
    Python-Markdown2:纯 Python 实现的 Markdown 解析器,比 Python-Markdown 更快,更准确,可扩展
    PyYAML:YAML 解析器
    csvkit:操作 CSV 的工具
    unp:一个用来解包归档文件的命令行工具

HTML/XML 解析

    BeautifulSoup:解析 HTML 或 XML 格式数据
    bleach:基于白名单的 HTML 清理和文本链接库
    cssutils:CSS 库
    html5lib:HTML 文档和片段解析及序列化库
    lxml:一个用来处理 HTML 和 XML 的库
    MarkupSafe:XML/HTML/XHTML 标记安全字符串
    pyquery:一个解析 HTML 的库,类似 jQuery
    requests-html:人性化的 HTML 解析库
    untangle:将 XML 文档转换为 Python 对象
    xhtml2pdf:HTML/CSS 转 PDF 工具
    xmltodict:像处理 JSON 一样处理 XML
    htmlparser,官方版解析 HTML DOM 树
    
    
文本处理

    chardet:字符编码检测器,该库可以检测文本、网页、xml等多种文件格式的编码
    difflib:文本差异比较
    ftfy:使程序更加完美的支持 Unicode 编码
    fuzzywuzzy:可以进行字符串的模糊匹配
    Levenshtein:计算各种距离以及字符串相似度
    pangu.py:调整中日韩文字当中的字母、数字间距
    pypinyin:汉字拼音转换工具
    shortuuid:用来生成 UUID
    simplejson:JSON 编码、解码器
    unidecode:Unicode 格式操作
    uniout:打印字符,不进行转义
    xpinyin:把汉字转换为拼音
    yfiglet-figlet:pyfiglet -figlet 的 Python 实现
    flashtext: 用于文本查找替换
    esmre:加速正则表达式
    awesome slugify:用于处理 Unicode
    python-slugify:把 unicode 转化为 ASCII
    unicode-slugify:可以生成 unicode slugs,依赖与 Django
    phonenumbers:用于解析、格式化、储存和验证电话号码
    PLY:lex 和 yacc 解析工具
    Pygments:语法高亮工具
    pyparsing:可以生成通用解析器
    python-nameparser:把人名分解为几个独立的部分
    python-user-agents:浏览器 user agent 解析器
    sqlparse:SQL 解析器



文件处理

    aiofiles:基于 asyncio 的文件异步操作库
    imghdr:检测图片类型
    mimetypes:将文件名映射为 MIME 类型
    path.py:更方便的路径操作的模块
    pathlib:跨平台的、面向对象的路径操作库
    python-magic:文件类型检测
    Unipath:用面向对象的方式操作文件和目录
    pickle/cPickle:实现了基本的数据序列和反序列化
    watchdog:管理文件系统事件的工具

配置文件处理

    ConfigParser:ini 文件解析器
    configobj:ini 文件解析器
    profig:多格式配置转换工具
    config:分级配置模块
    python-decouple:将设置和代码完全隔离

文档相关

    Sphinx:文档生成器
    mkdocs:Markdown 格式文档生成器
    pycco:简单快速、编程风格的文档生成器
    pdoc:从源码注释中生成各种格式文档的工具
    readthedocs:一个基于 Sphinx/MkDocs 的在线文档托管系统

日志管理

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

日期和时间

    arrow:非常好的日期时间操作类库
    Chronyk:用于解析手写格式的时间和日期
    dateutil:datetime 模块的扩展
    delorean:解决 Python 中有关日期处理问题的库
    maya:人性化的时间处理库
    moment:用来处理时间和日期的 Python 库
    pendulum:一个比 arrow 更具有明确的、可预测行为的时间操作库
    PyTime:用于通过字符串来操作日期/时间
    pytz:现代以及历史版本的世界时区定义
    when.py:进行常用的日期和时间操作

4、Web 框架
全栈框架

    Django:Python 界最流行的 web 框架
    Flask:一个微型 Web 框架
    pyramid:一个小巧快速的开源 Web 框架
    Bottle:一个快速小巧,轻量级的 WSGI 微型 Web 框架
    CherryPy:一个极简 的Web 框架
    TurboGears:一个可以扩展为全栈解决方案的微型框架
    web.py:一个简单,又强大 Web 框架
    web2py:一个全栈 Web 框架
    Tornado:一个 Web 框架和异步网络库
    sanic:异步网络框架
    Karrigell:简单的 Web 框架
    PyDBLitewebpy:一个小巧灵活的 Web 框架
    Quixote:一个 Web 开发框架
    Grok:基于 Zope3 的 Web 框架
    Bluebream:开源的 Web 应用服务器
    guava:轻量级高性能的 Web 框架

CMS

    odoo-cms: 开源的企业级 CMS
    django-cms:开源的企业级 CMS
    djedi-cms:轻量级但却非常强大的 Django CMS
    FeinCMS:基于 Django 构建的先进的内容管理系统
    Kotti:一个高级的 web 应用框架
    Mezzanine:一个强大的灵活的内容管理平台
    Opps:一个为杂志报纸网站设计的 CMS 平台
    Plone:一个构建于开源应用服务器 Zope 之上的 CMS
    Quokka:灵活可扩展的小型 CMS
    Wagtail:一个 Django 内容管理系统
    Widgy:最新的 CMS 框架,基于 Django

Web 权限/安全

    Carteblanche:代码对齐模块,很好地处理了代码导航及权限
    django-guardian:单个对象权限
    django-rules:一个小巧但是强大的应用,提供对象级别的权限管理
    Flask-OAuthlib:Flask的OAuth工具包
    django-oauth-toolkit:为 Django 用户准备的 OAuth2
    django-allauth:Django 的验证模块
    Authomatic:简单但是强大的框架,身份验证/授权客户端

商务框架

    django-oscar:一个用于 Django 的电子商务框架
    django-shop:基于 Django 的店铺系统
    Cartridge:基于 Mezzanine 构建的购物车应用
    shoop:基于 Django 的电子商务平台
    alipay:支付宝 API
    merchant:可以接收来自多种支付平台支付的 Django 应用
    money:货币类库
    python-currencies:显示货币格式以及它的数值

Restful API

    django-rest-framework:一个基于 Django 的工具,用来构建 Web API
    django-tastypie:为 Django 应用开发 API 工具
    django-formapi:Django 的表单验证工具
    flask-api:为 flask 开发的 API 工具
    flask-restful:为 flask 快速创建 REST APIs 的工具
    flask-restless:为 SQLAlchemy 数据库模型而开发的 RESTful APIs
    flask-api-utils:为 Flask 处理 API 表示和验证
    eve:由 Flask, MongoDB 等驱动 的 REST API 框架
    cornice:一个 Pyramid 的 REST 框架
    falcon:用来建立云 API 和 Web app 后端的高性能框架
    sandman:为数据库驱动系统自动创建 REST APIs
    restless:框架无关的 REST 框架
    ripozo:快速创建 REST APIs 工具

模板引擎

    Jinja2:一个现代的友好的模板引擎
    Chameleon:一个 HTML/XML 模板引擎
    Genshi:用以生成 Web 感知的结果
    Mako:超高速轻量级模板

队列

    celery:一个异步任务队列/作业队列
    huey:小型多线程任务队列
    mrq:分布式 worker 任务队列,使用 Redis 和 gevent
    rq:简单的作业队列工具
    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:用来编译和压缩资源
    webassets:为静态资源打包、优化和管理,生成独一无二的缓存 URL

缓存

    Beaker:缓存会话的库
    django-cache-machine:自动缓存和失效工具
    django-cacheops:具有自动颗粒化事件驱动失效功能的 ORM
    django-viewlet:渲染模板和额外的缓存控制功能
    dogpile.cache:是 Beaker 的下一代替代品
    HermesCache:缓存库,具有基于标签的失效和 dogpile effect 保护功能
    johnny-cache:django 应用缓存框架
    pylibmc:libmemcached 接口封装

表单

    Deform:HTML 表单生成库
    django-bootstrap3:集成了 Bootstrap3 的 Django
    django-crispy-forms:可以以一种非常优雅且 DRY(Don't repeat yourself) 的方式来创建美观的表单
    django-remote-forms:一个平台独立的 Django 表单序列化工具
    WTForms:一个灵活的表单验证和呈现库
    WTForms-JSON:WTForms 扩展,用来处理 JSON 数据

数据验证

    Cerberus:映射验证器
    colander:用于对从 XML, JSON,HTML 表单获取数据并序列化数据进行验证和反序列化的系统
    kmatch:一种用于匹配/验证/筛选字典的工具
    schema:用于对 Python 数据结构进行验证的库
    Schematics:用于数据结构验证
    valideer:轻量级数据验证和适配库
    voluptuous:数据验证库,主要是为了验证传入 Python 的 JSON,YAML 等数据

电子邮件

    django-celery-ses:带有 AWS SES 和 Celery 的 email 后端
    envelopes:人性化的电子邮件库
    flanker:一个 email 地址和 Mime 解析库
    imbox:IMAP 库
    inbox.py:SMTP 服务器
    inbox:开源电子邮件工具箱
    lamson:Python 风格的 SMTP 应用服务器
    mailjet:提供批量发送邮件,统计等功能
    marrow.mailer:高性能可扩展邮件分发框架
    modoboa:邮件托管和管理平台
    pyzmail:创建、发送和解析电子邮件
    Talon:用来抽取信息和签名
    django-simple-captcha:一个简单、高度可定制的 Django 应用
    django-simple-spam-blocker:一个用于 Django 的简单的电子垃圾屏蔽工具

URL

    webargs:解析 HTTP 请求参数的库
    short_url:短网址生成

国际化

    Babel:一个 Python 的国际化库
    Korean:一个韩语词态库

管理面板

    Ajenti:一个值得拥有的管理面板
    django-suit:Django 管理界面的一个替代品
    django-xadmin:Django admin 的一个替代品
    flask-admin:一个用于 Flask 的简单可扩展的管理界面框架
    flower:一个对 Celery 集群进行实时监控和提供 Web 管理界面的工具
    Grappelli:Django 管理界面的一个漂亮的皮肤
    Wooey:可以为 Python 脚本创建 Web 用户界面

静态站点生成

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

WSGI 服务器

    gunicorn:部分是由 C 语言编写而成的 WSGI 工具
    uwsgi:用来建立托管服务
    bjoern:异步速度非常快
    fapws3:异步,由 C 语言编写
    meinheld:异步服务器
    netius:异步,非常快速
    paste:多线程,稳定,久经考验
    rocket:多线程
    waitress:多线程
    Werkzeug:一个 WSGI 工具库

ORM

    Django Models:Django 的重要组成
    SQLAlchemy:SQL 工具以及对象关系映射工具
    Peewee:一个小巧的 ORM
    PonyORM:提供面向生成器的 SQL ORM
    python-sql:Python 风格的 SQL 查询
    django-mongodb-engine:Django MongoDB 后端
    PynamoDB:Amazon DynamoDB 的后端
    flywheel:Amazon DynamoDB 的对象映射工具
    MongoEngine:用于 MongoDB 对象文档映射工具
    hot-redis:为 Redis 提供的后端
    redisco:提供可以持续存在在 Redis 中的简单模型和容器
    butterdb:Google Drive 电子表格的 Python ORM

5、地理位置

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

6、系统
进程

    envoy:比 subprocess 模块更人性化的模块
    sarge:另一 种 subprocess 模块的封装
    sh: subprocess 替代库
    subprocess:调用 shell 命令的神器

并发/并行

    multiprocessing:基于进程的“线程”接口
    threading:更高层的线程接口
    eventlet:支持 WSGI 的异步框架
    gevent:基于协程的 Python 网络库
    Tomorrow:用于产生异步代码的库
    uvloop:在 libuv 之上超快速实现 asyncio 事件循环的库

7、数据库相关
Python 实现的数据库

    pickleDB:简单轻量级键值储存数据库
    PipelineDB:流式 SQL 数据库
    TinyDB:微型的面向文档型数据库
    ZODB:键值和对象图数据库

数据库驱动

    aiomysql:基于 asyncio 的异步 MySQL 数据库操作库
    mysql-python:MySQL 数据库连接器
    mysqlclient:mysql-python 分支
    oursql:一个更好的 MySQL 连接器
    PyMySQL:纯 Python MySQL 驱动
    psycopg2:最流行的 PostgreSQL 适配器
    queries:psycopg2 库的封装
    txpostgres:基于 Twisted 的异步 PostgreSQL 驱动
    apsw:SQLite 封装
    dataset:在数据库中存储 Python 字典
    pymssql:一个简单的 Microsoft SQL Server 数据库接口
    cassandra-python-driver:Cassandra 的 Python 驱动
    HappyBase:为 Apache HBase 设计的库
    Plyvel:一个快速且功能丰富的 LevelDB 的接口库
    py2neo:Neo4j restful 接口的封装客户端
    pycassa:Cassandra 的 Python Thrift 驱动
    PyMongo:MongoDB 的官方 Python 客户端
    redis-py:Redis 的 Python 客户端
    telephus:基于 Twisted 的 Cassandra 客户端
    txRedis:基于 Twisted 的 Redis 客户端

8、安全
OAuth

    OAuthLib:一个 OAuth 请求-签名库
    python-oauth2:完全测试的抽象接口
    python-social-auth:设置简单的社会化验证方式
    rauth:OAuth 1.0/a, 2.0, 和 Ofly 的 Python 库
    sanction:超级简单的 OAuth2 客户端实现

密码

    cryptography:提供密码学基本内容和方法
    hashids:在 Python 中实现 hashids
    Paramiko:提供 ssh 客户端和服务端的功能
    Passlib:安全密码存储/哈希库
    PyCrypto:密码学工具箱
    PyNacl:网络和密码学库

其他

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

9、人工智能
自然语言处理

    NLTK:先进的用以构建处理人类语言数据的程序
    jieba:中文分词工具
    langid.py:独立的语言识别系统
    SnowNLP:用来处理中文文本的库
    TextBlob:自然语言处理工具
    TextGrocery:简单高效的短文本分类工具
    thulac:清华大学自然语言处理与社会人文计算实验室研制推出的一套中文词法分析工具包
    loso:中文分词函数库

计算机视觉

    OpenCV:开源计算机视觉库
    pyocr:Tesseract 和 Cuneiform 的封装库
    pytesseract:Google Tesseract OCR 的封装库
    SimpleCV:用来创建计算机视觉应用的开源框架

机器学习/深度学习

    Caffe: Caffe 的 Python 接口
    Caffe2:一个轻量级的、模块化的,可扩展的深度学习框架
    Crab:灵活、快速的推荐引擎
    gensim:人性化的话题建模库
    hebel:深度学习库
    keras: 神经网络
    MXNet:高效灵活的深度学习框架
    NuPIC:智能计算 Numenta 平台
    pattern:网络挖掘模块
    PyBrain:机器学习库
    pydeep:深度学习库
    Pylearn2:基于 Theano 的机器学习库
    python-recsys:用来实现推荐系统的库
    Pytorch:具有张量和动态神经网络深度学习框架
    scikit-learn:基于 SciPy 构建的机器学习模块
    skflow:一个 TensorFlow 的简化接口
    TensorFlow:谷歌开源的最受欢迎的深度学习框架
    Theano:快速数值计算库
    vowpalporpoise:轻量级 Vowpal Wabbit 的封装
    Milk:机器学习工具箱
    PyMVPA(Multivariate Pattern Analysis in Python):为大数据集提供统计学习分析的 Python 工具包,它提供了一个灵活可扩展的框架

10、科学计算与数据分析
数据处理

    astropy:天文学相关的库
    bcbio-nextgen:为全自动高通量测序分析提供符合最佳实践的处理流程
    bccb:生物分析
    Biopython:是一组可以免费使用的用来进行生物计算的工具
    blaze:NumPy 和 Pandas 的大数据接口
    cclib:用来解析和解释计算化学软件包输出结果的库
    NetworkX:为复杂网络设计的高性能工具
    Neupy:执行和测试各种不同的人工神经网络算法
    Numba:针对数据科学用的 Python
    NumPy:进行科学计算的基础包
    Open Babel:用来描述多种化学数据
    Open Mining:使用 Python 挖掘商业情报
    orange:进行数据挖掘,数据可视化,分析和机器学习
    Pandas:数据结构和数据分析工具
    PyDy:用来为动力学运动建模工作流程提供帮助
    PyMC:马尔科夫链蒙特卡洛采样工具
    RDKit:化学信息学和机器学习软件
    SciPy:用于数学,科学和工程的开源软件
    statsmodels:统计建模和计量经济学
    SymPy:用于符号数学的库
    zipline:算法交易库
    Bayesian-belief-networks:优雅的贝叶斯信念网络框架
    ScientificPython:用于科学计算
    visvis:可视化计算模块库

数据可视化

    matplotlib:最流行的 Python 绘图库
    bokeh:进行交互式 Web 绘图
    ggplot:ggplot2 的 Python 版本
    plotly:基于 matplotlib 工作的 Web 绘图库
    pyecharts:基于百度 Echarts 的数据可视化库
    pygal:SVG 图表创建工具
    pygraphviz:Graphviz 的 Python 实现
    PyQtGraph:交互式实时图像绘制组件
    SnakeViz:基于浏览器的模块输出结果查看工具
    vincent:把 Python 转换为 Vega 语法的转换工具
    VisPy:基于 OpenGL 的高性能科学可视化工具

11、GUI 与游戏开发
GUI

    Tkinter:这个是python安装就自带的GUI标准库,能开发桌面界面窗口程序,单功能简单。
    PyQt:跨平台用户界面框架,功能比较丰富。
    wxPython:是 wxWidgets C++ 类库和 Python 语言混合的产物
    curses:内建的 ncurses 封装,用来创建终端图形用户界面
    enaml:创建美观的用户界面
    kivy:用来创建用户交互应用程序的库
    pyglet:跨平台窗口及多媒体库
    PySide:跨平台用户界面框架 Qt
    Toga:操作系统原生的 GUI 工具包
    urwid:用来创建终端 GUI 应用的库
    PyGObject:GLib/GObject/GIO/GTK+ (GTK+3) 的 Python 实现
    Flexx:创建 GUI 程序的工具集,它使用 web 技术进行界面的展示
    PyGtk:GUI 程序开发库
    turtle:Python 的画图工具

游戏开发

    Cocos2d:用来开发 2D 游戏的工具
    Panda3D:3D 游戏引擎
    Pygame:最为流行的编写游戏的模块
    PyOgre:用来开发游戏和仿真程序
    PyOpenGL:OpenGL 的 Python 绑定及其相关 APIs
    PySDL2:SDL2 库的封装
    RenPy:一个视觉小说引擎
    PySFML:视觉小说引擎

12、音视频
音频

    audiolazy:数字信号处理包
    audioread:交叉库音频解码
    beets:音乐库管理工具
    dejavu:音频指纹提取和识别
    django-elastic-transcoder:Django + Amazon Elastic Transcoder
    eyeD3:用来操作音频文件的工具
    id3reader:用来读取 MP3 元数据
    m3u8:用来解析 m3u8 文件的模块
    mutagen:用来处理音频元数据
    pydub:操作音频文件
    pyechonest:Echo Nest API 的 Python 客户端
    talkbox:用来处理演讲/信号
    TimeSide:开源的 Web 音频处理框架
    tinytag:用来读取 MP3, OGG, FLAC 以及 Wave 文件音乐元数据的库
    mingus:高级音乐理论和曲谱包

视频

    moviepy:用来进行基于脚本的视频编辑模块
    scikit-video:SciPy 视频处理常用程序
    http://shorten.tv:视频摘要

13、测试相关
测试框架

    unittest:单元测试框架
    nose:扩展了 unittest 的功能
    contexts:BDD 框架
    hypothesis:基于先进的 Quickcheck 风格特性的测试库
    mamba:Python 的终极测试工具
    PyAutoGUI:PyAutoGUI 是一个人性化的跨平台 GUI 自动测试模块
    pyshould:基于 PyHamcrest 的测试模块
    pytest:成熟的全功能测试工具
    green:干净多彩的测试工具
    pyvows:BDD 风格的测试工具
    Robot Framework:通用的自动化测试框架

Web 测试

    Selenium:Selenium WebDriver 的 Python 实现
    locust:可扩展的用户压力测试工具
    sixpack:和语言无关的 A/B 测试框架
    splinter:开源的 Web 应用测试工具

Mock 测试

    mock:用于伪造测试数据的库
    doublex:功能强大的 doubles 测试框架
    freezegun:日期伪造模块
    httmock:伪造请求的库
    httpretty:HTTP 请求 mock 工具
    responses:伪造 requests 请求的库
    VCR.py:在测试中记录和重放 HTTP 交互

对象工厂

    factoryboy:测试固件替代库
    mixer:另外一个测试固件替代库
    modelmommy:为 Django 测试创建随机固件

代码覆盖率

    coverage:代码覆盖率测量
    Codecov:代码覆盖率测试工具

伪数据

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

14、代码工具
代码分析

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

Lint 工具

    Flake8:模块化源码检查工具
    Pylint:完全可定制的源码分析器
    YAPF: Google 的 Python 代码格式化工具
    pylama:Python 和 JavaScript 的代码审查工具

代码格式化

    autopep8:自动格式化 Python 代码,以使其符合 PEP8 规范
    black:一个坚定的 Python 代码格式化工具

调试器

    ipdb:在 IPython 中启用的 pdb
    pudb:基于控制台的 Python 调试器
    pyringe:可以在进程中附加和注入代码的调试器
    wdb:通过 WebSockets 工作的 Web 调试器
    winpdb:具有图形用户界面的 Python 调试器
    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 提供日志功能
    logbook:Logging 库的替代品
    Eliot:为复杂的和分布式系统创建日志
    Raven:Sentry 的 Python 实现
    Sentry:实时记录和收集日志的服务器

持续集成

    Travis CI:一个流行的持续集成工具
    CircleCI:一个持续集成工具
    Vexor CI:为私人 app 提供持续集成的工具
    Wercker:基于 Docker 平台,用来构建和部署微服务

代码质量

    Codacy:自动化代码审查
    QuantifiedCode:一个数据驱动、自动、持续的代码审查工具

15、DevOps

    Ansible:非常简单的 IT 自动化平台
    SaltStack:基础设施自动化和管理系统
    OpenStack:用于构建私有和公有云的开源软件
    Docker Compose:基于 Docker 的快速分离开发环境
    Fabric:简单的进行远程执行和部署的工具
    cuisine:为 Fabric 提供一系列高级函数
    Fabtools:用来编写 Fabric 文件的工具
    gitapi:Git 的纯 Python API
    hgapi:Mercurial 的纯 Python API
    honcho:用来管理基于 Procfile 的应用
    pexpect:在一个伪终端中控制交互程序
    psutil:跨平台进程和系统工具模块
    supervisor:UNIX 的进程控制系统

16、任务调度

    APScheduler:轻巧但强大的进程内任务调度工具
    django-schedule:一个 Django 排程应用
    doit:任务执行和构建工具
    gunnery:分布式系统使用的多用途任务执行工具
    Joblib:提供轻量级作业流水线的工具
    Plan:更好的编写 crontab 文件的工具
    schedule:人性化的 Python 任务调度库
    Spiff:使用纯 Python 实现的工作流引擎
    TaskFlow:可以方便执行任务的库
    AirFlow:是一个工作流分配管理系统

17、高性能

    Cython:优化的 Python 静态编译器
    PeachPy:嵌入 Python 的 x86-64 汇编器
    PyPy:使用 Python 实现的 Python 解释器
    Pyston:使用 LLVM 和现代 JIT 技术构建的 Python 实现
    Stackless Python:一个强化版的 Python

18、Windows 环境

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

19、硬件相关

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

20、环境与包管理
环境管理

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

包管理

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

包仓库

    warehouse:下一代 PyPI
    bandersnatch:PyPA 提供的 PyPI 镜像工具
    devpi:PyPI 服务和打包/测试/分发工具
    localshop:本地 PyPI 服务
    PyPI:新一代的 Python 包库管理工具

21、分发与构建
软件分发

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

构建

    buildout:一个构建系统
    BitBake:针对嵌入式 Linux 的构建工具
    fabricate:自动找到依赖关系的构建工具
    PlatformIO:多平台命令行构建工具
    PyBuilder:纯 Python 实现的持续化构建工具
    SCons:软件构建工具

交互式解释器

    IPython:功能丰富的工具
    bpython:界面丰富的 Python 解析器
    ptpython:高级交互式 Python 解析器

22、命令行相关
命令行工具

    asciimatics:跨平台、全屏终端库
    cement:Python 的命令行程序框架
    click:通过组合的方式来创建精美命令行界面的包
    cliff:用于创建命令行程序的框架
    clint:Python 命令行程序工具
    colorama:跨平台彩色终端文本
    docopt:Python 风格的命令行参数解析器
    Gooey:将命令行程序变成一个 GUI 程序
    python-prompt-toolkit:用于构建强大的交互式命令行程序的库
    python-fire:Google 出品的一个构建命令行界面的库
    Pythonpy:在命令行中直接执行任何 Python 指令
    Clime:可以转换任何模块为多的 CLI 命令程序
    docopt:Python 命令行参数分析器
    pycli:命令行应用程序
    rainbowstream:推特客户终端
    argparse:写命令行脚本工具
    pyHook:基于 Python 的“钩子”库
    pstuil:跨平台地方便获取和控制系统的进程库

命令行高级工具

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

23、第三方
API

    apache-libcloud:为各种云设计的 Python 库
    boto:Amazon Web Services 的 Python 接口
    django-wordpress:WordPress 与 Django 的结合
    facebook-sdk:Facebook 平台的 Python SDK
    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:另一个用来调用 C 代码的外来函数接口
    PyCUDA:Nvidia CUDA API 的封装
    SWIG:简化的封装和接口生成器


24、自动化运维
    Ansible:基于Python的自动化运维工具,可以对多台远程服务器进行配置管理、应用部署等操作。
    Fabric:用于远程执行命令和脚本的库,可通过SSH管理远程服务器。
    SaltStack:用于配置管理、远程执行命令和监控的自动化运维工具。
    Paramiko:一个用于SSH连接和执行命令的库,适用于编写自定义的远程操作脚本。
    Invoke:简化命令行任务和构建脚本的库,可用于自动化运维任务。
    Fabric2:类似于Fabric的库,用于简化远程命令和脚本的执行。

25、其他
函数式编程

    CyToolz:Toolz 的 Cython 实现
    fn.py:在 Python 中进行函数式编程
    funcy:炫酷又实用的函数式工具
    Toolz:一组用于迭代器,函数和字典的函数式编程工具
    
MapReduce

    dpark:Spark 的 Python 版
    dumbo:可以让人轻松的编写和运行 Hadoop 程序
    luigi:构建批处理作业的复杂流水线
    mrjob:在 Hadoop 或 Amazon Web Services 上运行 MapReduce 任务
    PySpark:Spark 的 Python API
    streamparse:运行针对事实数据流的 Python 代码

编辑器插件

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

金融数据

    Tushare:可以提供免费股票、基金、期货、港股等金融数据的开源工具
    Ta-Lib:金融数据技术分析库
    AkSHare:一个非常棒的免费金融数据平台

算法和设计模式

    algorithms:一个 Python 算法模块
    python-patterns:Python 设计模式的集合
    sortedcontainers:SortedList,SortedDict 和 SortedSet 类型
    
自动聊天工具

    Errbot:简单且流行的聊天机器人工具
    
兼容性

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

更多库

    blinker:一个快速的 Python 进程内信号/事件分发系统
    Pychievements:一个用来创建和追踪成就的 Python 框架
    itsdangerous:一系列辅助工具,用来将可信的数据传入不可信的环境
    Tryton:一个通用商务框架
    PyAutoCAD;能简单自动操作CAD的库
    pluginbase:一个简单但是灵活的 Python 插件系统
    ffmpeg-python:一个能调用ffmpeg的库
    moviepy:处理视频
    pydub:主要处理音频

以上python库的整理只是当前的部分,后期随着学习工作的深入会更新上面的库列表。并根据自己的使用情况更加详细的介绍上面各种库的优缺点等信息。
本列表页面会根据python的使用逐步更新和完善介绍信息,敬请期待...

本文由作者自行上传发布,文章仅代表作者个人观点。如需转载,务必声明出处和网址,否则保留相关权利。

网友评论 comments

发表评论

电子邮件地址不会被公开。必填项已用 *标注

暂无评论

牛人技术博客 | About US | 湘ICP备13000282号-8 |
Copyright © 2009 - 2023 NRJS Corporation, All Rights Reserved
添加图标到手机桌面
扫二维码
扫二维码
返回顶部