python 包多熟悉一个干活就轻松点
包管理
管理包和依赖的工具。
- 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 代码无论对错都能继续运行。