1. 程式人生 > >推薦一些相見恨晚的 Python 庫 「一」

推薦一些相見恨晚的 Python 庫 「一」

首先說明下,這篇文章篇幅過長並且大部分是連結,因此非常適合在電腦端開啟訪問。

本文內容摘自 Github 上有名的 Awesome Python。這是由 vinta 在 14 年發起並持續維護的一個專案。

Awesome Python 涵蓋了 Python 的方方面面,主要有 Web框架、網路爬蟲、網路內容提取、模板引擎、資料庫、圖片處理、資料視覺化、文字處理、自然語言處理、機器學習、日誌、程式碼分析等。學會這些庫,保證你在 Python 方面會有質的飛躍

以下內容是我基於 Awesome Python 和部分中文文件做出的翻譯和歸納,由於內容過多,這篇只是歸納的第一部分,後續會持續更新。每個條目由 庫名 + 裝逼名言 + 連結 組成。

2. 管理面板 ( Admin Panels)

Admin 面板的開源庫

  • Ajenti - 你的伺服器應該擁有的管理面板
  • django-suit - Django管理面板的替代品(非營利組織可免費使用)
  • django-xadmin - 擁有很多不錯功能的 Django Admin 替代品
  • flask-admin - 一個簡單可擴充套件的 Flask 管理介面框架
  • flower - 一個 Celery 叢集的實時監控和網頁管理工具
  • Grappelli - Django 管理面板的一個非常騷氣的面板
  • Wooey - Django的一個應用,可為 Python 指令碼自動建立網頁 UI

3. 演算法和設計模式 (Algorithms and Design Patterns)

Python 實現的一些演算法和設計模式

  • algorithms - 一個 Python 的演算法模組
  • PyPattyrn - 一個實現了常見設計模式的簡單且有效的 Python 庫
  • python-patterns - Python 設計模式的彙總
  • sortedcontainers - 高效的,純 Python 實現的 SortedList、SortedDict 和 SortedSet 型別。

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

一些與垃圾郵件對抗的庫

  • django-simple-captcha - 一個簡單、高效、可定製的 Django App,可以給任意 Django 表單新增驗證碼
  • django-simple-span-blocker - 簡單的垃圾郵件遮蔽元件

5. 資源管理器 ( Asset Management )

管理、壓縮、減小網站資源的工具

  • django-compressor - 壓縮連結和內聯的 JavaScript 或者 CSS 到單獨的快取檔案中
  • django-pipeline - Django 的資源打包庫
  • django-storages - Django 的自定義儲存後端的工具集合
  • fanstatic - 打包、優化並且將靜態檔案依賴作為 Python 的包來提供
  • fileconveyor - 用於檢測和同步檔案到 CDN、S3 和 FTP 的守護程式
  • flask-assets - 可以幫助你將網頁資源整合到 Flask App 中
  • jinja-assets-compressor - 一個 Jinja 的擴充套件程式,用來編譯和壓縮你的資源
  • webassets - 對你的靜態資源進行打包、壓縮、管理,並生成獨一無二的快取 URL

6. 音訊 ( Audio )

一些用來控制音訊的庫

  • audiolazy - Python 的 DSP (數字訊號處理) 包
  • audioread - 交叉庫(GStreamer + Core Audio + MAD + FFmpeg)音訊解碼
  • beets - 一個音樂庫管理工具以及 MusciBrainz 標籤新增工具
  • ncmbot - 網易雲音樂的 Python Api 庫
  • dejavu - 音訊指紋提取和識別
  • eyeD3- 一個用來操作音訊檔案的工具,包含 ID3 元檔案的 MP3 檔案
  • id3reader - 一個用來讀取 MP3 原始資料的 Python 庫
  • m3u8 - 一個用來解析 m3u8 檔案的模組
  • mingus - 一個高階的音樂理論和曲譜包,支援 MIDI 檔案和回訪功能
  • mutagen - 一個用來處理音訊原始資料的 Python 元件
  • pyAudioAnalysis- Python 的音訊分析庫,包含:特徵提取、分類、分段和應用
  • pydub - 通過簡單、高 Level 的介面來操作音訊檔案
  • pyechonest - Echo Nest API 的 Python 客戶端
  • talkbox- 一個用來處理語音和訊號的 Python 庫
  • TimeSide - 開源的 Web 音訊處理框架
  • tinytag - 一個用來讀取 mp3 、ogg、flac 以及 Wave 檔案原始資料的庫。

