Python各类常用库整理

2023-05-16

一、20个必不可少的Python库也是基本的第三方库

  1. Requests.Kenneth Reitz写的最富盛名的http库。每个Python程序员都应该有它。
  2. Scrapy.如果你从事爬虫相关的工作,那么这个库也是必不可少的。用过它之后你就不会再想用别的同类库了。
  3. wxPython.Python的一个GUI(图形用户界面)工具。我主要用它替代tkinter。你一定会爱上它的。
  4. Pillow.它是PIL(Python图形库)的一个友好分支。对于用户比PIL更加友好,对于任何在图形领域工作的人是必备的库。
  5. SQLAlchemy.一个数据库的库。对它的评价褒贬参半。是否使用的决定权在你手里。
  6. BeautifulSoup.我知道它很慢,但这个xml和html的解析库对于新手非常有用。
  7. Twisted.对于网络应用开发者最重要的工具。它有非常优美的api,被很多Python开发大牛使用。
  8. NumPy.我们怎么能缺少这么重要的库?它为Python提供了很多高级的数学方法。
  9. SciPy.既然我们提了NumPy,那就不得不提一下SciPy。这是一个Python的算法和数学工具库,它的功能把很多科学家从Ruby吸引到了Python。
  10. matplotlib.一个绘制数据图的库。对于数据科学家或分析师非常有用。
  11. Pygame.哪个程序员不喜欢玩游戏和写游戏?这个库会让你在开发2D游戏的时候如虎添翼。
  12. Pyglet.3D动画和游戏开发引擎。非常有名的Python版本Minecraft就是用这个引擎做的。
  13. pyQT.Python的GUI工具。这是我在给Python脚本开发用户界面时次于wxPython的选择。
  14. pyGtk.也是Python GUI库。很有名的Bittorrent客户端就是用它做的。
  15. Scapy.用Python写的数据包探测和分析库。
  16. pywin32.一个提供和windows交互的方法和类的Python库。
  17. nltk.自然语言工具包。我知道大多数人不会用它,但它通用性非常高。如果你需要处理字符串的话,它是非常好的库。但它的功能远远不止如此,自己摸索一下吧。
  18. nose.Python的测试框架。被成千上万的Python程序员使用。如果你做测试导向的开发,那么它是必不可少的。
  19. SymPy.SymPy可以做代数评测、差异化、扩展、复数等等。它封装在一个纯Python发行版本里。
  20. IPython.怎么称赞这个工具的功能都不为过。它把Python的提示信息做到了极致。包括完成信息、历史信息、shell功能,以及其他很多很多方面。一定要研究一下它。

