tach-org/tach
A Python tool to visualize + enforce dependencies, using modular architecture 🌎 Open source 🐍 Installable via pip 🔧 Able to be adopted incrementally - ⚡ Implemented with no runtime impact ♾️ Interoperable with your existing systems 🦀 Written in rust observed · 2026-08-28
Health v2 · maintenance only
77/100
- Activity 87
- Release rhythm 71
- Longevity 67
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-03. Adoption (stars, forks) is never an input.
- gap_med: 3
- age_days: 945
- days_rel: 113
- days_push: 83
- n_releases_24m: 76
Adoption not part of the score
2801 stars · 91 forks observed · 2026-08-28
What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-30, confidence not recorded
Tach is a CLI tool, written in Rust, that enforces dependency rules and public interfaces between Python modules to support a modular monolith architecture. It analyzes imports statically with no runtime impact, integrates with CI and pre-commit hooks, and can visualize the project's dependency graph.
Use cases
- enforce module boundaries in a python codebase
- prevent circular imports between modules
- visualize my python project's dependency graph
- add architecture checks to CI pipeline
- adopt modular monolith architecture incrementally
- define public interfaces for python packages
- run only tests impacted by my changes
- manage internal dependencies in a monorepo
When to choose
- you want to enforce module boundaries and public interfaces in a Python project with zero runtime overhead
- you need to prevent coupling and dependency cycles in a growing codebase or monorepo
- you want architecture checks in pre-commit hooks and CI, adoptable incrementally
- you need to visualize or report on your project's internal dependency structure
When to avoid
- you only need external package dependency management (use pip/poetry/uv instead)
- you need runtime dependency injection or dynamic module loading enforcement
- your project is small enough that formal module boundaries add more overhead than value
- you need enforcement for languages other than Python
Facets
cli-tool · maturity active
linter developer-tools cli dependency-audit code-review ci-cd data-visualization developer-tools cli python cross-platform windows modular-monolith module-boundaries dependency-enforcement architecture-governance pre-commit-hooks monorepo rust-core tach-toml import-analysis dependency-graph-visualization static-code-analysis python software-architecture code-quality devops macos linux
7 sources
- readme: https://github.com/tach-org/tach · fetched 2026-08-28 · bdc861d3cbec
- homepage: https://docs.gauge.sh/ · fetched 2026-08-29 · 0692edd6c34e
- site_page: https://docs.gauge.sh/getting-started/introduction · fetched 2026-08-29 · 3a4199449bf2
- site_page: https://docs.gauge.sh/getting-started/why-tach · fetched 2026-08-29 · 2aff644b2696
- site_page: https://docs.gauge.sh/getting-started/getting-started · fetched 2026-08-29 · 46353fddbc79
- site_page: https://docs.gauge.sh/usage/faq · fetched 2026-08-29 · 71f7eed944f7
- site_page: https://docs.gauge.sh/contributing/working-with-docs · fetched 2026-08-29 · ec145ac0b53b
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| tach-org/tach | main | 77 |
For agents
Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem