Define and enforce module boundaries. Preserve a clean architecture automatically with one line in your CI pipeline.
Define boundaries interactively, right in your terminal
Built with Rust for blazing fast static analysis
Tach is entirely open source and permissively licensed (MIT)
Enforce a public interface for each module
See the dependencies between all of your modules,and identify cycles and tight coupling.
Discuss high-level design with your teammates
Quickly identify circular dependencies
Use your dependency graph to enhance documentation
Tach shows you how logic flows through your application
Tach uses your module boundaries to determine which files are impacted by your changes, and dramatically speed up your CI pipelines.
Tach immediately determines exactly which files are impacted by your changes
Rerun all tests for a module if anything within it has changed
Tach uses static analysis to determine which modules are used.
Accurately cached results based on your source files and environment.
Unblock your AI tools with modular architecture
The growing pains that monoliths face
Why you should start with a Monolith
Pare is the easiest way to deploy serverless Python functions
How to use tach-external to identify third-party dependencies
Python's memory model is a performance bottleneck