二、Python系统运维常用库

  1. psutil是一个跨平台库(http://code.google.com/p/psutil/) 能够实现获取系统运行的进程和系统利用率(内存,CPU,磁盘,网络等),主要用于系统监控,分析和系统资源及进程的管理。
  2. IPy(http://github.com/haypo/python-ipy),辅助IP规划。
  3. dnspython(http://dnspython.org)Python实现的一个DNS工具包。
  4. difflib:difflib作为Python的标准模块,无需安装,作用是对比文本之间的差异。
  5. filecmp:系统自带,可以实现文件,目录,遍历子目录的差异,对比功能。
  6. smtplib:发送电子邮件模块
  7. pycurl(http://pycurl.sourceforge.net) 是一个用C语言写的libcurl Python实现,功能强大,支持的协议有:FTP,HTTP,HTTPS,TELNET等,可以理解为Linux下curl命令功能的Python封装。
  8. XlsxWriter:操作Excel工作表的文字,数字,公式,图表等。
  9. rrdtool:用于跟踪对象的变化,生成这些变化的走走势图
  10. scapy(http://www.wecdev.org/projects/scapy/) 是一个强大的交互式数据包处理程序,它能够对数据包进行伪造或解包,包括发送数据包,包嗅探,应答和反馈等功能。
  11. Clam Antivirus免费开放源代码防毒软件,pyClamad,可以让Python模块直接使用ClamAV病毒扫描守护进程calmd。
  12. pexpect:可以理解成Linux下expect的Python封装,通过pexpect我们可以实现对ssh,ftp,passwd,telnet等命令行进行自动交互,而无需人工干涉来达到自动化的目的。
  13. paramiko是基于Python实现的SSH2远程安装连接,支持认证及密钥方式。可以实现远程命令执行,文件传输,中间SSH代理等功能。相对于Pexpect,封装的层次更高,更贴近SSH协议的功能,官网地址:http://paramiko.org (依赖:Crypto,Ecdsa,Python开发包python-devel)
  14. fabric是基于Python实现的SSH命令行工具,简化了SSH的应用程序部署及系统管理任务,它提供了系统基础的操作组件,可以实现本地或远程shell命令,包括命令执行,文件上传,下载及完整执行日志输出等功能。Fabric在paramiko的基础上做了更高一层的封装,操作起来更加简单。官网地址:http://www.fabfile.org (依赖setuptools,Crypto,paramiko包支持)
  15. CGIHTTPRequestHandler实现对CGI的支持。
  16. ansible(http://www.ansibleworks.com/)一种集成IT系统的配置管理,应用部署,执行特定任务的开源平台。基于Python实现,由Paramiko和PyYAML两个关键模块构建。Ansibl与Saltstack最大的区别是Ansible无需在被控主机上部署任何客户端,默认直接通过SSH通道进行远程命令执行或下发功能。
  17. YAML:是一种用来表达数据序列的编程语言。
  18. playbook:一个非常简单的配置管理和多主机部署系统。
  19. saltstack(http://saltstack.com)是一个服务器基础架构集中化管理平台,一般可以理解为简化版的puppet和加强版的func。Saltstack基于Python语言实现,结合轻量级消息队列ZeroMQ,与Python每三方模块(Pyzmq,PyCrypto,Pyjinja2,python-msgpack和PyYAML等)构建。
  20. func,为解决集群管理,监控问题需设计开发的系统管理基础框架。

三、Python 有哪些好的 Web 框架

  • 知乎 https://www.zhihu.com/question/20706333

四、标准库

  1. itertools http://docs.python.org/2/library/itertools.html
  2. functools http://docs.python.org/2/library/functools.html 学好python有必要掌握上面这两个库吧,
  3. re 正则
  4. subprocess http://docs.python.org/2/library/subprocess.html 调用shell命令的神器
  5. pdb 调试
  6. traceback 调试
  7. pprint 漂亮的输出
  8. logging 日志
  9. threading和multiprocessing 多线程
  10. urllib/urllib2/httplib http库,httplib底层一点,推荐第三方的库requests
  11. os/sys 系统,环境相关
  12. Queue 队列
  13. pickle/cPickle 序列化工具
  14. hashlib md5, sha等hash算法
  15. cvs
  16. json/simplejson python的json库,据so上的讨论和benchmark,simplejson的性能要高于json
  17. timeit 计算代码运行的时间等等
  18. cProfile python性能测量模块
  19. glob 类似与listfile,可以用来查找文件
  20. atexit 有一个注册函数,可用于正好在脚本退出运行前执行一些代码
  21. dis python 反汇编,当对某条语句不理解原理时,可以用dis.dis 函数来查看代码对应的python 解释器指令等等。

五、常用第三方库

  1. paramiko https://github.com/paramiko/paramiko ssh python 库
  2. selenium https://pypi.python.org/pypi/selenium 浏览器自动化测试工具selenium的python 接口
  3. lxml http://lxml.de/ python 解析html,xml 的神器
  4. mechanize https://pypi.python.org/pypi/mechanize/ Stateful programmatic web browsing
  5. pycurl https://pypi.python.org/pypi/pycurl cURL library module for Python
  6. Fabric http://docs.fabfile.org/en/1.8/ Fabric is a Python (2.5 or higher) library and command-line tool for streamlining the use of SSH for application deployment or systems administration tasks.
  7. xmltodict https://github.com/martinblech/xmltodict xml 转 dict,真心好用
  8. urllib3 和 requests: 当然其实requests就够了 Requests: HTTP for Humans
  9. flask http://flask.pocoo.org/python web 微框架
  10. ipdb 调试神器,同时推荐ipython!结合ipython使用
  11. redis redis python接口
  12. pymongo mongodbpython接口
  13. PIL http://www.pythonware.com/products/pil/ python图像处理
  14. mako http://www.makotemplates.org/ python模版引擎
  15. numpy , scipy 科学计算
  16. matplotlib 画图
  17. scrapy 爬虫
  18. django/tornado/web.py/web2py/uliweb/flask/twisted/bottle/cherrypy.等等 python web框架/服务器
  19. sh 1.08 — sh v1.08 documentation 用来运行shell 模块的 极佳选择

六、按分类

1.环境管理(管理 Python 版本和环境的工具)

  1. p – 非常简单的交互式 python 版本管理工具。
  2. pyenv – 简单的 Python 版本管理工具。
  3. Vex – 可以在虚拟环境中执行命令。
  4. virtualenv – 创建独立 Python 环境的工具。
  5. virtualenvwrapper- virtualenv 的一组扩展。

2.包管理(管理包和依赖的工具)

  1. pip – Python 包和依赖关系管理工具。
  2. pip-tools – 保证 Python 包依赖关系更新的一组工具。
  3. conda – 跨平台,Python 二进制包管理工具。
  4. Curdling – 管理 Python 包的命令行工具。
  5. wheel – Python 分发的新标准,意在取代 eggs。

3.包仓库(本地 PyPI 仓库服务和代理)

  1. warehouse – 下一代 PyPI。
  2. Warehousebandersnatch – PyPA 提供的 PyPI 镜像工具。
  3. devpi – PyPI 服务和打包/测试/分发工具。
  4. localshop – 本地 PyPI 服务(自定义包并且自动对 PyPI 镜像)。
    分发

4.打包(打包为可执行文件以便分发)

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

5.构建工具(将源码编译成软件)

  1. buildout – 一个构建系统,从多个组件来创建,组装和部署应用。
  2. BitBake – 针对嵌入式 Linux 的类似 make 的构建工具。
  3. fabricate – 对任何语言自动找到依赖关系的构建工具。
  4. PlatformIO – 多平台命令行构建工具。
  5. PyBuilder – 纯 Python 实现的持续化构建工具。
  6. SCons – 软件构建工具。

6.交互式解析器(交互式 Python 解析器)

  1. IPython – 功能丰富的工具,非常有效的使用交互式 Python。
  2. bpython- 界面丰富的 Python 解析器。
  3. ptpython – 高级交互式Python解析器, 构建于python-prompt-toolkit 之上。

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

  1. imghdr – (Python 标准库)检测图片类型。
  2. mimetypes – (Python 标准库)将文件名映射为 MIME 类型。
  3. path.py – 对 os.path 进行封装的模块。
  4. pathlib – (Python3.4+ 标准库)跨平台的、面向对象的路径操作库。
  5. python-magic- 文件类型检测的第三方库 libmagic 的 Python 接口。
  6. Unipath- 用面向对象的方式操作文件和目录
  7. watchdog – 管理文件系统事件的 API 和 shell 工具

8.日期和时间(操作日期和时间的类库)

  1. arrow- 更好的 Python 日期时间操作类库。
  2. Chronyk – Python 3 的类库,用于解析手写格式的时间和日期。
  3. dateutil – Python datetime 模块的扩展。
  4. delorean- 解决 Python 中有关日期处理的棘手问题的库。
  5. moment – 一个用来处理时间和日期的Python库。灵感来自于Moment.js。
  6. PyTime – 一个简单易用的Python模块,用于通过字符串来操作日期/时间。
  7. pytz – 现代以及历史版本的世界时区定义。将时区数据库引入Python。
  8. when.py – 提供用户友好的函数来帮助用户进行常用的日期和时间操作。

9.文本处理(用于解析和操作文本的库)

  1. chardet – 字符编码检测器,兼容 Python2 和 Python3。
  2. difflib – (Python 标准库)帮助我们进行差异化比较。
  3. ftfy – 让Unicode文本更完整更连贯。
  4. fuzzywuzzy – 模糊字符串匹配。
  5. Levenshtein – 快速计算编辑距离以及字符串的相似度。
  6. pangu.py – 在中日韩语字符和数字字母之间添加空格。
  7. pyfiglet -figlet 的 Python实现。
  8. shortuuid – 一个生成器库,用以生成简洁的,明白的,URL 安全的 UUID。
  9. unidecode – Unicode 文本的 ASCII 转换形式 。
  10. uniout – 打印可读的字符,而不是转义的字符串。
  11. xpinyin – 一个用于把汉字转换为拼音的库。

10.Slug化

  1. awesome-slugify – 一个 Python slug 化库,可以保持 Unicode。
  2. python-slugify – Python slug 化库,可以把 unicode 转化为 ASCII。
  3. unicode-slugify – 一个 slug 工具,可以生成 unicode slugs ,需要依赖 Django 。

11.解析器

  1. phonenumbers – 解析,格式化,储存,验证电话号码。
  2. PLY – lex 和 yacc 解析工具的 Python 实现。
  3. Pygments – 通用语法高亮工具。
  4. pyparsing – 生成通用解析器的框架。
  5. python-nameparser – 把一个人名分解为几个独立的部分。
  6. python-user-agents – 浏览器 user agent 解析器。
  7. sqlparse – 一个无验证的 SQL 解析器。

12.特殊文本格式处理(一些用来解析和操作特殊文本格式的库)

  1. tablib – 一个用来处理中表格数据的模块。
  2. Office
  3. Marmir – 把输入的Python 数据结构转换为电子表单。
  4. openpyxl – 一个用来读写 Excel 2010 xlsx/xlsm/xltx/xltm 文件的库。
  5. python-docx – 读取,查询以及修改 Microsoft Word 2007/2008 docx 文件。
  6. unoconv – 在 LibreOffice/OpenOffice 支持的任意文件格式之间进行转换。
  7. XlsxWriter – 一个用于创建 Excel .xlsx 文件的 Python 模块。
  8. xlwings – 一个使得在 Excel 中方便调用 Python 的库(反之亦然),基于 BSD 协议。
  9. xlwt / xlrd – 读写 Excel 文件的数据和格式信息。
  10. relatorio – 模板化OpenDocument 文件。

PDF

  1. PDFMiner – 一个用于从PDF文档中抽取信息的工具。
  2. PyPDF2 – 一个可以分割,合并和转换 PDF 页面的库。
  3. ReportLab – 快速创建富文本 PDF 文档。

Markdown

  1. Mistune – 快速并且功能齐全的纯 Python 实现的 Markdown 解析器。
  2. Python-Markdown – John Gruber’s Markdown 的 Python 版实现。

YAML

  1. PyYAML – Python 版本的 YAML 解析器。

CSV

  1. csvkit – 用于转换和操作 CSV 的工具。

Archive

  1. unp – 一个用来方便解包归档文件的命令行工具。

13.自然语言处理(用来处理人类语言的库)

  1. NLTK – 一个先进的平台,用以构建处理人类语言数据的 Python 程序。
  2. jieba – 中文分词工具。
  3. langid.py – 独立的语言识别系统。
  4. Pattern – Python 网络信息挖掘模块。
  5. SnowNLP – 一个用来处理中文文本的库。
  6. TextBlob – 为进行普通自然语言处理任务提供一致的 API。
  7. TextGrocery – 一简单高效的短文本分类工具,基于 LibLinear 和 Jieba。

14.文档(用以生成项目文档的库)

  1. Sphinx – Python 文档生成器。
  2. awesome-sphinxdoc
  3. MkDocs – 对 Markdown 友好的文档生成器。
  4. pdoc – 一个可以替换Epydoc 的库,可以自动生成 Python 库的 API 文档。
  5. Pycco – 文学编程(literate-programming)风格的文档生成器。

15.配置(用来保存和解析配置的库)

  1. config – logging 模块作者写的分级配置模块。
  2. ConfigObj – INI 文件解析器,带验证功能。
  3. ConfigParser – (Python 标准库) INI 文件解析器。
  4. profig – 通过多种格式进行配置,具有数值转换功能。
  5. python-decouple – 将设置和代码完全隔离。

16.命令行工具(用于创建命令行程序的库)

命令行程序开发

  1. cement – Python 的命令行程序框架。
  2. click – 一个通过组合的方式来创建精美命令行界面的包。
  3. cliff – 一个用于创建命令行程序的框架,可以创建具有多层命令的命令行程序。
  4. clint – Python 命令行程序工具。
  5. colorama – 跨平台彩色终端文本。
  6. docopt – Python 风格的命令行参数解析器。
  7. Gooey – 一条命令,将命令行程序变成一个 GUI 程序。
  8. python-prompt-toolkit – 一个用于构建强大的交互式命令行程序的库。

生产力工具

  1. aws-cli – Amazon Web Services 的通用命令行界面。
  2. bashplotlib – 在终端中进行基本绘图。
  3. caniusepython3 – 判断是哪个项目妨碍你你移植到 Python 3。
  4. cookiecutter – 从 cookiecutters(项目模板)创建项目的一个命令行工具。
  5. doitlive – 一个用来在终端中进行现场演示的工具。
  6. howdoi – 通过命令行获取即时的编程问题解答。
  7. httpie – 一个命令行HTTP 客户端,cURL 的替代品,易用性更好。
  8. PathPicker – 从bash输出中选出文件。
  9. percol – 向UNIX shell 传统管道概念中加入交互式选择功能。
  10. SAWS – 一个加强版的 AWS 命令行。
  11. thefuck – 修正你之前的命令行指令。
  12. mycli – 一个 MySQL 命令行客户端,具有自动补全和语法高亮功能。
  13. pgcli – Postgres 命令行工具,具有自动补全和语法高亮功能。

17.下载器(用来进行下载的库)

  1. s3cmd – 一个用来管理Amazon S3 和 CloudFront 的命令行工具。
  2. s4cmd – 超级 S3 命令行工具,性能更加强劲。
  3. you-get – 一个 YouTube/Youku/Niconico 视频下载器,使用 Python3 编写。
  4. youtube-dl – 一个小巧的命令行程序,用来下载 YouTube 视频。

18.图像处理(用来操作图像的库)

  1. pillow – Pillow 是一个更加易用版的 PIL。
  2. hmap – 图像直方图映射。
  3. imgSeek – 一个使用视觉相似性搜索一组图片集合的项目。
  4. nude.py – 裸体检测。
  5. pyBarcode – 不借助 PIL 库在 Python 程序中生成条形码。
  6. pygram – 类似 Instagram 的图像滤镜。
  7. python-qrcode – 一个纯 Python 实现的二维码生成器。
  8. Quads – 基于四叉树的计算机艺术。
  9. scikit-image – 一个用于(科学)图像处理的 Python 库。
  10. thumbor – 一个小型图像服务,具有剪裁,尺寸重设和翻转功能。
  11. wand – MagickWand的Python 绑定。MagickWand 是 ImageMagick的 C API 。

19.OCR(光学字符识别库)

  1. pyocr – Tesseract 和 Cuneiform 的一个封装(wrapper)。
  2. pytesseract – Google Tesseract OCR 的另一个封装(wrapper).
  3. python-tesseract – Google Tesseract OCR 的一个包装类。

20.音频(用来操作音频的库)

  1. audiolazy -Python 的数字信号处理包。
  2. audioread – 交叉库 (GStreamer + Core Audio + MAD + FFmpeg) 音频解码。
  3. beets – 一个音乐库管理工具及 MusicBrainz 标签添加工具
  4. dejavu – 音频指纹提取和识别
  5. django-elastic-transcoder – Django + Amazon Elastic Transcoder。
  6. eyeD3 – 一个用来操作音频文件的工具,具体来讲就是包含 ID3 元信息的 MP3 文件。
  7. id3reader – 一个用来读取 MP3 元数据的 Python 模块。
  8. m3u8 – 一个用来解析 m3u8 文件的模块。
  9. mutagen – 一个用来处理音频元数据的 Python 模块。
  10. pydub – 通过简单、简洁的高层接口来操作音频文件。
  11. pyechonest – Echo Nest API 的 Python 客户端
  12. talkbox – 一个用来处理演讲/信号的 Python 库
  13. TimeSide – 开源 web 音频处理框架。
  14. tinytag – 一个用来读取MP3, OGG, FLAC 以及 Wave 文件音乐元数据的库。
  15. mingus – 一个高级音乐理论和曲谱包,支持 MIDI 文件和回放功能。

21.视频(用来操作视频和GIF的库)

  1. moviepy – 一个用来进行基于脚本的视频编辑模块,适用于多种格式,包括动图 GIFs。
  2. scikit-video – SciPy 视频处理常用程序。

22.地理位置(地理编码地址以及用来处理经纬度的库)

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

23.HTTP(使用HTTP的库)

  1. requests – 人性化的HTTP请求库。
  2. grequests – requests 库 + gevent ,用于异步 HTTP 请求.
  3. httplib2 – 全面的 HTTP 客户端库。
  4. treq – 类似 requests 的Python API 构建于 Twisted HTTP 客户端之上。
  5. urllib3 – 一个具有线程安全连接池,支持文件 post,清晰友好的 HTTP 库。

24.数据库(Python实现的数据库)

  1. pickleDB – 一个简单,轻量级键值储存数据库。
  2. PipelineDB – 流式 SQL 数据库。
  3. TinyDB – 一个微型的,面向文档型数据库。
  4. ZODB – 一个 Python 原生对象数据库。一个键值和对象图数据库。

25.数据库驱动(用来连接和操作数据库的库)

awesome-mysql系列

  1. mysql-python – Python 的 MySQL 数据库连接器。
  2. mysqlclient – mysql-python 分支,支持 Python 3。
  3. oursql – 一个更好的 MySQL 连接器,支持原生预编译指令和 BLOBs.
  4. PyMySQL – 纯 Python MySQL 驱动,兼容 mysql-python。
  5. PostgreSQL
  6. psycopg2 – Python 中最流行的 PostgreSQL 适配器。
  7. queries – psycopg2 库的封装,用来和 PostgreSQL 进行交互。
  8. txpostgres – 基于 Twisted 的异步 PostgreSQL 驱动。

其他关系型数据库

  1. apsw – 另一个 Python SQLite封装。
  2. dataset – 在数据库中存储Python字典 – 可以协同SQLite,MySQL,和 PostgreSQL工作。
  3. pymssql- 一个简单的Microsoft SQL Server数据库接口。

NoSQL数据库

  1. cassandra-python-driver – Cassandra 的 Python 驱动。
  2. HappyBase – 一个为 Apache HBase 设计的,对开发者友好的库。
  3. Plyvel – 一个快速且功能丰富的 LevelDB 的 Python 接口。
  4. py2neo – Neo4j restful 接口的Python 封装客户端。
  5. pycassa – Cassandra 的 Python Thrift 驱动。
  6. PyMongo – MongoDB 的官方 Python 客户端。
  7. redis-py – Redis 的 Python 客户端。
  8. telephus – 基于 Twisted 的 Cassandra 客户端。
  9. txRedis – 基于 Twisted 的 Redis 客户端。

26.ORM(实现对象关系映射或数据映射技术的库)

关系型数据库

  1. Django Models – Django 的一部分。
  2. SQLAlchemy – Python SQL 工具以及对象关系映射工具。
  3. awesome-sqlalchemy系列
  4. Peewee – 一个小巧,富有表达力的 ORM。
  5. PonyORM – 提供面向生成器的 SQL 接口的 ORM。
  6. python-sql – 编写 Python 风格的 SQL 查询。

NoSQL 数据库

  1. django-mongodb-engine – Django MongoDB 后端。
  2. PynamoDB – Amazon DynamoDB 的一个 Python 风格接口。
  3. flywheel – Amazon DynamoDB 的对象映射工具。
  4. MongoEngine – 一个Python 对象文档映射工具,用于 MongoDB。
  5. hot-redis – 为 Redis 提供 Python 丰富的数据类型。
  6. redisco – 一个 Python 库,提供可以持续存在在 Redis 中的简单模型和容器。

其他

  1. butterdb – Google Drive 电子表格的 Python ORM。

27.Web框架

全栈 web 框架。

  1. Django – Python 界最流行的 web 框架。
  2. awesome-django系列
  3. Flask – 一个 Python 微型框架。 https://github.com/humiaozuzu/awesome-flask系列
  4. Pyramid – 一个小巧,快速,接地气的开源Python web 框架。

awesome-pyramid系列

  1. Bottle – 一个快速小巧,轻量级的 WSGI 微型 web 框架。
  2. CherryPy – 一个极简的 Python web 框架,服从 HTTP/1.1 协议且具有WSGI 线程池。
  3. TurboGears – 一个可以扩展为全栈解决方案的微型框架。
  4. web.py – 一个 Python 的 web 框架,既简单,又强大。
  5. web2py – 一个全栈 web 框架和平台,专注于简单易用。
  6. Tornado – 一个web 框架和异步网络库。

28.内容管理系统

  1. django-cms – 一个开源的,企业级 CMS,基于 Django。
  2. djedi-cms – 一个轻量级但却非常强大的 Django CMS ,考虑到了插件,内联编辑以及性能。
  3. FeinCMS – 基于 Django 构建的最先进的内容管理系统之一。
  4. Kotti – 一个高级的,Python 范的 web 应用框架,基于 Pyramid 构建。
  5. Mezzanine – 一个强大的,持续的,灵活的内容管理平台。
  6. Opps – 一个为杂志,报纸网站以及大流量门户网站设计的 CMS 平台,基于 Django。
  7. Plone – 一个构建于开源应用服务器 Zope 之上的 CMS。
  8. Quokka – 灵活,可扩展的小型 CMS,基于 Flask 和 MongoDB。
  9. Wagtail – 一个 Django 内容管理系统。
  10. Widgy – 最新的 CMS 框架,基于 Django。

29.电子商务(用于电子商务以及支付的框架和库)

  1. django-oscar – 一个用于 Django 的开源的电子商务框架。
  2. django-shop – 一个基于 Django 的店铺系统。
  3. Cartridge – 一个基于 Mezzanine 构建的购物车应用。
  4. shoop – 一个基于 Django 的开源电子商务平台。
  5. alipay – 非官方的 Python 支付宝 API。
  6. merchant – 一个可以接收来自多种支付平台支付的 Django 应用。
  7. money – 货币类库with optional CLDR-backed locale-aware formatting and an 8. extensible currency exchange solution.
  8. python-currencies – 显示货币格式以及它的数值。

30.RESTful API(用来开发RESTful APIs的库)

Django

  1. django-rest-framework – 一个强大灵活的工具,用来构建 web API。
  2. django-tastypie – 为Django 应用开发API。
  3. django-formapi – 为 Django 的表单验证,创建 JSON APIs 。

Flask

  1. flask-api – 为 flask 开发的,可浏览 Web APIs 。
  2. flask-restful – 为 flask 快速创建REST APIs 。
  3. flask-restless – 为 SQLAlchemy 定义的数据库模型创建 RESTful APIs 。
  4. flask-api-utils – 为 Flask 处理 API 表示和验证。
    5, eve – REST API 框架,由 Flask, MongoDB 等驱动。

Pyramid

  1. cornice – 一个Pyramid 的 REST 框架 。

与框架无关的

  1. falcon – 一个用来建立云 API 和 web app 后端的噶性能框架。
  2. sandman – 为现存的数据库驱动系统自动创建 REST APIs 。
  3. restless – 框架无关的 REST 框架 ,基于从 Tastypie 学到的知识。
  4. ripozo – 快速创建 REST/HATEOAS/Hypermedia APIs。

31.验证(实现验证方案的库)

OAuth

  1. Authomatic – 简单但是强大的框架,身份验证/授权客户端。
  2. django-allauth – Django 的验证应用。
  3. django-oauth-toolkit – 为 Django 用户准备的 OAuth2。
  4. django-oauth2-provider – 为 Django 应用提供 OAuth2 接入。
  5. Flask-OAuthlib – OAuth 1.0/a, 2.0 客户端实现,供 Flask 使用。
  6. OAuthLib – 一个 OAuth 请求-签名逻辑通用、 完整的实现。
  7. python-oauth2 – 一个完全测试的抽象接口。用来创建 OAuth 客户端和服务端。
  8. python-social-auth – 一个设置简单的社会化验证方式。
  9. rauth – OAuth 1.0/a, 2.0, 和 Ofly 的 Python 库。
  10. sanction – 一个超级简单的OAuth2 客户端实现。

其他

  1. jose – JavaScript 对象签名和加密草案的实现。
  2. PyJWT – JSON Web 令牌草案 01。
  3. python-jws – JSON Web 签名草案 02 的实现。
  4. python-jwt – 一个用来生成和验证 JSON Web 令牌的模块。

32.模板引擎(模板生成和词法解析的库和工具)

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

33.Queue(处理事件以及任务队列的库)

  1. celery – 一个异步任务队列/作业队列,基于分布式消息传递。
  2. huey – 小型多线程任务队列。
  3. mrq – Mr. Queue -一个 Python 的分布式 worker 任务队列, 使用 Redis 和 gevent。
  4. rq – 简单的 Python 作业队列。
  5. simpleq – 一个简单的,可无限扩张的,基于亚马逊 SQS 的队列。

34.搜索(对数据进行索引和执行搜索查询的库和软件)

  1. django-haystack – Django 模块化搜索。
  2. elasticsearch-py – Elasticsearch 的官方底层 Python 客户端。
  3. elasticsearch-dsl-py -Elasticsearch 的官方高级 Python 客户端。
  4. solrpy – solr的 Python 客户端。
  5. Whoosh – 一个快速的纯 Python 搜索引擎库。

35.动态消息(用来创建用户活动的库)

  1. django-activity-stream – 从你的站点行为中生成通用活动信息流。
  2. Stream-Framework – 使用 Cassandra 和 Redis 创建动态消息和通知系统。

36.资源管理(管理、压缩、缩小网站资源的工具)

  1. django-compressor – 将链接和内联的 JavaScript 或 CSS 压缩到一个单独的缓存文件中。
  2. django-storages – 一个针对 Django 的自定义存储后端的工具集合。
  3. fanstatic – 打包、优化,并且把静态文件依赖作为 Python 的包来提供。
  4. File Conveyor – 一个后台驻留的程序,用来发现和同步文件到 CDNs, S3 和 FTP。
  5. Flask-Assets – 帮你将 web 资源整合到你的 Flask app 中。
  6. jinja-assets-compressor – 一个 Jinja 扩展,用来编译和压缩你的资源。
  7. webassets – 为你的静态资源打包、优化和管理生成独一无二的缓存 URL。

37.缓存(缓存数据的库)

  1. Beaker – 一个缓存和会话库,可以用在 web 应用和独立 Python脚本和应用上。
  2. django-cache-machine – Django 模型的自动缓存和失效。
  3. django-cacheops- 具有自动颗粒化事件驱动失效功能的 ORM。
  4. django-viewlet – 渲染模板,同时具有额外的缓存控制功能。
  5. dogpile.cache – dogpile.cache 是 Beaker 的下一代替代品,由同一作者开发。
  6. HermesCache – Python 缓存库,具有基于标签的失效和 dogpile effect 保护功能。
  7. johnny-cache – django应用缓存框架。
  8. pylibmc – libmemcached 接口的 Python 封装。

38.电子邮件(用来发送和解析电子邮件的库)

  1. django-celery-ses – 带有 AWS SES 和 Celery 的 Django email 后端。
  2. envelopes – 供人类使用的电子邮件库。
  3. flanker – 一个 email 地址和 Mime 解析库。
  4. imbox – Python IMAP 库
  5. inbox.py – Python SMTP 服务器。
  6. inbox – 一个开源电子邮件工具箱。
  7. lamson – Python 风格的 SMTP 应用服务器。
  8. mailjet – Mailjet API 实现,用来提供批量发送邮件,统计等功能。
  9. marrow.mailer – 高性能可扩展邮件分发框架。
  10. modoboa – 一个邮件托管和管理平台,具有现代的、简约的 Web UI。
  11. pyzmail – 创建,发送和解析电子邮件。
  12. Talon – Mailgun 库,用来抽取信息和签名。

39.国际化(用来进行国际化的库)

  1. Babel – 一个Python 的国际化库。
  2. Korean – 一个韩语词态库。

40.URL处理(解析URLs的库)

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

41.HTML处理(处理 HTML和XML的库)

  1. BeautifulSoup – 以 Python 风格的方式来对 HTML 或 XML 进行迭代,搜索和修改。
  2. bleach – 一个基于白名单的 HTML 清理和文本链接库。
  3. cssutils – 一个 Python 的 CSS 库。
  4. html5lib – 一个兼容标准的 HTML 文档和片段解析及序列化库。
  5. lxml – 一个非常快速,简单易用,功能齐全的库,用来处理 HTML 和 XML。
  6. MarkupSafe – 为Python 实现 XML/HTML/XHTML 标记安全字符串。
  7. pyquery – 一个解析 HTML 的库,类似 jQuery。
  8. untangle – 将XML文档转换为Python对象,使其可以方便的访问。
  9. xhtml2pdf – HTML/CSS 转 PDF 工具。
  10. xmltodict – 像处理 JSON 一样处理 XML。

42.网络站点爬取(爬取网络站点的库)

  1. Scrapy – 一个快速高级的屏幕爬取及网页采集框架。
  2. cola – 一个分布式爬虫框架。
  3. Demiurge – 基于PyQuery 的爬虫微型框架。
  4. feedparser – 通用 feed 解析器。
  5. Grab – 站点爬取框架。
  6. MechanicalSoup – 用于自动和网络站点交互的 Python 库。
  7. portia – Scrapy 可视化爬取。
  8. pyspider – 一个强大的爬虫系统。
  9. RoboBrowser – 一个简单的,Python 风格的库,用来浏览网站,而不需要一个独立安装的浏览器。

43.网页内容提取(用于进行网页内容提取的库)

  1. Haul – 一个可以扩展的图像爬取工具。
  2. html2text – 将 HTML 转换为 Markdown 格式文本
  3. lassie – 人性化的网页内容检索库。
  4. micawber -一个小型网页内容提取库,用来从 URLs 提取富内容。
  5. newspaper – 使用 Python 进行新闻提取,文章提取以及内容策展。
  6. opengraph – 一个用来解析开放内容协议(Open Graph Protocol)的 Python模块。
  7. python-goose – HTML内容/文章提取器。
  8. python-readability- arc90 公司 readability 工具的 Python 高速端口
  9. sanitize – 为杂乱的数据世界带来调理性。
  10. sumy – 一个为文本文件和 HTML 页面进行自动摘要的模块。
  11. textract – 从任何格式的文档中提取文本,Word,PowerPoint,PDFs 等等。

44.表单(进行表单操作的库)

  1. Deform – Python HTML 表单生成库,受到了 formish 表单生成库的启发。
  2. django-bootstrap3- 集成了 Bootstrap 3 的 Django。
  3. django-crispy-forms – 一个 Django 应用,他可以让你以一种非常优雅且 DRY(Don’t 4. repeat yourself) 的方式来创建美观的表单。
  4. django-remote-forms- 一个平台独立的 Django 表单序列化工具。
  5. WTForms – 一个灵活的表单验证和呈现库。
  6. WTForms-JSON- 一个 WTForms 扩展,用来处理 JSON 数据。

45.数据验证(数据验证库)

  1. Cerberus – A mappings-validator with a variety of rules, normalization- features and simple customization that uses a pythonic schema-definition.
  2. colander – 一个用于对从 XML, JSON,HTML 表单获取的数据或其他同样简单的序列化数据进行验证和反序列化的系统。
  3. kmatch – 一种用于匹配/验证/筛选 Python 字典的语言。
  4. schema -一个用于对 Python 数据结构进行验证的库。
  5. Schematics – 数据结构验证。
  6. valideer – 轻量级可扩展的数据验证和适配库。
  7. voluptuous – 一个 Python 数据验证库。主要是为了验证传入 Python的 JSON,YAML 等数据。

46.反垃圾技术(帮助你和电子垃圾进行战斗的库)

  1. django-simple-captcha – 一个简单、高度可定制的Django 应用,可以为任何Django表单添加验证码。
  2. django-simple-spam-blocker- 一个用于Django的简单的电子垃圾屏蔽工具。

47.标记(用来进行标记的库)

  1. django-taggit – 简单的 Django 标记工具。

48.管理面板(管理界面库)

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

49.静态站点生成器(静态站点生成器是一个软件,它把文本和模板作为输入,然后输出HTML文件)

  1. Pelican – 使用 Markdown 或 ReST 来处理内容, Jinja 2 来制作主题。支持 DVCS,Disqus.。AGPL 许可。
  2. Cactus – 为设计师设计的静态站点生成器。
  3. Hyde – 基于 Jinja2 的静态站点生成器。
  4. Nikola – 一个静态网站和博客生成器。
  5. Tinkerer – Tinkerer 是一个博客引擎/静态站点生成器,由Sphinx驱动。
  6. Lektor – 一个简单易用的静态 CMS 和博客引擎。

50.进程(操作系统进程启动及通信库)

  1. envoy – 比 Python subprocess 模块更人性化。
  2. sarge – 另一 种 subprocess 模块的封装。
  3. sh – 一个完备的 subprocess 替代库。

51.并发和并行(用以进行并发和并行操作的库)

  1. multiprocessing – (Python 标准库) 基于进程的“线程”接口。
  2. threading – (Python 标准库)更高层的线程接口。
  3. eventlet – 支持 WSGI 的异步框架。
  4. gevent – 一个基于协程的 Python 网络库,使用greenlet。
  5. Tomorrow -用于产生异步代码的神奇的装饰器语法实现。

52.网络(用于网络编程的库)

  1. asyncio – (Python 标准库) 异步 I/O, 事件循环, 协程以及任务。
  2. Twisted – 一个事件驱动的网络引擎。
  3. pulsar – 事件驱动的并发框架。
  4. diesel – 基于Greenlet 的事件 I/O 框架。
  5. pyzmq – 一个 ZeroMQ 消息库的 Python 封装。
  6. txZMQ – 基于 Twisted 的 ZeroMQ 消息库的 Python 封装。

53.WebSocket(帮助使用WebSocket的库)

  1. AutobahnPython – 给 Python 、使用的 WebSocket & WAMP 基于 Twisted 和 asyncio。
  2. Crossbar – 开源统一应用路由(Websocket & WAMP for Python on Autobahn).
  3. django-socketio – 给 Django 用的 WebSockets。
  4. WebSocket-for-Python – 为Python2/3 以及 PyPy 编写的 WebSocket 客户端和服务器库。

54.WSGI服务器(兼容WSGI的web服务器)

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

55.RPC服务器(兼容 RPC 的服务器)

  1. SimpleJSONRPCServer – 这个库是 JSON-RPC 规范的一个实现。
  2. SimpleXMLRPCServer – (Python 标准库) 简单的 XML-RPC 服务器实现,单线程。
  3. zeroRPC – zerorpc 是一个灵活的 RPC 实现,基于 ZeroMQ 和 MessagePack。

56.密码学

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

57.图形用户界面(用来创建图形用户界面程序的库)

  1. curses – 内建的 ncurses 封装,用来创建终端图形用户界面。
  2. enaml – 使用类似 QML 的Declaratic语法来创建美观的用户界面。
  3. kivy – 一个用来创建自然用户交互(NUI)应用程序的库,可以运行在 Windows, Linux, Mac OS X, Android 以及 iOS平台上。
  4. pyglet – 一个Python 的跨平台窗口及多媒体库。
  5. PyQt – 跨平台用户界面框架 Qt 的 Python 绑定 ,支持Qt v4 和 Qt v5。
  6. PySide – P跨平台用户界面框架 Qt 的 Python 绑定 ,支持Qt v4。
  7. Tkinter – Tkinter 是 Python GUI 的一个事实标准库。
  8. Toga – 一个 Python 原生的, 操作系统原生的 GUI 工具包。
  9. urwid – 一个用来创建终端 GUI 应用的库,支持组件,事件和丰富的色彩等。
  10. wxPython – wxPython 是 wxWidgets C++ 类库和 Python 语言混合的产物。
  11. PyGObject – GLib/GObject/GIO/GTK+ (GTK+3) 的 Python 绑定
  12. Flexx – Flexx 是一个纯 Python 语言编写的用来创建 GUI 程序的工具集,它使用 web 技术进行界面的展示。

58.游戏开发(超赞的游戏开发库)

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

59.日志(用来生成和操作日志的库)

  1. logging – (Python 标准库) 为 Python 提供日志功能。
  2. logbook – Logging 库的替代品。
  3. Eliot – 为复杂的和分布式系统创建日志。
  4. Raven – Sentry的 Python 客户端。
  5. Sentry – 实时记录和收集日志的服务器。

60.测试(进行代码库测试和生成测试数据的库)

测试框架

  1. unittest – (Python 标准库) 单元测试框架。
  2. nose – nose 扩展了 unittest 的功能。
  3. contexts – 一个 Python 3.3+ 的 BDD 框架。受到C# – Machine.Specifications的启发。
  4. hypothesis – Hypothesis 是一个基于先进的 Quickcheck 风格特性的测试库。
  5. mamba – Python 的终极测试工具, 拥护BDD。
  6. PyAutoGUI – PyAutoGUI 是一个人性化的跨平台 GUI 自动测试模块。
  7. pyshould- Should 风格的断言,基于 PyHamcrest。
  8. pytest- 一个成熟的全功能 Python 测试工具。
  9. green- 干净,多彩的测试工具。
  10. pyvows- BDD 风格的测试工具,受Vows.js的启发。
  11. Robot Framework – 一个通用的自动化测试框架。

Web测试

  1. Selenium – Selenium WebDriver 的 Python 绑定。
  2. locust – 使用 Python 编写的,可扩展的用户加载测试工具。
  3. sixpack – 一个和语言无关的 A/B 测试框架。
  4. splinter – 开源的 web 应用测试工具。

Mock测试

  1. mock – (Python 标准库) 一个用于伪造测试的库。
  2. doublex – Python 的一个功能强大的 doubles 测试框架。
  3. freezegun – 通过伪造日期模块来生成不同的时间。
  4. httmock – 针对 Python 2.6+ 和 3.2+ 生成 伪造请求的库。
  5. httpretty – Python 的 HTTP 请求 mock 工具。
  6. responses – 伪造 Python 中的 requests 库的一个通用库。
  7. VCR.py – 在你的测试中记录和重放 HTTP 交互。

对象工厂

  1. factoryboy – 一个 Python 用的测试固件 (test fixtures) 替代库。
  2. mixer – 另外一个测试固件 (test fixtures) 替代库,支持 Django, Flask, SQLAlchemy, Peewee 等。
  3. modelmommy – 为 Django 测试创建随机固件

代码覆盖率

  1. coverage – 代码覆盖率测量。

伪数据

  1. faker – 一个 Python 库,用来生成伪数据。
  2. fake2db – 伪数据库生成器。
  3. radar – 生成随机的日期/时间。

错误处理

  1. FuckIt.py – FuckIt.py 使用最先进的技术来保证你的 Python 代码无论对错都能继续运行。

61.代码分析和Lint工具(进行代码分析,解析和操作代码库的库和工具)

代码分析

  1. code2flow – 把你的 Python 和 JavaScript 代码转换为流程图。
  2. pycallgraph -这个库可以把你的Python 应用的流程(调用图)进行可视化。
  3. pysonar2 – Python 类型推断和检索工具。

Lint工具

  1. Flake8 – 模块化源码检查工具: pep8, pyflakes 以及 co。
  2. Pylint – 一个完全可定制的源码分析器。
  3. pylama – Python 和 JavaScript 的代码审查工具。

62.调试工具(用来进行代码调试的库)

调试器

  1. ipdb – IPython 启用的 pdb。
  2. pudb – 全屏,基于控制台的 Python 调试器。
  3. pyringe – 可以在 Python 进程中附加和注入代码的调试器。
  4. wdb – 一个奇异的 web 调试器,通过 WebSockets 工作。
  5. winpdb – 一个具有图形用户界面的 Python 调试器,可以进行远程调试,基于 rpdb2。
  6. django-debug-toolbar – 为 Django 显示各种调试信息。
  7. django-devserver – 一个 Django 运行服务器的替代品。
  8. flask-debugtoolbar – django-debug-toolbar 的 flask 版。

性能分析器

  1. lineprofiler – 逐行性能分析。
  2. memoryprofiler – 监控 Python 代码的内存使用。
  3. profiling – 一个交互式 Python 性能分析工具。

其他

  1. pyelftools – 解析和分析 ELF 文件以及 DWARF 调试信息。
  2. python-statsd – statsd 服务器的 Python 客户端。

63.科学技术和数据分析(用来进行科学计算和数据分析的库)

  1. astropy – 一个天文学 Python 库。
  2. bcbio-nextgen – 这个工具箱为全自动高通量测序分析提供符合最佳实践的处理流程。
  3. bccb – 生物分析相关代码集合
  4. Biopython – Biopython 是一组可以免费使用的用来进行生物计算的工具。
  5. blaze – NumPy 和 Pandas 的大数据接口。
  6. cclib – 一个用来解析和解释计算化学软件包输出结果的库。
  7. NetworkX – 一个为复杂网络设计的高性能软件。
  8. Neupy – 执行和测试各种不同的人工神经网络算法。
  9. Numba – Python JIT (just in time) 编译器,针对科学用的 Python ,由Cython 和 NumPy 的开发者开发。
  10. NumPy – 使用 Python 进行科学计算的基础包。
  11. Open Babel – 一个化学工具箱,用来描述多种化学数据。
  12. Open Mining – 使用 Python 挖掘商业情报 (BI) (Pandas web 接口)。
  13. orange – 通过可视化编程或 Python 脚本进行数据挖掘,数据可视化,分析和机器学习。
  14. Pandas – 提供高性能,易用的数据结构和数据分析工具。
  15. PyDy – PyDy 是 Python Dynamics 的缩写,用来为动力学运动建模工作流程提供帮助, 基于 NumPy, SciPy, IPython 和 matplotlib。
  16. PyMC – 马尔科夫链蒙特卡洛采样工具。
  17. RDKit – 化学信息学和机器学习软件。
  18. SciPy – 由一些基于 Python ,用于数学,科学和工程的开源软件构成的生态系统。
  19. statsmodels – 统计建模和计量经济学。
  20. SymPy – 一个用于符号数学的 Python 库。
  21. zipline – 一个 Python 算法交易库。

64.数据可视化(进行数据可视化的库)

  1. matplotlib – 一个 Python 2D 绘图库。
  2. bokeh – 用 Python 进行交互式 web 绘图。
  3. ggplot – ggplot2 给 R 提供的 API 的 Python 版本。
  4. plotly – 协同 Python 和 matplotlib 工作的 web 绘图库。
  5. pygal – 一个 Python SVG 图表创建工具。
  6. pygraphviz – Graphviz 的 Python 接口。
  7. PyQtGraph – 交互式实时2D/3D/图像绘制及科学/工程学组件。
  8. SnakeViz – 一个基于浏览器的 Python’s cProfile 模块输出结果查看工具。
  9. vincent – 把 Python 转换为 Vega 语法的转换工具。
  10. VisPy – 基于 OpenGL 的高性能科学可视化工具。

65.计算机视觉(计算机视觉库)

  1. OpenCV – 开源计算机视觉库。
  2. SimpleCV – 一个用来创建计算机视觉应用的开源框架。

66.机器学习(机器学习库)

  1. Crab – 灵活、快速的推荐引擎。
  2. gensim – 人性化的话题建模库。
  3. hebel – GPU 加速的深度学习库。
  4. NuPIC – 智能计算 Numenta 平台。
  5. pattern – Python 网络挖掘模块。
  6. PyBrain – 另一个 Python 机器学习库。
  7. Pylearn2 – 一个基于 Theano 的机器学习库。
  8. python-recsys – 一个用来实现推荐系统的 Python 库。
  9. scikit-learn – 基于 SciPy 构建的机器学习 Python 模块。
  10. pydeep – Python 深度学习库。
  11. vowpalporpoise – 轻量级 Vowpal Wabbit 的 Python 封装。
  12. skflow – 一个 TensorFlow 的简化接口(模仿 scikit-learn)。

67.MapReduce(MapReduce 框架和库)

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

68.函数式编程(使用 Python 进行函数式编程)

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

69.第三方API(用来访问第三方API的库)

  1. apache-libcloud – 一个为各种云设计的 Python 库。
  2. boto – Amazon Web Services 的 Python 接口。
  3. django-wordpress – WordPress models and views for Django.
  4. facebook-sdk – Facebook 平台的 Python SDK.
  5. facepy – Facepy 让和 Facebook’s Graph API 的交互变得更容易。
  6. gmail – Gmail 的 Python 接口。
  7. google-api-python-client – Python 用的 Google APIs 客户端库。
  8. gspread – Google 电子表格的 Python API.
  9. twython – Twitter API 的封装。

70.DevOps工具(用于DevOps 的软件和库)

  1. Ansible – 一个非常简单的 IT 自动化平台。
  2. SaltStack – 基础设施自动化和管理系统。
  3. OpenStack – 用于构建私有和公有云的开源软件。
  4. Docker Compose – 快速,分离的开发环境,使用 Docker。
  5. Fabric – 一个简单的,Python 风格的工具,用来进行远程执行和部署。
  6. cuisine – 为 Fabric 提供一系列高级函数。
  7. Fabtools – 一个用来编写超赞的 Fabric 文件的工具。
  8. gitapi – Git 的纯 Python API。
  9. hgapi – Mercurial 的纯 Python API。
  10. honcho – Foreman的 Python 克隆版,用来管理基于Procfile的应用。
  11. pexpect – Controlling interactive programs in a pseudo-terminal like 在一个伪终端中控制交互程序,就像 GNU expect 一样。
  12. psutil – 一个跨平台进程和系统工具模块。
  13. supervisor – UNIX 的进程控制系统。

71.任务调度(任务调度库)

  1. APScheduler – 轻巧但强大的进程内任务调度,使你可以调度函数。
  2. django-schedule – 一个 Django 排程应用。
  3. doit – 一个任务执行和构建工具。
  4. gunnery – 分布式系统使用的多用途任务执行工具 ,具有 web 交互界面。
  5. Joblib – 一组为 Python 提供轻量级作业流水线的工具。
  6. Plan – 如有神助地编写 crontab 文件。
  7. schedule – 人性化的 Python 任务调度库。
  8. Spiff – 使用纯 Python 实现的强大的工作流引擎。
  9. TaskFlow – 一个可以让你方便执行任务的 Python 库,一致并且可靠。

72.外来函数接口(使用外来函数接口的库)

  1. cffi – 用来调用 C 代码的外来函数接口。
  2. ctypes – (Python 标准库) 用来调用 C 代码的外来函数接口。
  3. PyCUDA – Nvidia CUDA API 的封装。
  4. SWIG – 简化的封装和接口生成器。

73.高性能(让Python更快的库)

  1. Cython – 优化的 Python 静态编译器。使用类型混合使 Python 编译成 C 或 C++ 模块来获得性能的极大提升。
  2. PeachPy – 嵌入 Python 的 x86-64 汇编器。可以被用作 Python 内联的汇编器或者是独立的汇编器,用于 Windows, Linux, OS X, Native Client 或者 Go 。
  3. PyPy – 使用 Python 实现的 Python。解释器使用黑魔法加快 Python 运行速度且不需要加入额外的类型信息。
  4. Pyston – 使用 LLVM 和现代 JIT 技术构建的 Python 实现,目标是为了获得很好的性能。
  5. Stackless Python – 一个强化版的 Python。

74.微软的Windows平台(在Windows平台上进行Python编程)

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

75.网络可视化和SDN(用来进行网络可视化和SDN(软件定义网络)的工具和库)

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

76.硬件(用来对硬件进行编程的库)

  1. ino -操作Arduino的命令行工具。
  2. Pyro – Python 机器人编程库。
  3. PyUserInput – 跨平台的,控制鼠标和键盘的模块。
  4. scapy – 一个非常棒的操作数据包的库。
  5. wifi – 一个 Python 库和命令行工具用来在 Linux 平台上操作WiFi。
  6. Pingo – Pingo 为类似Raspberry Pi,pcDuino, Intel Galileo等设备提供统一的API用以编程。

77.兼容性(帮助从Python2向Python3迁移的库)

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

78.杂项(不属于上面任何一个类别,但是非常有用的库)

  1. blinker – 一个快速的 Python 进程内信号/事件分发系统。
  2. itsdangerous – 一系列辅助工具用来将可信的数据传入不可信的环境。
  3. pluginbase – 一个简单但是非常灵活的 Python 插件系统。
  4. Pychievements – 一个用来创建和追踪成就的 Python 框架。
  5. Tryton – 一个通用商务框架。

79.算法和设计模式(Python 实现的算法和设计模式)

  1. algorithms -一个 Python 算法模块
  2. python-patterns – Python 设计模式的集合。
  3. sortedcontainers – 快速,纯 Python 实现的SortedList,SortedDict 和 SortedSet 类型。

80.编辑器插件(编辑器和IDE的插件)

Emacs

  1. Elpy – Emacs Python 开发环境。

Sublime Text

  1. SublimeJEDI – 一个 Sublime Text 插件,用来使用超赞的自动补全库 Jedi。
  2. Anaconda – Anaconda 把你的 Sublime Text 3 变成一个功能齐全的 Python IDE。

Vim

  1. YouCompleteMe – 引入基于 Jedi 的 Python 自动补全引擎。
  2. Jedi-vim – 绑定 Vim 和 Jedi 自动补全库对 Python 进行自动补全。
  3. Python-mode – 将 Vim 变成 Python IDE 的一款多合一插件。

Visual Studio

  1. PTVS – Visual Studio 的 Python 工具

81.集成开发环境(流行的Python集成开发环境)

  1. PyCharm – 商业化的 Python IDE ,由 JetBrains 开发。也有免费的社区版提供。
  2. LiClipse – 基于 Eclipse 的免费多语言 IDE 。使用 PyDev 来支持 Python 。
  3. Spyder – 开源 Python IDE。

82.持续集成

  1. Travis CI – 一个流行的工具,为你的开源和私人项目提供持续集成服务。(仅支持 GitHub)
  2. CircleCI – 一个持续集成工具,可以非常快速的进行并行测试。 (仅支持 GitHub)
  3. Vexor CI – 一个为私人 app 提供持续集成的工具,支持按分钟付费。
  4. Wercker – 基于 Docker 平台,用来构建和部署微服务。

83.代码质量

  1. Codacy – 自动化代码审查,更加快速的发布高质量代码。对于开源项目是免费的。
  2. QuantifiedCode – 一个数据驱动、自动、持续的代码审查工具。

保持学习,否则迟早要被淘汰*(^ 。 ^ )***

分类: [Python之路]

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python各类常用库整理 的相关文章

  • 前端面试题--react与vue的区别

    前端面试题 react与vue的区别 首先从架构层面来看 xff0c vue是MVVM架构 xff0c 是一个灵活易用的渐进式双向绑定 xff0c 而react并没有准确的架构模式 xff0c react准确的架构模式是调和器和渲染器 xf
  • 前端面试题--详解flex

    前端面试题 详解flex Flex是指弹性盒子布局的意思 Flex的主要作用是 xff1a 解决元素居中问题 xff0c 自动弹性伸缩 xff0c 自动适配不同大小的屏幕和移动端 Flex的术语解释 xff1a 二成员 xff1a 容器和项
  • Linux系统中sysctl命令详解 sysctl -p、sysctl -a、sysctl -w

    sysctl命令用于运行时配置内核参数 xff0c 这些参数位于 proc sys目录下 sysctl配置与显示在 proc sys目录中的内核参数 xff0e 可以用sysctl来设置或重新设置联网功能 xff0c 如IP转发 IP碎片去
  • 前端面试题--vue的父子组件通信

    前端面试题 vue的父子组件通信 比较常见的就是父组件为控制组件子组件为视图组件 父组件传递数据给子组件使用 xff0c 遇到业务逻辑操作时子组件触发父组件的自定义事件 子组件接受使用父组件的数据 xff0c 这里的数据包括属性和方法 xf
  • 前端面试题--了解并简单介绍一下typescript

    前端面试题 了解并简单介绍一下typescript TypeScript是JavaScript的超集 xff0c 具有可选的类型并可以编译为纯JavaScript 从技术上讲TypeScript就是具有静态类型的 JavaScript 向J
  • HashMap MAXIMUM_CAPACITY 为什么设置成1 << 30---Java源码

    为什么是1 lt lt 30因为2个因素造成的 正如上楼的 MrAmity 所说 xff0c HashMap在确定数组下标Index的时候 xff0c 采用的是 length 1 amp hash的方式 xff0c 只有当length为2的
  • MATLAB循环结构与嵌套循环

    循环结构又称为重复结构 xff0c 是利用计算机运算速度快以及能进行逻辑控制得我特点来重复执行默写操作 while循环 while语句多用于循环次数不确定的情况 xff0c 而对于循环次数确定的情况 xff0c 使用for语句更方便 针对不
  • 机械臂(4)–正向求解

    最近准备研究下机械臂的运动分析 xff0c 本文记录相关过程 关于运动求解 xff0c 鄙人才疏学浅 xff0c 很多内容没有深入理解 xff0c 只是简单知道这个是什么 xff0c 代表什么意思 xff0c 怎么用 xff0c 关于原理了
  • Gazebo/Rviz仿真打开URDF模型

    当我们通过Solidworks成功导出URDF模型之后 xff0c 我们当然很希望在ROS中观察到自己导入的模型 ROS中有两个非常好的插件 xff0c 一个是RViz另一个是Gazebo 其中RViz类似一个可视化平台 xff0c 而Ga
  • 线性二次型最优控制

    本文涉及的李雅普诺夫方法的内容可参见另一篇博文 xff1a 李雅普诺夫 xff08 第二方法 xff09 稳定性分析 目录 一 连续时间系统线性二次型最优控制1 1 问题的提出1 2 问题的分析1 3 问题求解1 4 MATLAB函数1 5
  • 深入理解Tomcat虚拟目录

    我们知道 xff0c Web网站中的内容 xff08 包括网页 xff0c 图片 xff0c 音频文件等 xff09 一般都存放在App的目录下 但随着网站内容的不断丰富 xff0c 用户需要把不同层次的内容组织成网站的子目录 我们通常的做
  • Spring Security 实现身份认证

    Spring Security可以运行在不同的身份认证环境中 xff0c 当我们推荐用户使用Spring Security进行身份认证但并不推荐集成到容器管理的身份认证中时 xff0c 但当你集成到自己的身份认证系统时 xff0c 它依然是
  • 基于ubuntu18.04 VNC开机自启动

    本博客内容实现了RK3399 NanoPi NEO4的VNC的开机自启动 xff0c 以及原版桌面的显示 系统 xff1a FriendlyDesktop 最新版本 xff0d 基于Ubuntu 18 04 64位系统构建 易于开发 xff
  • Spring Security身份认证之UserDetailsService

    zhiqian我们采用了配置文件的方式从数据库中读取用户进行登录 虽然该方式的灵活性相较于静态账号密码的方式灵活了许多 xff0c 但是将数据库的结构暴露在明显的位置上 xff0c 绝对不是一个明智的做法 本文通过Java代码实现UserD
  • 基于Apache OLTU的OAuth2.0授权解决方案

    Apache OLTU实现了OAuth 2 0的规范 xff0c 是一种可靠的Java授权解决方案 但是 xff0c 官方文档实在是太惨不忍睹了 本文参考了开涛的 OAuth 2 0集成Shiro文章 模拟了OAuth2 0的认证流程 技术
  • Couch的MapReduce查询

    1 MapReduce介绍 传统的关系型数据库中 xff0c 只要你的数据是结构化的 xff0c 你可以进行任何类型的查询 Apache Couch与此相反 xff0c 它使用MapReduce xff08 预定义的map和的reduce方
  • Java遍历读取文件目录结构

    Java读取计算机目录 xff0c 并打印 public class ReadDirectory 文件所在的层数 private int fileLevel 生成输出格式 64 param name 输出的文件名或目录名 64 param
  • Java实现数字水印

    数字水印有可见不可见之分 xff0c 可见的比如课件上印有学校校徽 xff0c 微博发图片会水印上上传者的信息及微博logo等 用java实现可见的数字水印 xff0c 草人主要是用到了java awt包中的AlphaComposite类
  • 程序员应该如何去设计需求

    刚出道的程序员 xff0c 在做需求分析的时候 xff0c 总是经常挨批 xff0c 客户说他们不能按照客户的要求去设计原型 xff0c 领导说他们不用心去与客户沟通交流 程序员总是感到自己很冤枉 xff0c 明明客户没有给出一点建设性建议
  • 小小程序员的一周日报

    工作依旧在有条不紊的进行着 xff0c 一周的时间很快就会过去 xff0c 正如今天李哥所说的 xff0c 这一周还没有感觉怎么过呢 xff0c 就结束了 是啊 xff0c 这就是我们的工作 xff0c 程序员的工作 xff0c 软件设计师

随机推荐

  • 项目空间都有啥

    项目空间是什么 xff0c Workplace 答案是 xff1a No 项目空间是由项目负责人提出的实施某项目方案的一种流程 项目空间是XX海油ERP管理系统下的一个业务 xff0c 项目负责人通过创建项目名称 项目负责人 使用资源 所属
  • 你不要瞧不起Ctrl+C

    曾经 xff0c 在我未参加工作之前 xff0c 我认为靠 Ctrl 43 C 来完成工作的人 xff0c 肯定是懒惰的程序员 xff0c 但是现在我发现我错了 xff0c 而且是彻底的错了 能够通过 Ctrl 43 C 来完成工作的人 x
  • 文档交接说明书(模板)

    因为同事的离职 xff0c 我的入职 xff0c 要从同事手中交接过来一些项目 公司里只有一些开发文档相关的模板 xff0c 并没有文档交接相关的模板 xff0c 所以交接文档的模板也就由我们自己来定 我结合自己在工作中的经验 xff0c
  • UDS网络层/TP层(ISO 15765-2)的解读

    本文是对 ISO 15765 2 2011 协议的一些解读 需要指出该协议的最新版为2016版 TP层存在意义 UDS网络层 xff0c 又称为TP层 xff08 Transport Protocol Layer xff09 其存在的目的是
  • std vector传递指针使用说明

    今天用WM COPYDATA传递一个Vector的指针 xff0c 传递过来始终失败 后面找到一篇文章 xff0c 说只要传递第一个元素的地址就行 xff0c 因为vector在内存是连续的 static std vector lt UIm
  • Leetcode之运算库函数自定义

    一 Leetcode50 pow 注意点 1 n的值可以为正 xff0c 负 xff0c 0 2 O n 会TLE xff0c 使用递归时 xff0c 一定要将中间步保存 3 有博文中提到 xff0c 若n lt 0 xff0c 可以令n
  • 树莓派无键盘安装步骤

    树莓派无键盘安装 下载系统烧录系统配置无线网络开机并连接树莓派更新源和系统安装xrdp xff08 远程访问 xff09 Windows连接远程桌面 下载系统 应该只有官方的Raspbian系统支持无键盘安装 xff0c 官网下载系统 xf
  • iic实现采集温湿度传感器值

    iic h ifndef IIC H define IIC H include 34 stm32mp1xx gpio h 34 include 34 stm32mp1xx rcc h 34 通过程序模拟实现I2C总线的时序和协议 GPIOF
  • Matlab在线运行网站

    桌面版的Matlab不仅安装包很大 xff0c 而且也很吃性能 xff0c 不如就用网页版 xff0c 来玩啊 xff01 https www tutorialspoint com execute matlab online php 点击c
  • An Introduction on Deep Learning for the Physical Layer

    An Introduction on Deep Learning for the Physical Layer 代码实现 xff1a https github com shengjian3476077 DLforPhy 一 文章的主要工作
  • motion planning 一起学习

    shenlan 学院 motion planning 一起学习 打算买深蓝的motion planning for Mobile robots xff0c 主要是讲规划算法的 xff0c 有无一起学习的小伙伴 xff1f 一起学习 xff0
  • 【java面试之Linux】Linux启动过程、

    一 Linux启动过程 启动第一步 xff0d xff0d 加载BIOS 启动第二步 xff0d xff0d 读取MBR 主引导记录 启动第三步 xff0d xff0d Boot Loader 启动第四步 xff0d xff0d 加载内核
  • Linux SPI 驱动示例

    一 Linux 下 SPI 驱动框架 SPI 驱动框架分为主机控制器驱动和设备驱动 xff0c 主机控制器也就是 SOC 的 SPI 控制器接口 1 1 SPI 主机驱动 SPI 主机驱动就是 SOC 的 SPI 控制器驱动 xff0c L
  • 使用 FFmpeg 推流,使用 VLC 软件进行拉流

    1 移植Nginx到开发板 xff0c 使用 Nginx 来搭建 RTMP 流媒体服务器 2 执行如下命令进行推流 xff1a ffmpeg re i run media mmcblk1p1 testVideo mp4 c av copy
  • MPC与LQR的详细对比分析

    从以下几个方面进行阐述 xff1a 一 xff0c 研究对象 xff1a 是否线性 二 xff0c 状态方程 xff1a 离散化 三 xff0c 目标函数 xff1a 误差和控制量的极小值 四 xff0c 工作时域 xff1a 预测时域 x
  • 类类型成员引用的问题

    一个类中的成员变量是另一个类的类类型 xff0c 赋值问题分为引用 xff0c 不引用两类 如先定义TESTB类 class TESTB public TESTB b 61 3 7 TESTB void change b 61 9 0 fl
  • FutureTask的用法及两种经常使用的使用场景

    FutureTask可用于异步获取执行结果或取消执行任务的场景 经过传入Runnable或者Callable的任务给FutureTask xff0c 直接调用其run方法或者放入线程池执行 xff0c 以后能够在外部经过FutureTask
  • 二维线性插值方法

    前几天在进行数据仿真的时候 对于将表格离散数据转化成连续数据一直是一件十分棘手的事情 xff0c 在网站上找了许多资源最后才找到可以利用二维线性插值的方法将数据进行转化 1 原理 是要将 m n m times n m n 的二维数据如下图
  • 【转载】Matlab中LMI(线性矩阵不等式)工具箱使用教程

    64 TOC 转载 原文地址 xff1a https www cnblogs com Hand Head articles 5412511 html 这一段被老板逼着论文开题 xff0c 自己找方向比较着急 xff0c 最后选择了供应链控制
  • Python各类常用库整理

    一 20个必不可少的Python库也是基本的第三方库 Requests Kenneth Reitz写的最富盛名的http库 每个Python程序员都应该有它 Scrapy 如果你从事爬虫相关的工作 xff0c 那么这个库也是必不可少的 用过