nowfound

Dev tools · August 26, 2024

Strict interfaces and dep management for Python, written in Rust

Tach is a pip package that lets you define module boundaries, automatically detect all cross-module dependencies, and then validate and enforce those dependencies. It also supports strict interfaces for modules by overloading `__all__`. The core static analysis is done in Rust, so all Tach commands run quickly. The goal of Tach is to help eng teams maintain velocity while scaling quickly, something we've seen break down a number of times. Give it a try!

Strict interfaces and dep management for Python, written in Rust launched on August 26, 2024 with 68 votes, #727 of 5,471 launches that month and more than 90% of that year's launches. The site was still online in September 2026, 2 years on.

Visit github.com ↗Alternativestop 13% of August 2024

In plain words

Tach is a Python package that helps teams define and enforce module boundaries within codebases. It automatically detects cross-module dependencies and validates them against defined rules, while supporting strict interfaces through `__all__` overloading. Built with Rust for fast performance, Tach enables engineering teams to maintain code organization and development velocity as projects scale.

written from the facts on this page · September 2026

From the sources

A Python tool to visualize + enforce dependencies, using modular architecture 🌎 Open source 🐍 Installable via pip 🔧 Able to be adopted incrementally - ⚡ Implemented with no runtime impact ♾️ Interoperable with your existing systems 🦀 Written in rust - tach-org/tach

Does a similar job

all alternatives →
  • Tach – Visualize and untangle your Python codebase2025 · github.com · ▲263

    Hey everyone! We're Evan and Caelean, the authors of Tach. Tach lets you visualize the architecture of your Python codebase, and gives you the tools to incrementally improve it. It uses module boundaries to give teams the benefits of microservices without the deployment complexity. If your code has been getting tangled up as your team and codebase grows, Tach helps you move back in the right direction, incrementally and quickly. You can use Tach to incrementally adopt a "modular monolith" architecture [1], for better local reasoning and smoother feature development. Since our last Show HN…

  • Tach2025 · github.com · ▲140

    Untangle + visualize your codebase

  • Tach2024 · github.com · ▲4

    tach - a Python tool to enforce modularity, inspired by `nx`

  • SA
    Stretch – A high-performance cross-platform layout engine in Rust2019 · vislyhq.github.io · ▲213

    A high performance & cross-platform layout engine

  • Rust GUI Library via Flutter2024 · cjycode.com · ▲301

    Hi, I made a bridge (https://github.com/fzyzcjy/flutter_rust_bridge v2.0.0) between Flutter and Rust, which auto translates syntaxes like arbitrary types, &mut, async, traits, results, closure (callback), lifetimes, etc. The goal is to make a bridge between the two, seamlessly as if working in one single language. Then, as an example, I showed how to write Rust applications with GUI by utilizing Flutter. That is discussed in the link in details. To play with it, please visit the GitHub repo, or refer to the end of the article for detailed folders and commands. When I…

  • I'm making a dynamic language in Rust2022 · github.com · ▲184

    An implementation of a dynamic programming language in Rust. Includes: Parser/Compiler, REPL, Virtual Machine, Bytecode Disassembler This started out as a learning project to teach myself Rust. It has grown into a decently substantial piece of software and I've learned quite a bit in the process! Some neat things: + A garbage collector that can store dynamically sized types without any double-indirection (i.e. I have my own Box implementation with manual alloc/dealloc) + The smart pointer used to reference GCed data is a thin pointer. The ptr metadata needed for DSTs is stored in…

More dev tools this month

the category →
  • /dev/null▲490

    a social network for devs

    Dev tools · 4d ago · dev-null.sh

  • open-source IDE for thoughtful software design. Contribute to devdotfast/whiteboard development by creating an account on GitHub.

    Dev tools · 29d ago · github.com

  • Contribute to reladraw/reladraw development by creating an account on GitHub.

    Dev tools · 27d ago · github.com

  • Contribute to oosexgang/hackios-xnu-kernel development by creating an account on GitHub.

    Dev tools · 14h ago · github.com

  • OpenBot▲362

    Grok Bot alternative: free, local, open-source, multiplayer

    Dev tools · 24d ago · openbot.run

  • Talanoa▲346

    Hi HN, I’m a fullstack developer, and honestly, I’ve lost count of how many side projects I’ve worked on over the years. But one idea kept coming back to me: a different kind of email client. It first came to me in 2014: “What if we could handle emails more like conversations?” Every year, I’d revisit this concept in my “Build Notes.” Ten years later, no one had built exactly what I had in mind — so I finally decided to do it myself. That’s how Talanoa was born. I wanted something focused on people, not timelines. I was tired of marking messages as unread just to remember to reply later, or…

    Dev tools · 21d ago · talanoa.email

Source: Show HN post ↗

Launched alongside, August 2024

the whole month →
  • Wordware▲9,848

    Your tool for building AI agents with natural language

    AI · 2024 · wordware.ai

  • If Youtube had actual channels.

    Life & fun · 2024 · ytch.xyz

  • Me.bot▲1,627

    The inspiring companion for your life

    AI · 2024 · me.bot

  • Upmetrics AI▲1,197

    Business plan & financial forecast using AI

    Work · 2024 · upmetrics.co

  • Jupitrr AI▲1,195

    Jupitrr AI turns raw talking videos into scroll-stopping content for coaches and consultants. Research, script, record, edit, and publish in one app.

    AI · 2024 · jupitrr.com

  • Hey there HN! We’re Joe and Stopa, and today we’re open sourcing InstantDB, a client-side database that makes it easy to build real-time and collaborative apps like Notion and Figma. Building modern apps these days involves a lot of schleps. For a basic CRUD app you need to spin up servers, wire up endpoints, integrate auth, add permissions, and then marshal data from the backend to the frontend and back again. If you want to deliver a buttery smooth user experience, you’ll need to add optimistic updates and rollbacks. We do these steps over and over for every feature we build, which can…

    Dev tools · 2024 · github.com