Ta

Tach – a Python tool to enforce modular design, inspired by nx

Hacker News

Tach – a Python tool to enforce modular design, inspired by nx

tach is a lightweight Python tool that enforces boundaries and dependencies in your Python project. Inspired by nx, tach helps you maintain a decoupled and modular Python codebase. By default, Python allows you to import and use anything, anywhere. Over time, this results in modules that were intended to be separate getting tightly coupled together, and domain boundaries breaking down. We experienced this first-hand at a unicorn startup, where the eng team paused development for over a year in an attempt to split up packages into independent services. This attempt ultimately failed. This problem occurs because: - It's much easier to add to an existing package rather than create a new one - Junior devs have a limited understanding of the existing architecture - External pressure leading to shortcuts and overlooking best practices Efforts we've seen to fix this problem always came up short. A patchwork of solutions would attempt to solve this from different angles, such as developer education, CODEOWNERs, standard guides, refactors, and more. However, none of these addressed the root cause. With tach, you can: 1. Declare your packages (`package.yml`) 2. Define dependencies between packages (`tach.yml`) 3. Enforce those dependencies (`tach check`) You can also enforce a strict interface for each package. This means that only imports that are directly listed in `__init__.py` can be imported by other packages. tach is: - fully open source - able to be adopted incrementally (`tach init` and `tach add`) - implemented with no runtime footprint - interoperable with your existing tooling We hope you give it a try! We'd love any feedback. https://github.com/Never-Over/tach

Share card

Actual performance

4points
1comments
Did not reach leaderboard

Launch Intel predictions

Analyze your own launch →
Hacker NewsStrong engagement from HN community · Strong signals: exist, open source, existing · Missing: https docs, excited, just released
69%69% predicted probability of success on Hacker News, based on ML models trained on real launch data.
nativeThis product was originally launched on this platform.
Product HuntOn track for Day 1 leaderboard · Strong signals: new, code, open · Missing: mac, agents, macos
63%63% predicted probability of success on Product Hunt, based on ML models trained on real launch data.
TrustMRRLess likely to generate early MRR · Strong signals: way, para, education · Missing: mobile apps, ios, personal
41%41% predicted probability of success on TrustMRR, based on ML models trained on real launch data.
Indie HackersIH features products with proven revenue · Strong signals: para · Missing: supports, reddit linkedin, podcasting
41%41% predicted probability of success on Indie Hackers, based on ML models trained on real launch data.
AppSumoMay struggle as an AppSumo deal · Strong signals: interface · Missing: plus, platform, intuitive
39%39% predicted probability of success on AppSumo, based on ML models trained on real launch data.
Acquire.comPre-revenue stage for this audience · Missing: arr, mrr, revenue
13%13% predicted probability of success on Acquire.com, based on ML models trained on real launch data.
BetaListMay not resonate with beta-testers · Missing: web3, chat, crypto
0%0% predicted probability of success on BetaList, based on ML models trained on real launch data.

Incorrect prediction on native model

Similar products

Mo
Modguard – a lightweight Python tool for enforcing modular design72%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Modguard – a lightweight Python tool for enforcing modular design

Hacker News10
Le
Letlang specification inspired by Python PEPs (WIP)65%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Letlang specification inspired by Python PEPs (WIP)

Hacker News1
Mo
Modguard – Enforce modular Python automatically72%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Modguard – Enforce modular Python automatically

Hacker News3
Co
Consecution: A Python Pipeline Tool Inspired by Apache Storm Topologies50%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Consecution: A Python Pipeline Tool Inspired by Apache Storm Topologies

Hacker News3
Py
PyBench 2.0 – Python benchmark tool inspired by Geekbench51%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

PyBench 2.0 – Python benchmark tool inspired by Geekbench

Hacker News1
Pc
Pcons: new software build tool in Python, inspired by SCons and CMake66%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Pcons: new software build tool in Python, inspired by SCons and CMake

Hacker News1
I
I made a boxen library for Python (inspired by sindresorhus)63%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

I made a boxen library for Python (inspired by sindresorhus)

Hacker News2
Ic
Iceberg – Graphic Design and Diagramming in Python63%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Iceberg – Graphic Design and Diagramming in Python

Hacker News19
FP
FPGA design acceleration – idiomatic Python to synthesizable Verilog44%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

FPGA design acceleration – idiomatic Python to synthesizable Verilog

Hacker News2
Ca
Cassandradump – Exporting tool for Cassandra inspired from mysqldump52%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Cassandradump – Exporting tool for Cassandra inspired from mysqldump

Hacker News1