推荐一些相见恨晚的 Python 库 「一」

2,268 阅读6分钟
原文链接: zhuanlan.zhihu.com

作者:马超

来源:微信公众号 DeveloperPython

更多精彩文章,关注专栏:学习编程 - 知乎专栏

1. 扯淡

首先说明下,这篇文章篇幅过长并且大部分是链接,因此非常适合在电脑端打开访问。

本文内容摘自 Github 上有名的 Awesome Python。这是由 vinta 在 14 年发起并持续维护的一个项目。

Awesome Python 涵盖了 Python 的方方面面,主要有 Web框架、网络爬虫、网络内容提取、模板引擎、数据库、图片处理、数据可视化、文本处理、自然语言处理、机器学习、日志、代码分析等。学会这些库,保证你在 Python 方面会有质的飞跃

以下内容是我基于 Awesome Python 和部分中文文档做出的翻译和归纳,由于内容过多,这篇只是归纳的第一部分,后续会持续更新。每个条目由 库名 + 装逼名言 + 链接 组成。

2. 管理面板 ( Admin Panels)

Admin 面板的开源库

  • Ajenti - 你的服务器应该拥有的管理面板

github.com/ajenti/ajen…

  • django-suit - Django管理面板的替代品(非营利组织可免费使用)

djangosuit.com/

  • django-xadmin - 拥有很多不错功能的 Django Admin 替代品

github.com/sshwsfc/xad…

  • flask-admin - 一个简单可扩展的 Flask 管理界面框架

github.com/flask-admin…

  • flower - 一个 Celery 集群的实时监控和网页管理工具

github.com/mher/flower

  • Grappelli - Django 管理面板的一个非常骚气的皮肤

grappelliproject.com/

  • Wooey - Django的一个应用,可为 Python 脚本自动创建网页 UI

github.com/wooey/wooey

3. 算法和设计模式 (Algorithms and Design Patterns)

Python 实现的一些算法和设计模式

  • algorithms - 一个 Python 的算法模块

github.com/nryoung/alg…

  • PyPattyrn - 一个实现了常见设计模式的简单且有效的 Python 库

github.com/tylerlaberg…

  • python-patterns - Python 设计模式的汇总

github.com/faif/python…

  • sortedcontainers - 高效的,纯 Python 实现的 SortedList、SortedDict 和 SortedSet 类型。

www.grantjenks.com/docs/sorted…

4. 反垃圾技术 ( Anti-spam )

一些与垃圾邮件对抗的库

  • django-simple-captcha - 一个简单、高效、可定制的 Django App,可以给任意 Django 表单添加验证码

github.com/mbi/django-…

  • django-simple-span-blocker - 简单的垃圾邮件屏蔽组件

github.com/moqada/djan…

5. 资源管理器 ( Asset Management )

管理、压缩、减小网站资源的工具

  • django-compressor - 压缩链接和内联的 JavaScript 或者 CSS 到单独的缓存文件中

github.com/django-comp…

  • django-pipeline - Django 的资源打包库

github.com/jazzband/dj…

  • django-storages - Django 的自定义存储后端的工具集合

github.com/jschneier/d…

  • fanstatic - 打包、优化并且将静态文件依赖作为 Python 的包来提供

www.fanstatic.org/en/latest/

  • fileconveyor - 用于检测和同步文件到 CDN、S3 和 FTP 的守护程序

wimleers.com/fileconveyo…

  • flask-assets - 可以帮助你将网页资源集成到 Flask App 中

github.com/miracle2k/f…

  • jinja-assets-compressor - 一个 Jinja 的扩展程序,用来编译和压缩你的资源

github.com/jaysonsanto…

  • webassets - 对你的静态资源进行打包、压缩、管理,并生成独一无二的缓存 URL

github.com/miracle2k/w…

6. 音频 ( Audio )

一些用来控制音频的库

  • audiolazy - Python 的 DSP (数字信号处理) 包

github.com/danilobelli…

  • audioread - 交叉库(GStreamer + Core Audio + MAD + FFmpeg)音频解码

github.com/beetbox/aud…

  • beets - 一个音乐库管理工具以及 MusciBrainz 标签添加工具

beets.io/

  • ncmbot - 网易云音乐的 Python Api 库

xiyoumc.0x2048.com/ncmbot

  • dejavu - 音频指纹提取和识别

github.com/worldveil/d…

  • eyeD3- 一个用来操作音频文件的工具,包含 ID3 元文件的 MP3 文件

eyed3.nicfit.net/

  • id3reader - 一个用来读取 MP3 原始数据的 Python 库

nedbatchelder.com/code/module…

  • m3u8 - 一个用来解析 m3u8 文件的模块

github.com/globocom/m3…

  • mingus - 一个高级的音乐理论和曲谱包,支持 MIDI 文件和回访功能

bspaans.github.io/python-ming…

  • mutagen - 一个用来处理音频原始数据的 Python 组件

github.com/quodlibet/m…

  • pyAudioAnalysis- Python 的音频分析库,包含:特征提取、分类、分段和应用

github.com/tyiannak/py…

  • pydub - 通过简单、高 Level 的接口来操作音频文件

github.com/jiaaro/pydu…

  • pyechonest - Echo Nest API 的 Python 客户端

github.com/echonest/py…

  • talkbox- 一个用来处理语音和信号的 Python 库

scikits.appspot.com/talkbox

  • TimeSide - 开源的 Web 音频处理框架

