Tach

Tach

Open source Python tool to untangle your codebase.

115 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 gallery image
Tach gallery image
Tach gallery image
Free
Launch tags:
Open Sourceβ€’Developer Toolsβ€’GitHub
Launch Team / Built With

What do you think? …

Caelean Barnes
Maker
πŸ“Œ

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.

Caelean Barnes

Thanks @masump! Appreciate the support

diana

I feel this problem to my core. Now what happens if you run Tach on Tach? πŸ€”

Evan Doyle

@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!