包管理

管理包和依赖的工具。

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

文本处理

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

  • 通用

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

自然语言处理

用来处理人类语言的库。

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

图像处理

用来操作图像的库.

  • 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 。

HTTP

使用HTTP的库。

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

数据库

Python实现的数据库。

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

Web 框架

全栈 web 框架。

  • Django – Python 界最流行的 web 框架。

    • awesome-django系列
  • Flask – 一个 Python 微型框架。
    • awesome-flask系列
  • Pyramid – 一个小巧,快速,接地气的开源Python web 框架。
    • awesome-pyramid系列
  • Bottle – 一个快速小巧,轻量级的 WSGI 微型 web 框架。
  • CherryPy – 一个极简的 Python web 框架,服从 HTTP/1.1 协议且具有WSGI 线程池。
  • TurboGears – 一个可以扩展为全栈解决方案的微型框架。
  • web.py – 一个 Python 的 web 框架,既简单,又强大。
  • web2py – 一个全栈 web 框架和平台,专注于简单易用。
  • Tornado – 一个web 框架和异步网络库。

CMS

内容管理系统

  • 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。

电子商务

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

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

电子邮件

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

  • 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 库,用来抽取信息和签名。

网络站点爬取

爬取网络站点的库

  • 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 等等。

表单

进行表单操作的库。

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

图形用户界面

用来创建图形用户界面程序的库。

  • curses – 内建的 ncurses 封装,用来创建终端图形用户界面。
  • enaml – 使用类似 QML 的Declaratic语法来创建美观的用户界面。
  • kivy – 一个用来创建自然用户交互(NUI)应用程序的库,可以运行在 Windows, Linux, Mac OS X, Android 以及 iOS平台上。
  • pyglet – 一个Python 的跨平台窗口及多媒体库。
  • PyQt – 跨平台用户界面框架 Qt 的 Python 绑定 ,支持Qt v4 和 Qt v5。
  • PySide – P跨平台用户界面框架 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 技术进行界面的展示。

游戏开发

超赞的游戏开发库。

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

Science and Data Analysis

用来进行科学计算和数据分析的库。

  • 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 – 由一些基于 Python ,用于数学,科学和工程的开源软件构成的生态系统。
  • statsmodels – 统计建模和计量经济学。
  • SymPy – 一个用于符号数学的 Python 库。
  • zipline – 一个 Python 算法交易库。

数据可视化

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

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

计算机视觉

计算机视觉库。

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

机器学习

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

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

MapReduce

MapReduce 框架和库。

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

编辑器插件

编辑器和 IDE 的插件

  • Emacs

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

集成开发环境

流行的 Python 集成开发环境。

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

Testing

进行代码库测试和生成测试数据的库。

  • 测试框架

    • unittest – (Python 标准库) 单元测试框架。
    • nose – nose 扩展了 unittest 的功能。
    • contexts – 一个 Python 3.3+ 的 BDD 框架。受到C# – Machine.Specifications的启发。
    • 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 – 代码覆盖率测量。
  • 伪数据
    • faker – 一个 Python 库,用来生成伪数据。
    • fake2db – 伪数据库生成器。
    • radar – 生成随机的日期/时间。
  • 错误处理
    • FuckIt.py – FuckIt.py 使用最先进的技术来保证你的 Python 代码无论对错都能继续运行。

