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

作者:馬超

來源:微信公眾號 DeveloperPython

更多精彩文章,關注專欄:學習編程 - 知乎專欄

上一篇文章 推薦一些相見恨晚的 Python 庫 「一」 對 Awesome Python 做了個簡單的介紹,同時匯總了一部分優秀的 Python 庫,那麼這篇文章繼續安利一些相見恨晚的庫,旨在讓你在需要的時候能夠派上用場。

在安利之前,聊聊其他的事情。

最近這兩天抽空研究了一下「新技術」 ReactNative,話說這個 RN 也是火了很長時間了,不過一直沒有憋出個 1.0 版本。因此對於開發者來講,從環境到使用會有各種坑需要踩。不過還好有 stackoverflow ,大部分問題都能查到。同時,借著這篇文章問下大家,若有對 RN 感興趣或者正在使用 RN 開發的同學,可以在公眾號後台回復 RN 獲取到 微信群二維碼,我們一起交流前進。

好了說正事,

這篇文章同樣是翻譯自 Awesome Python 的匯總,主要包括:命令行工具庫Python 版本兼容性庫計算機視覺庫並發和並行庫Python 配置庫密碼學數據分析數據校驗數據可視化以及資料庫的一些 Python 庫。希望對你的工作有用。

1. 命令行工具 ( Command-line Tools)

創建命令行程序的庫

命令行程序開發

  • asciimatics - 跨平台、全屏終端包(i.e. 滑鼠/鍵盤輸入、彩色、定位文本輸出),完整的複雜動畫和特效的高級 API

github.com/peterbrittai

  • cement - Python 的命令行 (CLI) 應用框架

builtoncement.com/

  • click - 一個通過組合(composable)方式來創建漂亮命令行工具的包

click.pocoo.org/dev/

  • cliff - 一個可以創建多層(multi-level)命令的命令行程序框架

docs.openstack.org/deve

  • clint - Python 命令行程序工具

github.com/kennethreitz

  • colorama - 跨平台(Cross-platform)的彩色(colored)終端文本

grappelliproject.com/

  • docopt - 很 Python(Pythonic) 風格的命令行參數解析器

docopt.org/

  • Gooey - 一條命令將命令行程序轉化為一個 GUI 程序 (Turn...into...)

github.com/chriskiehl/G

  • Python-Fire - 一個用於從任何 Python 對象創建命令行界面 (CLI) 的庫

github.com/google/pytho

  • python-prompt-toolkit - 一個用於構建強大的互動式命令行程序的庫

github.com/jonathanslen

2. 生產力工具

  • aws-cli - AWS 的通用命令行界面

github.com/aws/aws-cli

  • bashplotlib - 在終端中進行基本的繪圖操作

github.com/glamp/bashpl

  • caniusepython3 - 判斷哪些項目 block 了你移植到 Python3 的工作

github.com/brettcannon/

  • cookiecutter - 從 cookiecutters(項目模板)中創建項目的一個命令行工具

github.com/audreyr/cook

  • doitlive - 一個用來在終端中進行現場演示的工具

github.com/sloria/doitl

  • howdoi - 通過終端即時的獲取編程問題的答案

github.com/gleitz/howdo

  • httpie - cURL 的替代品,一個命令行 HTTP 客戶端

github.com/jakubroztoci

  • mycli - 一個 MySQL 的命令行客戶端,具有自動補全和語法高亮的功能

github.com/dbcli/mycli

  • PathPicker - 從 bash中輸出選中的文件

github.com/facebook/Pat

  • percol - 在 UNIX shell 傳統管道中加入互動式選擇功能

github.com/mooz/percol

  • pgcli - Postgres 命令行工具,具有自動補全和語法高亮的功能

github.com/dbcli/pgcli

  • SAWS - 加強版的 AWS 命令行 ( Supercharged)

github.com/donnemartin/

  • thefuck - 修正你之前的命令行指令 (Correcting)

