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 與儲存庫資訊。

將此徽章加入你的 README

Featured on YunoDB 徽章樣式與說明

你是這個專案的維護者嗎?展示它已收錄於 YunoDB。

Markdown[![Featured on YunoDB](https://yunodb.com/badge/tach-orgtach.svg)](https://yunodb.com/tools/tach-orgtach?utm_source=github&utm_medium=badge)
HTML<a href="https://yunodb.com/tools/tach-orgtach?utm_source=github&utm_medium=badge"><img src="https://yunodb.com/badge/tach-orgtach.svg" alt="Featured on YunoDB" height="20"></a>