7. 授權

一些實現授權方案的庫

OAuth

  • Authomatic - 簡單但強大的框架,可以用來做身份驗證和授權
  • django-allauth - Django 的 授權程式
  • django-oauth-toolkit - Django 開發者的禮物, OAuth 2
  • Flask-OAuthlib - 供 Flask 使用的 OAuth 1.0/a 和 2.0 的客戶端實現
  • OAuthLib - 通用且完整的 OAuth 請求和簽名邏輯
  • python-oauth2- 一個完全測試的抽象介面,用來建立 OAuth 客戶端和服務端
  • python-social-auth - 一個簡單設定的通用化驗證方式
  • rauth - OAuth 1.0/a 、2.0 和 Ofly 的 Python 庫
  • sanction - 一個炒雞簡單的 OAuth2 客戶端的實現

Others

  • jose - 針對 JavaScript 物件簽名和加密的草稿
  • PyJWT - JSON Web 令牌草稿的實現01
  • python-jws - JSON Web 簽名草稿的實現02
  • python-jwt - 一個用來生成和驗證 JSON Web Token 的模組

8. 構建工具

將原始碼編譯為軟體

  • BitBake - 類似於 Linux 的 make-file 的構建工具
  • buildout - 從多個元件來建立、組裝和部署應用的構建系統
  • PlatformIO - 多平臺構建工具
  • PyBuilder - 純 Python 的可持續化構建工具
  • SCons - 軟體構建工具

9. CMS

內容管理系統

  • django-cms - 一個基於 Django 的開源、企業級的 CMS 系統
  • djedi-cms - 一個輕量級且非常強大的 Django CMS,考慮到了外掛、內聯編輯以及效能
  • FeinCMS - 基於 Django 構建的最高階的內容管理系統之一。
  • Kotti - 基於Pyramid 的高 Level 、Pythonic 的 Web 應用框架
  • Mezzanine - 一個強大的、可持續的、靈活的內容管理平臺
  • Opps - 一個基於 Django 為雜誌、報紙網站以及大流量入口網站所設計的 CMS 平臺
  • Plone - 一個構建於開源應用伺服器 Zope 之上的 CMS 平臺
  • Quokka - 基於 Flask 和 MongoDB 的靈活、可擴充套件的小型 CMS
  • Wagtail - 一個 Django 內容管理系統
  • Widgy - 基於 Django 的最新 CMS 框架

10. Caching

快取資料的庫

  • Beaker - 一個應用在 Web 程式、獨立的Python 指令碼和應用程式的快取和會話庫
  • DiskCache - SQLite 和檔案支援的快取後端,具有比 memcached 和 redis 更快的查詢
  • django-cache-machine - Django 模組的自動化快取和時效
  • django-cacheops - 具有自動粒度時間驅動失效的 ORM 快取
  • django-viewlet - 具有快取控制功能的渲染模板元件
  • dogpile.cache - 這是 Beaker 的下一代替代品,由同一作者開發
  • HermesCache - Python 快取庫,具有基於標籤的失效和 dogpile effect 保護功能
  • johnny-cache - Django 應用的一個快取框架
  • pylibmc - libmemcached 介面的 Python 封裝

11. ChatOps Tools

用於開發聊天機器人的庫

  • Errbot - 用來實現自動聊天工具的,最簡單、最流行的聊天機器人

12. Code Analysis and Linter

進行程式碼分析、解析和操作程式碼庫的元件和工具

程式碼分析

  • coala - 語言獨立並且易擴充套件的程式碼分析應用
  • code2flow - 將你的 Python 和 JavaScript 程式碼轉換為 DOT(流程圖)的工具
  • pycallgraph - 這個庫可以將你的 Python 應用的呼叫圖進行視覺化
  • pysonar2 - Python 的型別推斷和檢索工具

Linter 工具

  • Flake8 - 模組化原始碼檢索工具:pep8、pyflakes 以及 co
  • pylama - Pyhton 和 JavaScript 的程式碼審查工具
  • Pylint - 一個完整的可定製的原始碼分析工具

匆匆忙忙,新的一週又開始,希望第一部分的庫能幫助到你的工作。當然,後續會繼續更新。