github.com/nvbn/thefuck

  • try - 一個絕逼簡單的命令行工具,用來試用 Python 庫 (It`s never been easier)

github.com/nvbn/thefuck

3. 兼容性 (Compatibility)

幫助從 Python 2 遷移到 Python 3 的庫

  • Python-Future - Python 2 和 3 之間丟失的那個兼容性層

python-future.org/index

  • Python-Modernize - 使當前 Python 代碼更加現代化,以便於最終遷移到 Python3

github.com/mitsuhiko/py

  • six- 666, Python2 和 3 的兼容性工具

pypi.python.org/pypi/si

4. 計算機視覺 ( Computer Vision)

計算機視覺庫

  • OpenCV - 開源的計算機視覺庫

opencv.org/

  • pyocr- Tesseract 和 Cuneiform 的封裝庫 (wrapper)

github.com/openpaperwor

  • pytesseract - Google Tesseract OCR 的另一個封裝庫

github.com/madmaze/pyte

  • SimpleCV- 一個用來創建計算機視覺應用的開源框架

simplecv.org/

並發和並行 ( Concurrency and Parallelism )

用於操作並發和並行的庫

  • eventlet - 支持 WSGI 的非同步框架 ( Asynchronous)

eventlet.net/

  • gevent - 使用 greenlet的一個基於協程的 Python 網路庫(coroutine-based)

gevent.org/

  • multiprocessing - (Python 標準庫) 基於進程的「 線程 」介面

docs.python.org/2/libra

  • theading - (Python 標準庫) 更高層的線程介面

docs.python.org/2/libra

  • Tomorrow - 神奇的產生非同步代碼的裝飾器語法實現(Magic decorator syntax)

github.com/madisonmay/T

  • uvloop- 在 libuv 之上超快速實現 asyncio 事件循環

github.com/MagicStack/u

5. 配置 ( Configuration )

用來保存和解析配置的庫

  • config - logging 模塊作者編寫的分級配置模塊 (Hierarchical)

red-dove.com/config-doc

  • ConfigObj - 帶驗證功能的 INI 文件解析器 ( validation)

voidspace.org.uk/python

  • ConfigParser - ( Python 標準庫 ) INI 文件解析器

docs.python.org/2/libra

  • profig - 具有數值轉換功能的,多種格式進行配置的庫

profig.readthedocs.org/

  • python-decouple - 將設置和代碼完全隔離 ( Strict separation)

github.com/henriquebast

密碼學

  • cryptography - 這個軟體包,旨在提供密碼學基礎內容和方法給 Python 開發者

cryptography.io/en/late

  • hashids - 用 Python 實現的 hashids

github.com/davidaurelio

  • Paramiko - SSHv2 協議的 Python 庫 (2.6+ 3.3+),提供客戶端和伺服器的功能

paramiko.org/

  • Passlib - 安全密碼存儲/哈希庫,非常牛逼

pythonhosted.org/passli

  • PyNacl - 網路和密碼學(NaCI)庫的 Python 結合

github.com/pyca/pynacl

6. 數據分析(Data Analysis)

數據分析的庫

  • Blaze - NumPy 和 Pandas 的大數據介面

github.com/blaze/blaze

  • Open Mining - 商業情報(BI)的 Pandas 介面

github.com/mining/minin

  • Orange - 通過可視化編程或者 Python 腳本進行數據挖掘、數據可視化、分析和機器學習

orange.biolab.si/

  • Pandas - 提供高性能,易用的數據結構和數據分析工具

pandas.pydata.org/

數據校驗(Data Validation)

數據校驗庫,對用於表單校驗

  • Cerberus - 輕量級的可擴展的數據校驗庫

github.com/pyeve/cerber

  • colander -一個用於對 XML、JSON、HTML 以及其他同樣簡單的序列化數據進行校驗和反序列化的庫

docs.pylonsproject.org/

  • jsonschema - JSON Schema 的 Python 實現

github.com/Julian/jsons

  • schema - 校驗 Python 數據結構的庫

github.com/keleshev/sch

  • Schematics - 數據結構驗證

github.com/schematics/s

  • valideer - 輕量級可擴展的數據驗證和適配庫

github.com/podio/valide

  • voluptuous - 一個 Python 數據校驗庫。主要為了驗證傳入 Python 的 JSON、YAML等數據

github.com/alecthomas/v

7. 數據可視化(Data Visualization)

進行數據可視化的庫。

  • Altair - Python 的聲明式統計可視化庫

github.com/altair-viz/a

  • Bokeh - 用 Python 進行互動式的 Web 繪圖(Interactive)

github.com/bokeh/bokeh

  • ggplot - ggplot2 給 R 提供的 API 的 Python 版本

github.com/yhat/ggpy

  • Matplotlib - 一個 Python 2D 繪圖庫

matplotlib.org/

  • Pygal - 一個 Python SVG 圖標創建工具

pygal.org/en/latest/

  • PyGraphviz - Graphviz 的 Python 介面

pypi.python.org/pypi/py

  • PyQtGraph - 互動式實時 2D/3D/圖像繪製及科學/工程學組件

pyqtgraph.org/

  • Seaborn - 使用 Matplotlib 進行統計數據可視化

github.com/mwaskom/seab

  • VisPy - 基於 OpenGL 的高性能科學可視化工具

github.com/vispy/vispy

8. 資料庫(Database)

Python 實現的資料庫

  • pickleDB - 一個簡單、輕量級的鍵值儲存資料庫

pythonhosted.org/pickle

  • PipelineDB - 流式 SQL 資料庫

pipelinedb.com/

  • TinyDB - 一個微型的、面向文檔型的資料庫

github.com/msiemens/tin

  • ZODB - 一個 Python 原生對象資料庫。一個鍵值和對象圖資料庫

zodb.org/en/latest/

最後,要說的話都在文章開頭!!!


推薦閱讀:

學會最簡單的資料庫|看完這7招就夠了
Python 高級編程:理解生成器
Python Generator漫談
在 Pycom 使用 Python + Micropython + MQTT 進行物聯網編程
Python 字元編碼的二三事

TAG:编程 | Python | 互联网 |