推荐一些相见恨晚的 Python 库 「一」
扯淡
首先说明下,这篇文章篇幅过长并且大部分是链接,因此非常适合在电脑端打开访问。
本文内容摘自 Github 上有名的 Awesome Python。这是由 vinta 在 14 年发起并持续维护的一个项目。
Awesome Python 涵盖了 Python 的方方面面,主要有 Web框架、网络爬虫、网络内容提取、模板引擎、数据库、图片处理、数据可视化、文本处理、自然语言处理、机器学习、日志、代码分析等。学会这些库,保证你在 Python 方面会有质的飞跃。
以下内容是我基于 Awesome Python 和部分中文文档做出的翻译和归纳,由于内容过多,这篇只是归纳的第一部分,后续会持续更新。每个条目由 库名 + 装逼名言 + 链接 组成。
管理面板 ( Admin Panels)
Admin 面板的开源库
-
Ajenti - 你的服务器应该拥有的管理面板
https://github.com/ajenti/ajenti
-
django-suit - Django管理面板的替代品(非营利组织可免费使用)
http://djangosuit.com/
-
django-xadmin - 拥有很多不错功能的 Django Admin 替代品
https://github.com/sshwsfc/xadmin
-
flask-admin - 一个简单可扩展的 Flask 管理界面框架
https://github.com/flask-admin/flask-admin
-
flower - 一个 Celery 集群的实时监控和网页管理工具
https://github.com/mher/flower
-
Grappelli - Django 管理面板的一个非常骚气的皮肤
http://grappelliproject.com/
-
Wooey - Django的一个应用,可为 Python 脚本自动创建网页 UI
https://github.com/wooey/wooey
算法和设计模式 (Algorithms and Design Patterns)
Python 实现的一些算法和设计模式
-
algorithms - 一个 Python 的算法模块
https://github.com/nryoung/algorithms
-
PyPattyrn - 一个实现了常见设计模式的简单且有效的 Python 库
https://github.com/tylerlaberge/PyPattyrn
-
python-patterns - Python 设计模式的汇总
https://github.com/faif/python-patterns
-
sortedcontainers - 高效的,纯 Python 实现的 SortedList、SortedDict 和 SortedSet 类型。
http://www.grantjenks.com/docs/sortedcontainers/
反垃圾技术 ( Anti-spam )
一些与垃圾邮件对抗的库
-
django-simple-captcha - 一个简单、高效、可定制的 Django App,可以给任意 Django 表单添加验证码
https://github.com/mbi/django-simple-captcha
-
django-simple-span-blocker - 简单的垃圾邮件屏蔽组件
https://github.com/moqada/django-simple-spam-blocker
资源管理器 ( Asset Management )
管理、压缩、减小网站资源的工具
-
django-compressor - 压缩链接和内联的 JavaScript 或者 CSS 到单独的缓存文件中
https://github.com/django-compressor/django-compressor
-
django-pipeline - Django 的资源打包库
https://github.com/jazzband/django-pipeline
-
django-storages - Django 的自定义存储后端的工具集合
https://github.com/jschneier/django-storages
-
fanstatic - 打包、优化并且将静态文件依赖作为 Python 的包来提供
http://www.fanstatic.org/en/latest/
-
fileconveyor - 用于检测和同步文件到 CDN、S3 和 FTP 的守护程序
http://wimleers.com/fileconveyor
-
flask-assets - 可以帮助你将网页资源集成到 Flask App 中
https://github.com/miracle2k/flask-assets
-
jinja-assets-compressor - 一个 Jinja 的扩展程序,用来编译和压缩你的资源
https://github.com/jaysonsantos/jinja-assets-compressor
-
webassets - 对你的静态资源进行打包、压缩、管理,并生成独一无二的缓存 URL
https://github.com/miracle2k/webassets
音频 ( Audio )
一些用来控制音频的库
-
audiolazy - Python 的 DSP (数字信号处理) 包
https://github.com/danilobellini/audiolazy
-
audioread - 交叉库(GStreamer + Core Audio + MAD + FFmpeg)音频解码
https://github.com/beetbox/audioread
-
beets - 一个音乐库管理工具以及 MusciBrainz 标签添加工具
http://beets.io/
-
ncmbot - 网易云音乐的 Python Api 库
http://xiyoumc.0x2048.com/ncmbot
-
dejavu - 音频指纹提取和识别
https://github.com/worldveil/dejavu
-
eyeD3- 一个用来操作音频文件的工具,包含 ID3 元文件的 MP3 文件
http://eyed3.nicfit.net/
-
id3reader - 一个用来读取 MP3 原始数据的 Python 库
https://nedbatchelder.com/code/modules/id3reader.py
-
m3u8 - 一个用来解析 m3u8 文件的模块
https://github.com/globocom/m3u8
-
mingus - 一个高级的音乐理论和曲谱包,支持 MIDI 文件和回访功能
http://bspaans.github.io/python-mingus/
-
mutagen - 一个用来处理音频原始数据的 Python 组件
https://github.com/quodlibet/mutagen
-
pyAudioAnalysis- Python 的音频分析库,包含:特征提取、分类、分段和应用
https://github.com/tyiannak/pyAudioAnalysis
-
pydub - 通过简单、高 Level 的接口来操作音频文件
https://github.com/jiaaro/pydub
-
pyechonest - Echo Nest API 的 Python 客户端
https://github.com/echonest/pyechonest
-
talkbox- 一个用来处理语音和信号的 Python 库
http://scikits.appspot.com/talkbox
-
TimeSide - 开源的 Web 音频处理框架
https://github.com/Parisson/TimeSide
-
tinytag - 一个用来读取 mp3 、ogg、flac 以及 Wave 文件原始数据的库。
https://github.com/devsnd/tinytag
授权
一些实现授权方案的库
OAuth
-
Authomatic - 简单但强大的框架,可以用来做身份验证和授权
http://peterhudec.github.io/authomatic/
-
django-allauth - Django 的 授权程序
https://github.com/pennersr/django-allauth
-
django-oauth-toolkit - Django 开发者的礼物, OAuth 2
https://github.com/evonove/django-oauth-toolkit
-
Flask-OAuthlib - 供 Flask 使用的 OAuth 1.0/a 和 2.0 的客户端实现
https://github.com/lepture/flask-oauthlib
-
OAuthLib - 通用且完整的 OAuth 请求和签名逻辑
https://github.com/idan/oauthlib
-
python-oauth2- 一个完全测试的抽象接口,用来创建 OAuth 客户端和服务端
https://github.com/joestump/python-oauth2
-
python-social-auth - 一个简单设置的通用化验证方式
https://github.com/omab/python-social-auth
-
rauth - OAuth 1.0/a 、2.0 和 Ofly 的 Python 库
https://github.com/omab/python-social-auth
-
sanction - 一个炒鸡简单的 OAuth2 客户端的实现
https://github.com/demianbrecht/sanction
Others
-
jose - 针对 JavaScript 对象签名和加密的草稿
https://github.com/demonware/jose
-
PyJWT - JSON Web 令牌草稿的实现01
https://github.com/jpadilla/pyjwt
-
python-jws - JSON Web 签名草稿的实现02
https://github.com/brianloveswords/python-jws
-
python-jwt - 一个用来生成和验证 JSON Web Token 的模块
https://github.com/davedoesdev/python-jwt
构建工具
将源代码编译为软件
-
BitBake - 类似于 Linux 的 make-file 的构建工具
http://www.yoctoproject.org/docs/1.6/bitbake-user-manual/bitbake-user-manual.html
-
buildout - 从多个组件来创建、组装和部署应用的构建系统
http://www.buildout.org/en/latest/
-
PlatformIO - 多平台构建工具
https://github.com/platformio/platformio-core
-
PyBuilder - 纯 Python 的可持续化构建工具
https://github.com/pybuilder/pybuilder
-
SCons - 软件构建工具
http://www.scons.org/
CMS
内存管理系统
-
django-cms - 一个基于 Django 的开源、企业级的 CMS 系统
https://www.django-cms.org/en/
-
djedi-cms - 一个轻量级且非常强大的 Django CMS,考虑到了插件、内联编辑以及性能
http://djedi-cms.org/
-
FeinCMS - 基于 Django 构建的最高级的内容管理系统之一。
http://www.feincms.org/
-
Kotti - 基于Pyramid 的高 Level 、Pythonic 的 Web 应用框架
http://kotti.pylonsproject.org/
-
Mezzanine - 一个强大的、可持续的、灵活的内容管理平台
http://mezzanine.jupo.org/
-
Opps - 一个基于 Django 为杂志、报纸网站以及大流量门户网站所设计的 CMS 平台
http://opps.github.io/opps/
-
Plone - 一个构建于开源应用服务器 Zope 之上的 CMS 平台
https://plone.org/
-
Quokka - 基于 Flask 和 MongoDB 的灵活、可扩展的小型 CMS
http://quokkaproject.org/
-
Wagtail - 一个 Django 内容管理系统
https://wagtail.io/
-
Widgy - 基于 Django 的最新 CMS 框架
http://mezzanine.jupo.org/
Caching
缓存数据的库
-
Beaker - 一个应用在 Web 程序、独立的Python 脚本和应用程序的缓存和会话库
https://github.com/bbangert/beaker
-
DiskCache - SQLite 和文件支持的缓存后端,具有比 memcached 和 redis 更快的查找
http://www.grantjenks.com/docs/diskcache/
-
django-cache-machine - Django 模块的自动化缓存和时效
https://github.com/django-cache-machine/django-cache-machine
-
django-cacheops - 具有自动粒度时间驱动失效的 ORM 缓存
https://github.com/Suor/django-cacheops
-
django-viewlet - 具有缓存控制功能的渲染模板组件
https://github.com/5monkeys/django-viewlet
-
dogpile.cache - 这是 Beaker 的下一代替代品,由同一作者开发
http://dogpilecache.readthedocs.io/en/latest/
-
HermesCache - Python 缓存库,具有基于标签的失效和 dogpile effect 保护功能
https://pypi.python.org/pypi/HermesCache
-
johnny-cache - Django 应用的一个缓存框架
https://github.com/jmoiron/johnny-cache
-
pylibmc - libmemcached 接口的 Python 封装
https://github.com/lericson/pylibmc
ChatOps Tools
用于开发聊天机器人的库
-
Errbot - 用来实现自动聊天工具的,最简单、最流行的聊天机器人
http://errbot.io/en/latest/
Code Analysis and Linter
进行代码分析、解析和操作代码库的组件和工具
代码分析
-
coala - 语言独立并且易扩展的代码分析应用
http://coala.io/
-
code2flow - 将你的 Python 和 JavaScript 代码转换为 DOT(流程图)的工具
https://github.com/scottrogowski/code2flow
-
pycallgraph - 这个库可以将你的 Python 应用的调用图进行可视化
https://github.com/gak/pycallgraph
-
pysonar2 - Python 的类型推断和检索工具
https://github.com/yinwang0/pysonar2
Linter 工具
-
Flake8 - 模块化源代码检索工具:pep8、pyflakes 以及 co
https://pypi.python.org/pypi/flake8
-
pylama - Pyhton 和 JavaScript 的代码审查工具
https://github.com/scottrogowski/code2flow
-
Pylint - 一个完整的可定制的源代码分析工具
https://www.pylint.org/