7,363 open-source and SaaS tools, with GitHub stats refreshed every day.

Tach

Open source

Python tool written in Rust that visualizes and enforces module dependencies and public interfaces, supporting a modular monolith architecture.

docs.gauge.sh
Tach homepage screenshot
GitHub stars
2.8k
Last commit
yesterday
Repository age
2 years
Version
v0.35.2
Licence
MIT
Self-hosted
Yes

About Tach

Tach is a tool for Python projects that visualizes and enforces dependencies between modules. It is inspired by the modular monolith architecture, where a codebase is split into modules with defined boundaries, and it is written in Rust for speed. It is released under the MIT license and installs with pip.

It can enforce three kinds of rules: imports must come from declared dependencies, calls across modules must use the public interface, and the dependency graph must contain no cycles. Setup is guided by an interactive file-tree interface in which you mark module boundaries with the keyboard. The project says it can be adopted incrementally, has no runtime impact because it analyzes code statically, and works with existing systems.

Tach is aimed at Python teams and monorepos that want to keep architecture from eroding, and it can run as a check in CI. Documentation is hosted at docs.gauge.sh, and the topics mention static code analysis, code quality, and dependency management.

Key features

  • Enforces declared module dependencies
  • Checks that cross-module calls use public interfaces
  • Detects cycles in the dependency graph
  • Dependency visualization
  • Interactive setup for module boundaries
  • No runtime impact, adoptable incrementally

Good fit for

  • →Keeping a Python monolith modular
  • →Failing CI builds on architecture violations
Built with
Rust
Python
Tags
python
dependencies
architecture
static-analysis
monorepo
code-quality
ci
rust

Tach: questions and answers

What is Tach used for?
Tach is a Python tool written in Rust that visualizes and enforces module dependencies and public interfaces, supporting a modular monolith architecture. It is a good fit for keeping a Python monolith modular and failing CI builds on architecture violations.
Is Tach open source?
Yes. Tach is open source under the MIT licence. Its source code is on GitHub at tach-org/tach and is written mainly in Rust.
Is Tach free?
Yes. Tach is open source, so the software itself is free to use.
What are some alternatives to Tach?
Similar open-source tools in the Developer Tools category include golangci-lint, Revive and PhpMetrics. SaaS products in the same category include Qodana, Codacy and Debtdrone.
Is Tach actively maintained?
Yes. The most recent commit to Tach was on 1 October 2026, and the latest release is v0.35.2, published on 1 October 2026. The project has 2.8k stars on GitHub.

Open-source alternatives to Tach

See all

SaaS alternatives to Tach

See all