Tach: Enforcing Python Dependencies with Modular Architecture
This repository profile is provided by osrepos.com, an open source repository discovery platform.

Summary
Tach is an open-source Python tool, written in Rust, designed to visualize and enforce dependencies within your projects. It promotes modular architecture by ensuring declared dependencies, public interfaces, and preventing dependency cycles. Installable via pip, Tach offers incremental adoption and no runtime impact.
Repository Information
Topics
Click on any tag to explore related repositories
Use at your own risk
OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of code from these repositories is the user's own responsibility. Always review the repository, source code, dependencies, licenses, and security implications before running or installing anything. OSRepos is not responsible for issues, damages, or losses resulting from third-party repositories.
Introduction
Tach is an open-source Python tool, implemented in Rust, designed to help developers visualize and enforce dependencies within their projects. Inspired by the modular monolith architecture, Tach ensures a clean and maintainable codebase by defining clear boundaries and rules.
Key capabilities of Tach include:
- Enforcing that imports only originate from declared dependencies.
- Ensuring cross-module calls adhere to the public interface.
- Preventing cycles in the dependency graph.
Tach is highly adaptable, offering incremental adoption, no runtime impact, and seamless interoperability with existing systems.
Installation
Getting started with Tach is straightforward. You can install it via pip:
pip install tach
Examples
Project Setup
Tach provides an interactive command to guide you through the initial project setup. Run tach init to configure your module boundaries and source roots.
tach init
Dependency Enforcement
Once configured, use tach check to validate your project's dependencies against the defined rules. This command is ideal for integration into CI/CD pipelines.
tach check
Dependency Visualization
Visualize your project's dependency graph with tach show. The --web flag generates an interactive web-based graph, or you can generate a local GraphViz DOT file.
tach show [--web]
Detailed Reporting
To inspect dependencies and usages for a specific path or module, use the tach report command:
tach report my_package/
Tach also supports a range of advanced features, including public interfaces for modules, deprecating individual dependencies, layered architecture, incremental adoption for unchecked modules, generating JSON dependency maps, and integration with pre-commit hooks.
Why Use Tach?
Tach empowers development teams to maintain robust and scalable Python applications by enforcing architectural discipline. By preventing common issues like tangled dependencies and hidden interfaces, it significantly improves code quality, reduces technical debt, and streamlines onboarding for new team members. Its Rust implementation ensures high performance, while its incremental adoption strategy makes it easy to integrate into existing large-scale projects without disruption.
Links
- GitHub Repository: https://github.com/tach-org/tach
- Official Documentation: https://docs.gauge.sh
Related repositories
Similar repositories that may be relevant next.

text-to-cad: AI Agent Skills for CAD, CAE, and CAM Workflows
September 24, 2026
text-to-cad is a comprehensive Python library developed by earthtojake, providing a rich set of agent skills for Computer-Aided Design (CAD), Computer-Aided Engineering (CAE), and Computer-Aided Manufacturing (CAM). It enables AI agents to generate, inspect, source, slice, and manage CAD and robot-description artifacts, streamlining complex engineering processes.

dcc-mcp-blender: AI-Driven 3D Workflows with an Embedded MCP Server
September 24, 2026
dcc-mcp-blender is a powerful Blender addon that integrates an embedded Streamable HTTP MCP server directly into Blender. This allows any MCP-compatible AI client to seamlessly control and automate your 3D modeling, animation, and rendering workflows. It offers over 200 pre-built tools and an extensible skill system for robust production environments.

i-have-adhd: Streamline Your Coding Agent's Output for Clarity
September 23, 2026
i-have-adhd is a powerful skill designed to transform your coding assistant's responses into clear, actionable, and concise outputs. It prevents AI agents from burying essential information, ensuring you receive direct answers and numbered steps without unnecessary preamble or fluff. This tool is ideal for developers seeking enhanced productivity and straightforward guidance from their AI coding partners.
Guaardvark: Your Self-Hosted AI Studio for Agents, Media, and Code
September 21, 2026
Guaardvark is a comprehensive, self-hosted AI studio designed for local execution of advanced AI tasks. It integrates coding agents, media generation (video, image, music, voice), and robust RAG capabilities, all running on a single GPU. This platform prioritizes privacy and user control, enabling a full AI workstation experience on your own hardware.
Source repository
Open the original repository on GitHub.
14 counted GitHub visits