Show HN: Tach β Visualize and untangle your Python codebase
Published on: 2025-07-14 01:34:07
Tach
Tach is a Python tool to enforce dependencies and interfaces, written in Rust.
Tach is inspired by the modular monolith architecture.
Docs
Discord
Here's an example:
Tach can enforce:
π Imports only come from declared dependencies
π€ Cross-module calls use the public interface
βοΈβπ₯ No cycles in the dependency graph
Tach is:
π Open source
π Installable via pip
π§ Able to be adopted incrementally
β‘ Implemented with no runtime impact
βΎοΈ Interoperable with your existing systems
Getting Started
Installation
pip install tach
Setup
Tach will guide you through initial project setup.
Run:
tach init
After an introductory message, you will see a file tree interface allowing you to interactively configure your project.
Use the arrow keys to navigate, and mark each module boundary with 'Enter'. You can mark all of your top-level Python packages, or just a few that you want to track.
If your Python code lives below your project root, or if you are working in a monorepo wi
... Read full article.