github.com/Parisson/Ti…

  • tinytag - 一个用来读取 mp3 、ogg、flac 以及 Wave 文件原始数据的库。

github.com/devsnd/tiny…

7. 授权

一些实现授权方案的库

OAuth

  • Authomatic - 简单但强大的框架,可以用来做身份验证和授权

peterhudec.github.io/authomatic/

  • django-allauth - Django 的 授权程序

github.com/pennersr/dj…

  • django-oauth-toolkit - Django 开发者的礼物, OAuth 2

github.com/evonove/dja…

  • Flask-OAuthlib - 供 Flask 使用的 OAuth 1.0/a 和 2.0 的客户端实现

github.com/lepture/fla…

  • OAuthLib - 通用且完整的 OAuth 请求和签名逻辑

github.com/idan/oauthl…

  • python-oauth2- 一个完全测试的抽象接口,用来创建 OAuth 客户端和服务端

github.com/joestump/py…

  • python-social-auth - 一个简单设置的通用化验证方式

github.com/omab/python…

  • rauth - OAuth 1.0/a 、2.0 和 Ofly 的 Python 库

github.com/omab/python…

  • sanction - 一个炒鸡简单的 OAuth2 客户端的实现

github.com/demianbrech…

Others

  • jose - 针对 JavaScript 对象签名和加密的草稿

github.com/demonware/j…

  • PyJWT - JSON Web 令牌草稿的实现01

github.com/jpadilla/py…

  • python-jws - JSON Web 签名草稿的实现02

github.com/brianlovesw…

  • python-jwt - 一个用来生成和验证 JSON Web Token 的模块

github.com/davedoesdev…

8. 构建工具

将源代码编译为软件

  • BitBake - 类似于 Linux 的 make-file 的构建工具

www.yoctoproject.org/docs/1.6/bi…

  • buildout - 从多个组件来创建、组装和部署应用的构建系统

www.buildout.org/en/latest/

  • PlatformIO - 多平台构建工具

github.com/platformio/…

  • PyBuilder - 纯 Python 的可持续化构建工具

github.com/pybuilder/p…

  • SCons - 软件构建工具

www.scons.org/

9. CMS

内容管理系统

  • django-cms - 一个基于 Django 的开源、企业级的 CMS 系统

www.django-cms.org/en/

  • djedi-cms - 一个轻量级且非常强大的 Django CMS,考虑到了插件、内联编辑以及性能

djedi-cms.org/

  • FeinCMS - 基于 Django 构建的最高级的内容管理系统之一。

www.feincms.org/

  • Kotti - 基于Pyramid 的高 Level 、Pythonic 的 Web 应用框架

kotti.pylonsproject.org/

  • Mezzanine - 一个强大的、可持续的、灵活的内容管理平台

mezzanine.jupo.org/

  • Opps - 一个基于 Django 为杂志、报纸网站以及大流量门户网站所设计的 CMS 平台

opps.github.io/opps/

  • Plone - 一个构建于开源应用服务器 Zope 之上的 CMS 平台

plone.org/

  • Quokka - 基于 Flask 和 MongoDB 的灵活、可扩展的小型 CMS

quokkaproject.org/

  • Wagtail - 一个 Django 内容管理系统

wagtail.io/

  • Widgy - 基于 Django 的最新 CMS 框架

mezzanine.jupo.org/

10. Caching

缓存数据的库

  • Beaker - 一个应用在 Web 程序、独立的Python 脚本和应用程序的缓存和会话库

github.com/bbangert/be…

  • DiskCache - SQLite 和文件支持的缓存后端,具有比 memcached 和 redis 更快的查找

www.grantjenks.com/docs/diskca…

  • django-cache-machine - Django 模块的自动化缓存和时效

github.com/django-cach…

  • django-cacheops - 具有自动粒度时间驱动失效的 ORM 缓存

github.com/Suor/django…

  • django-viewlet - 具有缓存控制功能的渲染模板组件

github.com/5monkeys/dj…

  • dogpile.cache - 这是 Beaker 的下一代替代品,由同一作者开发

dogpilecache.readthedocs.io/en/latest/

  • HermesCache - Python 缓存库,具有基于标签的失效和 dogpile effect 保护功能

pypi.python.org/pypi/Hermes…

  • johnny-cache - Django 应用的一个缓存框架

github.com/jmoiron/joh…

  • pylibmc - libmemcached 接口的 Python 封装

github.com/lericson/py…

11. ChatOps Tools

用于开发聊天机器人的库

  • Errbot - 用来实现自动聊天工具的,最简单、最流行的聊天机器人

errbot.io/en/latest/

12. Code Analysis and Linter

进行代码分析、解析和操作代码库的组件和工具

代码分析

  • coala - 语言独立并且易扩展的代码分析应用

coala.io/

  • code2flow - 将你的 Python 和 JavaScript 代码转换为 DOT(流程图)的工具

github.com/scottrogows…

  • pycallgraph - 这个库可以将你的 Python 应用的调用图进行可视化

github.com/gak/pycallg…

  • pysonar2 - Python 的类型推断和检索工具

github.com/yinwang0/py…

Linter 工具

  • Flake8 - 模块化源代码检索工具:pep8、pyflakes 以及 co

pypi.python.org/pypi/flake8

  • pylama - Pyhton 和 JavaScript 的代码审查工具

github.com/scottrogows…

  • Pylint - 一个完整的可定制的源代码分析工具

www.pylint.org/

匆匆忙忙,新的一周又开始,希望第一部分的库能帮助到你的工作。当然,后续会继续更新。