哪些 Python 庫讓你相見恨晚?
- 2019 年 11 月 27 日
- 筆記
Awesome Python
環境管理
管理 Python 版本和環境的工具
- 我想很多程式設計師應該記得 GitHub 上有一個 Awesome – XXX 系列的資源整理。awesome-python 是 vinta 發起維護的 Python 資源列表,內容包括:Web框架、網路爬蟲、網路內容提取、模板引擎、資料庫、數據可視化、圖片處理、文本處理、自然語言處理、機器學習、日誌、程式碼分析等。
- Awesome Python
- 環境管理
- 包管理
- 包倉庫
- 分發
- 構建工具
- 互動式解析器
- 文件
- 日期和時間
- 文本處理
- 特殊文本格式處理
- 自然語言處理
- 文檔
- 配置
- 命令行工具
- 下載器
- 影像處理
- OCR
- 音頻
- Video
- 地理位置
- HTTP
- 資料庫
- 資料庫驅動
- ORM
- Web 框架
- 許可權
- CMS
- 電子商務
- RESTful API
- 驗證
- 模板引擎
- Queue
- 搜索
- 動態消息
- 資源管理
- 快取
- 電子郵件
- 國際化
- URL處理
- HTML處理
- 網頁內容提取
- 表單
- 數據驗證
- 反垃圾技術
- 標記
- 管理面板
- 靜態站點生成器
- 進程
- 並發和並行
- 網路
- WebSocket
- WSGI 伺服器
- RPC 伺服器
- 密碼學
- 圖形用戶介面
- 遊戲開發
- 日誌
- Testing
- 程式碼分析和Lint工具
- Debugging Tools
- Science and Data Analysis
- p:非常簡單的互動式 python 版本管理工具。官網
- pyenv:簡單的 Python 版本管理工具。官網
- Vex:可以在虛擬環境中執行命令。官網
- virtualenv:創建獨立 Python 環境的工具。官網
- virtualenvwrapper:virtualenv 的一組擴展。官網
包管理
管理包和依賴的工具。
- pip:Python 包和依賴關係管理工具。官網
- pip-tools:保證 Python 包依賴關係更新的一組工具。官網
- conda:跨平台,Python 二進位包管理工具。官網
- Curdling:管理 Python 包的命令行工具。官網
- wheel:Python 分發的新標準,意在取代 eggs。官網
包倉庫
本地 PyPI 倉庫服務和代理。
- warehouse:下一代 PyPI。官網
- Warehouse:PyPA 提供的 PyPI 鏡像工具。官網 bandersnatch
- devpi:PyPI 服務和打包/測試/分發工具。官網
- localshop:本地 PyPI 服務(自定義包並且自動對 PyPI 鏡像)。官網
分發
打包為可執行文件以便分發。
- PyInstaller:將 Python 程式轉換成獨立的執行文件(跨平台)。官網
- dh-virtualenv:構建並將 virtualenv 虛擬環境作為一個 Debian 包來發布。官網
- Nuitka:將腳本、模組、包編譯成可執行文件或擴展模組。官網
- py2app:將 Python 腳本變為獨立軟體包(Mac OS X)。官網
- py2exe:將 Python 腳本變為獨立軟體包(Windows)。官網
- pynsist:一個用來創建 Windows 安裝程式的工具,可以在安裝程式中打包 Python本身。官網
構建工具
將源碼編譯成軟體。
- buildout:一個構建系統,從多個組件來創建,組裝和部署應用。官網
- BitBake:針對嵌入式 Linux 的類似 make 的構建工具。官網
- fabricate:對任何語言自動找到依賴關係的構建工具。官網
- PlatformIO:多平台命令行構建工具。官網
- PyBuilder:純 Python 實現的持續化構建工具。官網
- SCons:軟體構建工具。官網
互動式解析器
互動式 Python 解析器。
- IPython:功能豐富的工具,非常有效的使用互動式 Python。官網
- bpython:介面豐富的 Python 解析器。官網
- ptpython:高級互動式Python解析器, 構建於python-prompt-toolkit 之上。官網
文件
文件管理和 MIME(多用途的網際郵件擴充協議)類型檢測。
- imghdr:(Python 標準庫)檢測圖片類型。官網
- mimetypes:(Python 標準庫)將文件名映射為 MIME 類型。官網
- path.py:對 os.path 進行封裝的模組。官網
- pathlib:(Python3.4+ 標準庫)跨平台的、面向對象的路徑操作庫。官網
- python-magic:文件類型檢測的第三方庫 libmagic 的 Python 介面。官網
- Unipath:用面向對象的方式操作文件和目錄。官網
- watchdog:管理文件系統事件的 API 和 shell 工具官網
日期和時間
操作日期和時間的類庫。
- arrow:更好的 Python 日期時間操作類庫。官網
- Chronyk:Python 3 的類庫,用於解析手寫格式的時間和日期。官網
- dateutil:Python datetime 模組的擴展。官網
- delorean:解決 Python 中有關日期處理的棘手問題的庫。官網
- moment:一個用來處理時間和日期的Python庫。靈感來自於Moment.js。官網
- PyTime:一個簡單易用的Python模組,用於通過字元串來操作日期/時間。官網
- pytz:現代以及歷史版本的世界時區定義。將時區資料庫引入Python。官網
- when.py:提供用戶友好的函數來幫助用戶進行常用的日期和時間操作。官網
文本處理
用於解析和操作文本的庫。
- 通用
- chardet:字元編碼檢測器,兼容 Python2 和 Python3。官網
- difflib:(Python 標準庫)幫助我們進行差異化比較。官網
- ftfy:讓Unicode文本更完整更連貫。官網
- fuzzywuzzy:模糊字元串匹配。官網
- Levenshtein:快速計算編輯距離以及字元串的相似度。官網
- pangu.py:在中日韓語字元和數字字母之間添加空格。官網
- yfiglet-figlet:pyfiglet -figlet 的 Python實現。
- shortuuid:一個生成器庫,用以生成簡潔的,明白的,URL 安全的 UUID。官網
- unidecode:Unicode 文本的 ASCII 轉換形式 。官網
- uniout:列印可讀的字元,而不是轉義的字元串。官網
- xpinyin:一個用於把漢字轉換為拼音的庫。官網
- simplejson:Python的JSON編碼、解碼器。官網、GitHub
- Slug化
- 解析器
特殊文本格式處理
一些用來解析和操作特殊文本格式的庫。
- 通用
- tablib:一個用來處理中表格數據的模組。官網
- Office
- Marmir:把輸入的Python 數據結構轉換為電子錶單。官網
- openpyxl:一個用來讀寫 Excel 2010 xlsx/xlsm/xltx/xltm 文件的庫。官網
- python-docx:讀取,查詢以及修改 Microsoft Word 2007/2008 docx 文件。官網
- unoconv:在 LibreOffice/OpenOffice 支援的任意文件格式之間進行轉換。官網
- XlsxWriter:一個用於創建 Excel .xlsx 文件的 Python 模組。官網
- xlwings:一個使得在 Excel 中方便調用 Python 的庫(反之亦然),基於 BSD 協議。官網
- xlwt:讀寫 Excel 文件的數據和格式資訊。官網 / xlrd
- relatorio:模板化OpenDocument 文件。官網
- Markdown
- YAML
- PyYAML:Python 版本的 YAML 解析器。官網
- CSV
- csvkit:用於轉換和操作 CSV 的工具。官網
- Archive
- unp:一個用來方便解包歸檔文件的命令行工具。官網
自然語言處理
用來處理人類語言的庫。
- NLTK:一個先進的平台,用以構建處理人類語言數據的 Python 程式。官網
- jieba:中文分詞工具。官網
- langid.py:獨立的語言識別系統。官網
- Pattern:Python 網路資訊挖掘模組。官網
- SnowNLP:一個用來處理中文文本的庫。官網
- TextBlob:為進行普通自然語言處理任務提供一致的 API。官網
- TextGrocery:一簡單高效的短文本分類工具,基於 LibLinear 和 Jieba。官網
文檔
用以生成項目文檔的庫。
- Sphinx:Python 文檔生成器。官網
- awesome-sphinxdoc:官網
- MkDocs:對 Markdown 友好的文檔生成器。官網
- pdoc:一個可以替換Epydoc 的庫,可以自動生成 Python 庫的 API 文檔。官網
- Pycco:文學編程(literate-programming)風格的文檔生成器。官網
配置
用來保存和解析配置的庫。
- config:logging 模組作者寫的分級配置模組。官網
- ConfigObj:INI 文件解析器,帶驗證功能。官網
- ConfigParser:(Python 標準庫) INI 文件解析器。官網
- profig:通過多種格式進行配置,具有數值轉換功能。官網
- python-decouple:將設置和程式碼完全隔離。官網
命令行工具
用於創建命令行程式的庫。
- 命令行程式開發
- asciimatics:跨平台,全螢幕終端包(即滑鼠/鍵盤輸入和彩色,定位文本輸出),完整的複雜動畫和特殊效果的高級API。官網
- cement:Python 的命令行程式框架。官網
- click:一個通過組合的方式來創建精美命令行介面的包。官網
- cliff:一個用於創建命令行程式的框架,可以創建具有多層命令的命令行程式。官網
- clint:Python 命令行程式工具。官網
- colorama:跨平台彩色終端文本。官網
- docopt:Python 風格的命令行參數解析器。官網
- fire:用於自動生成命令行介面的內容庫。官網
- Gooey:一條命令,將命令行程式變成一個 GUI 程式。官網
- python-prompt-toolkit:一個用於構建強大的互動式命令行程式的庫。官網
- Pythonpy:在命令行中直接執行任何Python指令。官網
- 生產力工具
- aws-cli:Amazon Web Services 的通用命令行介面。官網
- bashplotlib:在終端中進行基本繪圖。官網
- caniusepython3:判斷是哪個項目妨礙你你移植到 Python 3。官網
- cookiecutter:從 cookiecutters(項目模板)創建項目的一個命令行工具。官網
- doitlive:一個用來在終端中進行現場演示的工具。官網
- howdoi:通過命令行獲取即時的編程問題解答。官網
- httpie:一個命令行HTTP 客戶端,cURL 的替代品,易用性更好。官網
- PathPicker:從bash輸出中選出文件。官網
- percol:向UNIX shell 傳統管道概念中加入互動式選擇功能。官網
- SAWS:一個加強版的 AWS 命令行。官網
- thefuck:修正你之前的命令行指令。官網
- mycli:一個 MySQL 命令行客戶端,具有自動補全和語法高亮功能。官網
- pgcli:Postgres 命令行工具,具有自動補全和語法高亮功能。官網
- try:一個從來沒有更簡單的命令行工具,用來試用python庫。官網
下載器
用來進行下載的庫.
- s3cmd:一個用來管理Amazon S3 和 CloudFront 的命令行工具。官網
- s4cmd:超級 S3 命令行工具,性能更加強勁。官網
- you-get:一個 YouTube/Youku/Niconico 影片下載器,使用 Python3 編寫。官網
- youtube-dl:一個小巧的命令行程式,用來下載 YouTube 影片。官網
影像處理
用來操作影像的庫.
- pillow:Pillow 是一個更加易用版的 PIL。官網
- hmap:影像直方圖映射。官網
- imgSeek:一個使用視覺相似性搜索一組圖片集合的項目。官網
- nude.py:裸體檢測。官網
- pyBarcode:不藉助 PIL 庫在 Python 程式中生成條形碼。官網
- pygram:類似 Instagram 的影像濾鏡。官網
- python-qrcode:一個純 Python 實現的二維碼生成器。官網
- Quads:基於四叉樹的電腦藝術。官網
- scikit-image:一個用於(科學)影像處理的 Python 庫。官網
- thumbor:一個小型影像服務,具有剪裁,尺寸重設和翻轉功能。官網
- wand:MagickWand的Python 綁定。MagickWand 是 ImageMagick的 C API 。官網
- face_recognition:簡單易用的 python 人臉識別庫。官網
OCR
光學字元識別庫。
- pyocr:Tesseract 和 Cuneiform 的一個封裝(wrapper)。官網
- pytesseract:Google Tesseract OCR 的另一個封裝(wrapper)。官網
- python-tesseract – Google Tesseract OCR 的一個包裝類。
音頻
用來操作音頻的庫
- audiolazy:Python 的數字訊號處理包。官網
- audioread:交叉庫 (GStreamer + Core Audio + MAD + FFmpeg) 音頻解碼。官網
- beets:一個音樂庫管理工具及 MusicBrainz 標籤添加工具官網
- dejavu:音頻指紋提取和識別官網
- django-elastic-transcoder:Django + Amazon Elastic Transcoder。官網
- eyeD3:一個用來操作音頻文件的工具,具體來講就是包含 ID3 元資訊的 MP3 文件。官網
- id3reader:一個用來讀取 MP3 元數據的 Python 模組。官網
- m3u8:一個用來解析 m3u8 文件的模組。官網
- mutagen:一個用來處理音頻元數據的 Python 模組。官網
- pydub:通過簡單、簡潔的高層介面來操作音頻文件。官網
- pyechonest:Echo Nest API 的 Python 客戶端官網
- talkbox:一個用來處理演講/訊號的 Python 庫官網
- TimeSide:開源 web 音頻處理框架。官網
- tinytag:一個用來讀取MP3, OGG, FLAC 以及 Wave 文件音樂元數據的庫。官網
- mingus:一個高級音樂理論和曲譜包,支援 MIDI 文件和回放功能。官網
Video
用來操作影片和GIF的庫。
地理位置
地理編碼地址以及用來處理經緯度的庫。
- GeoDjango:世界級地理圖形 web 框架。官網
- GeoIP:MaxMind GeoIP Legacy 資料庫的 Python API。官網
- geojson:GeoJSON 的 Python 綁定及工具。官網
- geopy:Python 地址編碼工具箱。官網
- pygeoip:純 Python GeoIP API。官網
- django-countries:一個 Django 應用程式,提供用於表格的國家選擇功能,國旗圖標靜態文件以及模型中的國家欄位。官網
HTTP
使用HTTP的庫。
- requests:人性化的HTTP請求庫。官網
- grequests:requests 庫 + gevent ,用於非同步 HTTP 請求.官網
- httplib2:全面的 HTTP 客戶端庫。官網
- treq:類似 requests 的Python API 構建於 Twisted HTTP 客戶端之上。官網
- urllib3:一個具有執行緒安全連接池,支援文件 post,清晰友好的 HTTP 庫。官網
資料庫
Python實現的資料庫。
- pickleDB:一個簡單,輕量級鍵值儲存資料庫。官網
- PipelineDB:流式 SQL 資料庫。官網
- TinyDB:一個微型的,面向文檔型資料庫。官網
- ZODB:一個 Python 原生對象資料庫。一個鍵值和對象圖資料庫。官網
資料庫驅動
用來連接和操作資料庫的庫。
- MySQL:awesome-mysql系列
- mysql-python:Python 的 MySQL 資料庫連接器。官網
- ysqlclient:mysql-python 分支,支援 Python 3。
- oursql:一個更好的 MySQL 連接器,支援原生預編譯指令和 BLOBs.官網
- PyMySQL:純 Python MySQL 驅動,兼容 mysql-python。官網
- PostgreSQL
- 其他關係型資料庫
- NoSQL 資料庫
- cassandra-python-driver:Cassandra 的 Python 驅動。官網
- HappyBase:一個為 Apache HBase 設計的,對開發者友好的庫。官網
- Plyvel:一個快速且功能豐富的 LevelDB 的 Python 介面。官網
- py2neo:Neo4j restful 介面的Python 封裝客戶端。官網
- pycassa:Cassandra 的 Python Thrift 驅動。官網
- PyMongo:MongoDB 的官方 Python 客戶端。官網
- redis-py:Redis 的 Python 客戶端。官網
- telephus:基於 Twisted 的 Cassandra 客戶端。官網
- txRedis:基於 Twisted 的 Redis 客戶端。官網
ORM
實現對象關係映射或數據映射技術的庫。
- 關係型資料庫
- NoSQL 資料庫
- 其他
- butterdb:Google Drive 電子表格的 Python ORM。官網
Web 框架
全棧 Web 框架。
- Django:Python 界最流行的 web 框架。官網
- Flask:一個 Python 微型框架。官網
- pyramid:一個小巧,快速,接地氣的開源Python web 框架。
- Bottle:一個快速小巧,輕量級的 WSGI 微型 web 框架。官網
- CherryPy:一個極簡的 Python web 框架,服從 HTTP/1.1 協議且具有WSGI 執行緒池。官網
- TurboGears:一個可以擴展為全棧解決方案的微型框架。官網
- web.py:一個 Python 的 web 框架,既簡單,又強大。官網
- web2py:一個全棧 web 框架和平台,專註於簡單易用。官網
- Tornado:一個web 框架和非同步網路庫。官網
許可權
允許或拒絕用戶訪問數據或功能的庫。
- Carteblanche:Module to align code with thoughts of users and designers. Also magically handles navigation and permissions.官網
- django-guardian:Django 1.2+ 實現了單個對象許可權。官網
- django-rules:一個小巧但是強大的應用,提供對象級別的許可權管理,且不需要使用資料庫。官網
CMS
內容管理系統
- odoo-cms: 一個開源的,企業級 CMS,基於odoo。官網
- django-cms:一個開源的,企業級 CMS,基於 Django。官網
- djedi-cms:一個輕量級但卻非常強大的 Django CMS ,考慮到了插件,內聯編輯以及性能。官網
- FeinCMS:基於 Django 構建的最先進的內容管理系統之一。官網
- Kotti:一個高級的,Python 范的 web 應用框架,基於 Pyramid 構建。官網
- Mezzanine:一個強大的,持續的,靈活的內容管理平台。官網
- Opps:一個為雜誌,報紙網站以及大流量門戶網站設計的 CMS 平台,基於 Django。官網
- Plone:一個構建於開源應用伺服器 Zope 之上的 CMS。官網
- Quokka:靈活,可擴展的小型 CMS,基於 Flask 和 MongoDB。官網
- Wagtail:一個 Django 內容管理系統。官網
- Widgy:最新的 CMS 框架,基於 Django。官網
電子商務
用於電子商務以及支付的框架和庫。
- django-oscar:一個用於 Django 的開源的電子商務框架。官網
- django-shop:一個基於 Django 的店鋪系統。官網
- Cartridge:一個基於 Mezzanine 構建的購物車應用。官網
- shoop:一個基於 Django 的開源電子商務平台。官網
- alipay:非官方的 Python 支付寶 API。官網
- merchant:一個可以接收來自多種支付平台支付的 Django 應用。官網
- money:貨幣類庫with optional CLDR-backed locale-aware formatting and an extensible currency exchange solution.官網
- python-currencies:顯示貨幣格式以及它的數值。官網
RESTful API
用來開發RESTful APIs的庫
- Django
- django-rest-framework:一個強大靈活的工具,用來構建 web API。官網
- django-tastypie:為Django 應用開發API。官網
- django-formapi:為 Django 的表單驗證,創建 JSON APIs 。官網
- Flask
- Pyramid
- cornice:一個Pyramid 的 REST 框架 。官網
- 與框架無關的
驗證
實現驗證方案的庫。
- OAuth
- Authomatic:簡單但是強大的框架,身份驗證/授權客戶端。官網
- django-allauth:Django 的驗證應用。官網
- django-oauth-toolkit:為 Django 用戶準備的 OAuth2。官網
- django-oauth2-provider:為 Django 應用提供 OAuth2 接入。官網
- Flask-OAuthlib:OAuth 1.0/a, 2.0 客戶端實現,供 Flask 使用。官網
- OAuthLib:一個 OAuth 請求-簽名邏輯通用、 完整的實現。官網
- python-oauth2:一個完全測試的抽象介面。用來創建 OAuth 客戶端和服務端。官網
- python-social-auth:一個設置簡單的社會化驗證方式。官網
- rauth:OAuth 1.0/a, 2.0, 和 Ofly 的 Python 庫。官網
- sanction:一個超級簡單的OAuth2 客戶端實現。官網
- 其他
模板引擎
模板生成和詞法解析的庫和工具。
- Jinja2:一個現代的,對設計師友好的模板引擎。官網
- Chameleon:一個 HTML/XML 模板引擎。 模仿了 ZPT(Zope Page Templates), 進行了速度上的優化。官網
- Genshi:Python 模板工具,用以生成 web 感知的結果。官網
- Mako:Python 平台的超高速輕量級模板。官網
Queue
處理事件以及任務隊列的庫。
- celery:一個非同步任務隊列/作業隊列,基於分散式消息傳遞。官網
- huey:小型多執行緒任務隊列。官網
- mrq:Mr. Queue -一個 Python 的分散式 worker 任務隊列, 使用 Redis 和 gevent。官網
- rq:簡單的 Python 作業隊列。官網
- simpleq:一個簡單的,可無限擴張的,基於亞馬遜 SQS 的隊列。官網
搜索
對數據進行索引和執行搜索查詢的庫和軟體。
- django-haystack:Django 模組化搜索。官網
- elasticsearch-py:Elasticsearch 的官方底層 Python 客戶端。官網
- elasticsearch-dsl-py:Elasticsearch 的官方高級 Python 客戶端。官網
- solrpy:solr的 Python 客戶端。官網
- Whoosh:一個快速的純 Python 搜索引擎庫。官網
動態消息
用來創建用戶活動的庫。
資源管理
管理、壓縮、縮小網站資源的工具。
- django-compressor:將鏈接和內聯的 JavaScript 或 CSS 壓縮到一個單獨的快取文件中。官網
- django-storages:一個針對 Django 的自定義存儲後端的工具集合。官網
- fanstatic:打包、優化,並且把靜態文件依賴作為 Python 的包來提供。官網
- File Conveyor:一個後台駐留的程式,用來發現和同步文件到 CDNs, S3 和 FTP。官網
- Flask-Assets:幫你將 web 資源整合到你的 Flask app 中。官網
- jinja-assets-compressor:一個 Jinja 擴展,用來編譯和壓縮你的資源。官網
- webassets:為你的靜態資源打包、優化和管理生成獨一無二的快取 URL。官網
快取
快取數據的庫。
- Beaker:一個快取和會話庫,可以用在 web 應用和獨立 Python腳本和應用上。官網
- django-cache-machine:Django 模型的自動快取和失效。官網
- django-cacheops:具有自動顆粒化事件驅動失效功能的 ORM。官網
- django-viewlet:渲染模板,同時具有額外的快取控制功能。官網
- dogpile.cache:dogpile.cache 是 Beaker 的下一代替代品,由同一作者開發。官網
- HermesCache:Python 快取庫,具有基於標籤的失效和 dogpile effect 保護功能。官網
- johnny-cache:django應用快取框架。官網
- pylibmc:libmemcached 介面的 Python 封裝。官網
電子郵件
用來發送和解析電子郵件的庫。
- django-celery-ses:帶有 AWS SES 和 Celery 的 Django email 後端。官網
- envelopes:供人類使用的電子郵件庫。官網
- flanker:一個 email 地址和 Mime 解析庫。官網
- imbox:Python IMAP 庫官網
- inbox.py:Python SMTP 伺服器。官網
- inbox:一個開源電子郵件工具箱。官網
- lamson:Python 風格的 SMTP 應用伺服器。官網
- mailjet:Mailjet API 實現,用來提供批量發送郵件,統計等功能。官網
- marrow.mailer:高性能可擴展郵件分發框架。官網
- modoboa:一個郵件託管和管理平台,具有現代的、簡約的 Web UI。官網
- pyzmail:創建,發送和解析電子郵件。官網
- Talon:Mailgun 庫,用來抽取資訊和簽名。官網
國際化
用來進行國際化的庫。
URL處理
解析URLs的庫
- furl:一個讓處理 URL 更簡單小型 Python 庫。官網
- purl:一個簡單的,不可變的URL類,具有簡潔的 API 來進行詢問和處理。官網
- pyshorteners:一個純 Python URL 縮短庫。官網
- shorturl:生成短小 URL 和類似 bit.ly 短鏈的Python 實現。官網
- webargs:一個解析 HTTP 請求參數的庫,內置對流行 web 框架的支援,包括 Flask, Django, Bottle, Tornado和 Pyramid。官網
HTML處理
處理 HTML和XML的庫。
- BeautifulSoup:以 Python 風格的方式來對 HTML 或 XML 進行迭代,搜索和修改。官網
- bleach:一個基於白名單的 HTML 清理和文本鏈接庫。官網
- cssutils:一個 Python 的 CSS 庫。官網
- html5lib:一個兼容標準的 HTML 文檔和片段解析及序列化庫。官網
- lxml:一個非常快速,簡單易用,功能齊全的庫,用來處理 HTML 和 XML。官網
- MarkupSafe:為Python 實現 XML/HTML/XHTML 標記安全字元串。官網
- pyquery:一個解析 HTML 的庫,類似 jQuery。官網
- untangle:將XML文檔轉換為Python對象,使其可以方便的訪問。官網
- xhtml2pdf:HTML/CSS 轉 PDF 工具。官網
- xmltodict:像處理 JSON 一樣處理 XML。官網
爬取網路站點的庫
- Scrapy:一個快速高級的螢幕爬取及網頁採集框架。官網
- cola:一個分散式爬蟲框架。官網
- Demiurge:基於PyQuery 的爬蟲微型框架。官網
- feedparser:通用 feed 解析器。官網
- Grab:站點爬取框架。官網
- MechanicalSoup:用於自動和網路站點交互的 Python 庫。官網
- portia:Scrapy 可視化爬取。官網
- pyspider:一個強大的爬蟲系統。官網
- RoboBrowser:一個簡單的,Python 風格的庫,用來瀏覽網站,而不需要一個獨立安裝的瀏覽器。官網
網頁內容提取
用於進行網頁內容提取的庫。
- Haul:一個可以擴展的影像爬取工具。官網
- html2text:將 HTML 轉換為 Markdown 格式文本官網
- lassie:人性化的網頁內容檢索庫。官網
- micawber:一個小型網頁內容提取庫,用來從 URLs 提取富內容。官網
- newspaper:使用 Python 進行新聞提取,文章提取以及內容策展。官網
- opengraph:一個用來解析開放內容協議(Open Graph Protocol)的 Python模組。官網
- python-goose:HTML內容/文章提取器。官網
- python-readability:arc90 公司 readability 工具的 Python 高速埠。官網
- sanitize:為雜亂的數據世界帶來調理性。官網
- sumy:一個為文本文件和 HTML 頁面進行自動摘要的模組。官網
- textract:從任何格式的文檔中提取文本,Word,PowerPoint,PDFs 等等。官網
表單
進行表單操作的庫。
- Deform:Python HTML 表單生成庫,受到了 formish 表單生成庫的啟發。官網
- django-bootstrap3:集成了 Bootstrap 3 的 Django。官網
- django-crispy-forms:一個 Django 應用,他可以讓你以一種非常優雅且 DRY(Don』t repeat yourself) 的方式來創建美觀的表單。官網
- django-remote-forms:一個平台獨立的 Django 表單序列化工具。官網
- WTForms:一個靈活的表單驗證和呈現庫。官網
- WTForms-JSON:一個 WTForms 擴展,用來處理 JSON 數據。官網
數據驗證
數據驗證庫。多用於表單驗證。
- Cerberus:A mappings-validator with a variety of rules, normalization-features and simple customization that uses a pythonic schema-definition.官網
- colander:一個用於對從 XML, JSON,HTML 表單獲取的數據或其他同樣簡單的序列化數據進行驗證和反序列化的系統。官網
- kmatch:一種用於匹配/驗證/篩選 Python 字典的語言。官網
- schema:一個用於對 Python 數據結構進行驗證的庫。官網
- Schematics:數據結構驗證。官網
- valideer:輕量級可擴展的數據驗證和適配庫。官網
- voluptuous:一個 Python 數據驗證庫。主要是為了驗證傳入 Python的 JSON,YAML 等數據。官網
反垃圾技術
幫助你和電子垃圾進行戰鬥的庫。
- django-simple-captcha:一個簡單、高度可訂製的Django 應用,可以為任何Django表單添加驗證碼。官網
- django-simple-spam-blocker:一個用於Django的簡單的電子垃圾屏蔽工具。官網
標記
用來進行標記的庫。
- django-taggit:簡單的 Django 標記工具。官網
管理面板
管理介面庫。
- Ajenti:一個你的伺服器值得擁有的管理面板。官網
- django-suit:Django 管理介面的一個替代品 (僅對於非商業用途是免費的)。官網
- django-xadmin:Django admin 的一個替代品,具有很多不錯的功能。官網
- flask-admin:一個用於 Flask 的簡單可擴展的管理介面框架。官網
- flower:一個對 Celery 集群進行實時監控和提供 web 管理介面的工具。官網
- Grappelli:Django 管理介面的一個漂亮的皮膚。官網
- Wooey:一個 Django 應用,可以為 Python 腳本創建 web 用戶介面。官網
靜態站點生成器
靜態站點生成器是一個軟體,它把文本和模板作為輸入,然後輸出HTML文件。
- Pelican:使用 Markdown 或 ReST 來處理內容, Jinja 2 來製作主題。支援 DVCS, Disqus.。AGPL 許可。官網
- Cactus:為設計師設計的靜態站點生成器。官網
- Hyde:基於 Jinja2 的靜態站點生成器。官網
- Nikola:一個靜態網站和部落格生成器。官網
- Tinkerer:Tinkerer 是一個部落格引擎/靜態站點生成器,由Sphinx驅動。官網
- Lektor:一個簡單易用的靜態 CMS 和部落格引擎。官網
進程
作業系統進程啟動及通訊庫。
- envoy:比 Python subprocess 模組更人性化。官網
- sarge:另一 種 subprocess 模組的封裝。官網
- sh:一個完備的 subprocess 替代庫。官網
並發和並行
用以進行並發和並行操作的庫。
- multiprocessing:(Python 標準庫) 基於進程的「執行緒」介面。官網
- threading:(Python 標準庫)更高層的執行緒介面。官網
- eventlet:支援 WSGI 的非同步框架。官網
- gevent:一個基於協程的 Python 網路庫,使用greenlet。官網
- Tomorrow:用於產生非同步程式碼的神奇的裝飾器語法實現。官網
- uvloop:在libuv之上超快速實現asyncio事件循環。官網
網路
用於網路編程的庫。
- asyncio:(Python 標準庫) 非同步 I/O, 事件循環, 協程以及任務。官網
- Twisted:一個事件驅動的網路引擎。官網
- pulsar:事件驅動的並發框架。官網
- diesel:基於Greenlet 的事件 I/O 框架。官網
- pyzmq:一個 ZeroMQ 消息庫的 Python 封裝。官網
- txZMQ:基於 Twisted 的 ZeroMQ 消息庫的 Python 封裝。官網
WebSocket
幫助使用WebSocket的庫。
- AutobahnPython:給 Python 、使用的 WebSocket & WAMP 基於 Twisted 和 asyncio。官網
- Crossbar:開源統一應用路由(Websocket & WAMP for Python on Autobahn).官網
- django-socketio:給 Django 用的 WebSockets。官網
- WebSocket-for-Python:為Python2/3 以及 PyPy 編寫的 WebSocket 客戶端和伺服器庫。官網
WSGI 伺服器
兼容 WSGI 的 web 伺服器
- gunicorn:Pre-forked, 部分是由 C 語言編寫的。官網
- uwsgi:uwsgi 項目的目的是開發一組全棧工具,用來建立託管服務, 由 C 語言編寫。官網
- bjoern:非同步,非常快速,由 C 語言編寫。官網
- fapws3:非同步 (僅對於網路端),由 C 語言編寫。官網
- meinheld:非同步,部分是由 C 語言編寫的。官網
- netius:非同步,非常快速。官網
- paste:多執行緒,穩定,久經考驗。官網
- rocket:多執行緒。官網
- waitress:多執行緒, 是它驅動著 Pyramid 框架。官網
- Werkzeug:一個 WSGI 工具庫,驅動著 Flask ,而且可以很方便大嵌入到你的項目中去。官網
RPC 伺服器
兼容 RPC 的伺服器。
- SimpleJSONRPCServer:這個庫是 JSON-RPC 規範的一個實現。官網
- SimpleXMLRPCServer:(Python 標準庫) 簡單的 XML-RPC 伺服器實現,單執行緒。官網
- zeroRPC:zerorpc 是一個靈活的 RPC 實現,基於 ZeroMQ 和 MessagePack。官網
密碼學
- cryptography:這個軟體包意在提供密碼學基本內容和方法提供給 Python 開發者。官網
- hashids:在 Python 中實現 hashids 。官網
- Paramiko:SSHv2 協議的 Python (2.6+, 3.3+) ,提供客戶端和服務端的功能。官網
- Passlib:安全密碼存儲/哈希庫,官網
- PyCrypto:Python 密碼學工具箱。官網
- PyNacl:網路和密碼學(NaCl) 庫的 Python 綁定。官網
圖形用戶介面
用來創建圖形用戶介面程式的庫。
- curses:內建的 ncurses 封裝,用來創建終端圖形用戶介面。官網
- enaml:使用類似 QML 的Declaratic語法來創建美觀的用戶介面。官網
- kivy:一個用來創建自然用戶交互(NUI)應用程式的庫,可以運行在 Windows, Linux, Mac OS X, Android 以及 iOS平台上。官網
- pyglet:一個Python 的跨平台窗口及多媒體庫。官網
- PyQt:跨平台用戶介面框架 Qt 的 Python 綁定 ,支援Qt v4 和 Qt v5。官網
- PySide:P跨平台用戶介面框架 Qt 的 Python 綁定 ,支援Qt v4。官網
- Tkinter:Tkinter 是 Python GUI 的一個事實標準庫。官網
- Toga:一個 Python 原生的, 作業系統原生的 GUI 工具包。官網
- urwid:一個用來創建終端 GUI 應用的庫,支援組件,事件和豐富的色彩等。官網
- wxPython:wxPython 是 wxWidgets C++ 類庫和 Python 語言混合的產物。官網
- PyGObject:GLib/GObject/GIO/GTK+ (GTK+3) 的 Python 綁定官網
- Flexx:Flexx 是一個純 Python 語言編寫的用來創建 GUI 程式的工具集,它使用 web 技術進行介面的展示。官網
遊戲開發
超贊的遊戲開發庫。
- Cocos2d:cocos2d 是一個用來開發 2D 遊戲, 示例和其他圖形/交互應用的框架。基於 pyglet。官網
- Panda3D:由迪士尼開發的 3D 遊戲引擎,並由卡內基梅隴娛樂技術中心負責維護。使用C++編寫, 針對 Python 進行了完全的封裝。官網
- Pygame:Pygame 是一組 Python 模組,用來編寫遊戲。官網
- PyOgre:Ogre 3D 渲染引擎的 Python 綁定,可以用來開發遊戲和模擬程式等任何 3D 應用。官網
- PyOpenGL:OpenGL 的 Python 綁定及其相關 APIs。官網
- PySDL2:SDL2 庫的封裝,基於 ctypes。官網
- RenPy:一個視覺小說(visual novel)引擎。官網
日誌
用來生成和操作日誌的庫。
- logging:(Python 標準庫) 為 Python 提供日誌功能。官網
- logbook:Logging 庫的替代品。官網
- Eliot:為複雜的和分散式系統創建日誌。官網
- Raven:Sentry的 Python 客戶端。官網
- Sentry:實時記錄和收集日誌的伺服器。官網
Testing
進行程式碼庫測試和生成測試數據的庫。
- 測試框架
- unittest:(Python 標準庫) 單元測試框架。官網
- nose:nose 擴展了 unittest 的功能。官網
- contexts:一個 Python 3.3+ 的 BDD 框架。受到C# – Machine.Specifications的啟發。官網
- hypothesis:Hypothesis 是一個基於先進的 Quickcheck 風格特性的測試庫。官網
- mamba:Python 的終極測試工具, 擁護BDD。官網
- PyAutoGUI:PyAutoGUI 是一個人性化的跨平台 GUI 自動測試模組。官網
- pyshould:Should 風格的斷言,基於 PyHamcrest。官網
- pytest:一個成熟的全功能 Python 測試工具。官網
- green:乾淨,多彩的測試工具。官網
- pyvows:BDD 風格的測試工具,受Vows.js的啟發。官網–
- Robot Framework:一個通用的自動化測試框架。官網
- Web 測試
- Mock測試
- 對象工廠
- 程式碼覆蓋率
- 偽數據
- 錯誤處理
- FuckIt.py:FuckIt.py 使用最先進的技術來保證你的 Python 程式碼無論對錯都能繼續運行。官網
程式碼分析和Lint工具
進行程式碼分析,解析和操作程式碼庫的庫和工具。
- 程式碼分析
- Lint工具
- 程式碼格式化
- autopep8:自動格式化 Python 程式碼,以使其符合 PEP8 規範。官網
Debugging Tools
用來進行程式碼調試的庫。
- 調試器
- ipdb:IPython 啟用的 pdb。官網
- pudb:全螢幕,基於控制台的 Python 調試器。官網
- pyringe:可以在 Python 進程中附加和注入程式碼的調試器。官網
- wdb:一個奇異的 web 調試器,通過 WebSockets 工作。官網
- winpdb:一個具有圖形用戶介面的 Python 調試器,可以進行遠程調試,基於 rpdb2。官網
- django-debug-toolbar:為 Django 顯示各種調試資訊。官網
- django-devserver:一個 Django 運行伺服器的替代品。官網
- flask-debugtoolbar:django-debug-toolbar 的 flask 版。官網
- 性能分析器
- lineprofiler:逐行性能分析。官網
- Memory Profiler:監控 Python 程式碼的記憶體使用。官網、記憶體
- profiling:一個互動式 Python 性能分析工具。官網
- 其他
Science and Data Analysis
用來進行科學計算和數據分析的庫。
- astropy:一個天文學 Python 庫。官網
- bcbio-nextgen:這個工具箱為全自動高通量測序分析提供符合最佳實踐的處理流程。官網
- bccb:生物分析相關程式碼集合官網
- Biopython:Biopython 是一組可以免費使用的用來進行生物計算的工具。官網
- blaze:NumPy 和 Pandas 的大數據介面。官網
- cclib:一個用來解析和解釋計算化學軟體包輸出結果的庫。官網
- NetworkX:一個為複雜網路設計的高性能軟體。官網
- Neupy:執行和測試各種不同
原創文章,轉載請註明: 轉載自URl-team
本文鏈接地址: 哪些 Python 庫讓你相見恨晚?
No related posts.