
Tach
Open source Python tool to untangle your codebase.
116 followers
Tach lets you visualize and enforce dependencies in your codebase. 🌎 Open source 🐍 Installable via pip 🔧 Able to be adopted incrementally ⚡ Implemented with no runtime impact ♾️ Interoperable with your existing systems 🦀 Written in rust
Tach
Hi Product Hunt!
Check out a live demo link on Sentry's codebase here!
As your team and codebase grows, code gets tangled up. This hurts developer velocity, and increases the cognitive load for engineers.
Over time, this silent killer can become a show stopper. Tooling breaks down, and teams grind to a halt. My co-founder and I experienced this first-hand.
We're building the tools that we wish we had. With Tach, you can visualize your dependencies to understand how badly tangled everything is. You can also set up enforcement on the existing state, and deprecate dependencies over time.
One way Tach differs from existing systems that handle this problem (build systems, import linters, etc) is in its ability to be incrementally adopted, blazingly fast. We expose a sync command that instantaneously syncs the state of your codebase to Tach's configuration!
If you struggle with dependencies, onboarding new engineers, or a massive codebase, Tach is for you! We built it with developers in mind - in Rust for performance, and with clean integrations into Git, CI/CD, and IDEs.
Tach is open source and free! We'd love any feedback.
Tach
Thanks @masump! Appreciate the support
FlaiChat
I feel this problem to my core. Now what happens if you run Tach on Tach? 🤔
Tach
@anaid great question! We actually use Tach every day on Tach
Config here: https://github.com/gauge-sh/tach/blob/main/tach.toml
And graph here: https://app.gauge.sh/show?uid=77a452d6-4170-4ea8-a36b-5a338395d744
Would love for you to give it a try!