tach
一個 Python 工具,用於視覺化與強制執行相依性,採用模組化架構 🌎 開源 🐍 可透過 pip 安裝 🔧 可逐步採用 - ⚡ 實作無執行時期影響 ♾️ 可與現有系統互通 🦀 以 Rust 撰寫
tach 是什麼?
一個 Python 工具,用於視覺化與強制執行相依性,採用模組化架構 🌎 開源 🐍 可透過 pip 安裝 🔧 可逐步採用 - ⚡ 實作無執行時期影響 ♾️ 可與現有系統互通 🦀 以 Rust 撰寫
tach 概覽
這是什麼
Tach 是一個用 Rust 撰寫的 Python 工具,用於強制執行相依性與介面。它受到模組化單體架構的啟發。Tach 可以強制匯入只能來自宣告的相依性、跨模組呼叫必須使用公開介面,以及相依性圖中不能有循環。它是開放原始碼、可透過 pip 安裝、能夠逐步採用、實作時不影響執行時期,並且可與現有系統互通。
主要功能
- 強制匯入只能來自宣告的相依性 - 強制跨模組呼叫使用公開介面 - 強制相依性圖中無循環 - 支援模組的公開介面 - 支援棄用個別相依性 - 支援分層架構 - 支援逐步採用、產生 JSON 相依性圖、單一儲存庫與命名空間套件、領域所有權、行內忽略註解,以及 pre-commit 鉤子
使用情境
Tach 可用於在 Python 專案中強制執行模組化架構、視覺化相依性圖,並整合 CI/CD、pre-commit 鉤子與 VS Code。它適用於單一儲存庫、命名空間套件,以及需要維護清晰模組邊界的專案。
快速開始
透過 pip 安裝 Tach: bash pip install tach 然後執行設定指令: bash tach init 若要強制執行邊界,請執行: bash tach check 若要視覺化相依性圖: bash tach show [--web]
授權與價格
授權為 MIT。價格類型為開放原始碼。
內容整理自該專案公開的 README 與儲存庫資訊。