Tach: Enforcing Python Dependencies with Modular Architecture

This repository profile is provided by osrepos.com, an open source repository discovery platform.

Tach: Enforcing Python Dependencies with Modular Architecture

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

Analyzed by OSRepos on February 26, 2026

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:

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

Related repositories

Similar repositories that may be relevant next.

nanobot: An Ultra-Lightweight, Self-Hosted Personal AI Agent Framework

nanobot: An Ultra-Lightweight, Self-Hosted Personal AI Agent Framework

August 9, 2026

nanobot is an ultra-lightweight, open-source, self-hosted personal AI agent framework built in Python. It offers a WebUI, tools, memory, multi-agent workflows, and automation capabilities, making it a versatile solution for personal AI tasks. Users can deploy it across various platforms, including chat apps, for seamless integration.

ai-agentagent-frameworkpython
ReMe: An Advanced Memory Management Kit for AI Agents

ReMe: An Advanced Memory Management Kit for AI Agents

August 7, 2026

ReMe is an innovative, local-first memory layer designed for AI agents, transforming conversations and resources into file-based long-term memory. It continuously indexes, links, and consolidates this information, enabling advanced recall and supporting the development of self-evolving agents. This kit helps agents remember and refine their experiences effectively.

agentai-agentsmemory
code-review-graph: AI-Powered Code Intelligence for Smarter Reviews

code-review-graph: AI-Powered Code Intelligence for Smarter Reviews

August 6, 2026

code-review-graph is a local-first code intelligence graph that optimizes AI coding tools by building a persistent map of your codebase. It significantly reduces context for AI reviews and large-repo workflows, ensuring AI assistants read only the most relevant code. This leads to more efficient and cost-effective code analysis.

ai-codingcode-reviewknowledge-graph
Nikola: A Powerful Static Website and Blog Generator

Nikola: A Powerful Static Website and Blog Generator

August 6, 2026

Nikola is an open-source static website and blog generator written in Python. It transforms content into a deployable website, offering a secure and resource-efficient alternative to dynamic sites. With features like theming, fast builds, and multilingual support, Nikola is a versatile tool for web development.

pythonstatic-sitestatic-site-generator

Source repository

Open the original repository on GitHub.

9 counted GitHub visits

View on GitHub
OS
OSRepos

Analysis and discovery of open source repositories. Find interesting projects and follow their updates.

Monitor your website with YourWebsiteScore

OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of third-party repository code is at your own risk. Always review source code, dependencies, licenses, and security implications before running anything.

© 2025 OSRepos. Built with Nuxt 3 and lots of ❤️