tach-org/tach
Some data may be outdated โ see provenance labels.
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-09-30
Health v2 ยท maintenance only
86/100
- Activity 95
- Release rhythm 83
- Longevity 70
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) โ computed 2026-10-21. Adoption (stars, forks) is never an input.
- gap_med: 3.0
- age_days: 993
- days_rel: 36
- days_push: 35
- n_releases_24m: 65
Adoption not part of the score
2827 stars ยท 94 forks observed ยท 2026-09-30
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-09-30 ยท 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 | 86 |
For agents
Data as of 2026-10-19T08:05:51.212177+00:00 ยท Report a problem