推荐一些相见恨晚的 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/

你可能感兴趣的