python 包多熟悉一个干活就轻松点的更多相关文章

  1. 用conda管理Python包

    用conda管理Python包 conda是一个很好的包管理工具,在用了Anaconda之后一直不知道怎么用conda进行管理,其实很简单,就是没人教,慢慢自己摸索了一点.直接在Anaconda的命令 ...

  2. RobotFramework中加载自定义python包中的library(一个py文件中有多个类)

    结构如下: appsdk\ appsdk.py(这里面有多个类,包括appsdk,appsdksync等类) __init__.py ... ① 有个appsdk的文件夹(符合python包的定义) ...

  3. python高级编程 编写一个包1

    #目的是:编写,发行python包可重复过程"""1:是缩短开始真正工作之前所需要的设置时间,也就是提供模板2:提供编写包的标准化方法3:简化测试驱动开发方法的使用4:为 ...

  4. 手把手教你发布一个Python包

    本文主题如下: 编写一个包(Python 源代码),但不是本文的重点. 编译包,观察编译后的文件. 发布包,发布的包可以有多种类型. 如何在 Pypi 中查看已发布的包 注意: 本文编写的包在 Pyt ...

  5. Windows安装python包出现PermissionError: [WinError 32] 另一个程序正在使用此文件,进程无法访问的问题解决方案

    在python中安装sqlalchemy时,总是提示(当安装依赖有vs的python包时,可能会出现以下错误:) PermissionError: [WinError 32] 另一个程序正在使用此文件 ...

  6. python包

    有个伟人说过: python的学习很大一部分取决与你对第三方包的熟悉和掌握程度! virtualenv virtualenv用于创建独立的Python环境,多个Python相互独立,互不影响,它能够: ...

  7. Python包管理工具和多版本环境管理

    1. Python包管理工具 在安装Python包的过程中,经常涉及到distutils.setuptools.distribute.setup.py.easy_install.easy_instal ...

  8. Python 包构建教程

    目录 setuptools 和 setup.py 你所需要做的事 & 一些概念 基础概念 关于源码分发文件和二进制分发文件 示例和分发选择 pure python module package ...

  9. 10个对Web开发者最有用的Python包

    Python最近成为了开发人员最喜欢的语言之一.无论你是专业的,业余的,还是一个初学者,你都可以从Python语言及其程序包中受益.Python已经被证明是当今最具活力的面向对象的编程语言之一.这就是 ...

随机推荐

  1. Dynamics 365 安装问题——无法访MSCRM_CONFIG数据库

    1.  问题 2.  原因 出现此问题的一个或多个下列条件都为真︰ 在多务器中安装 Microsoft Dynamics 365.然后,直接在运行 Microsoft SQL Server 的服务器上 ...

  2. Linux端口转发工具rinetd

    介绍:Rinetd是为在一个Unix和Linux操作系统中为重定向传输控制协议(TCP)连接的一个工具.Rinetd是单一过程的服务器,它处理任何数量的连接到在配置文件etc/rinetd中指定的地址 ...

  3. 小a与军团模拟器

    题目描述 9102 年伊始,小a觉得山羊模拟器,乞丐模拟器之类的都太低级了,所以想自己建立一个征战天下的军团模拟器. 军团模拟器是在一个城市数为N的国家中运行的,每个城市都会通过一些道路和其他所有城市 ...

  4. 极限挑战----3小时完成OA系统(失败)

    今天老师要求三小时把OA系统做出了,之前一点也没接触过,对其不了解,而且这几天一直把时间放在六级了,对Web重视有点少. 最终我只做了登录和校验,可以显示富文本框,但不能提交数据库. 总之还有还多没有 ...

  5. learning scala zipAll

    If two Iterables aren't the same size, then zipAll can provide fillers for what it couldn't find a c ...

  6. rollup node.js 打包工具

    最近在做一个提供给浏览器和node同时使用的js的url模板工具类,在用什么打包工具上纠结了一段时间,正好有一天在知乎上看到了关于rollup的介绍,在自己试了试之后,就决定用rollup.js来打包 ...

  7. THUPC&CTS 2019 游记

    day ? 去THU报了个到. day? THUPC比赛日,三个人都没有智商,各种签到题不会做,被各路神仙吊着打.G题还猜了个假结论,做了好久都不对.最后顺利打铁了. 还顺便去看一下THUAC. da ...

  8. 洛谷P4408 逃学的小孩

    题目 求树的直径,因为任意两个居住点之间有且只有一条通路,所以这是一棵树. 根据题意父母先从C去A,再去B,或者反过来. 我们一定是要让A到B最大,也要让C到A和B的最小值最大. AB最大一定就是直径 ...

  9. (12)Go面向对象

    尽管Go中没有封装.继承.多态这些概念,但可以通过别的方式实现这个特性: *封装:通过方法实现 *继承:通过匿名字段实现 *多态:通过接口实现 package main import "fm ...

  10. 求斐波那契数列中的第N个数

    递推 递归 1.暴力递归 2.记忆化递归 对比下二者的效率