From 7a7860fb8e23b2525001f3392aa10d3348ff7f30 Mon Sep 17 00:00:00 2001 From: Ratul Maharaj <56479869+RatulMaharaj@users.noreply.github.com> Date: Thu, 25 Jun 2026 09:57:01 +0200 Subject: [PATCH] fix(packaging): drop bogus tool/ruff runtime deps, declare build-system MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `tool>=0.8.0` and `ruff>=0.14.0` were listed as runtime dependencies but are not imported anywhere in the SDK. `ruff` is a linter (dev-only at most) and `tool` is unrelated 2011 abandonware (GPL3, argh/pydispatcher/pyyaml, sdist-only with no wheels). Dragging them in forces extra source builds at install time, which breaks the DataMaker desktop runner's *offline* venv build on Windows (`uv sync --offline --no-index`) — scenarios then never run because the runner venv is never created. macOS installs online and tolerated it. - Remove `tool` and `ruff` from runtime dependencies (neither is imported). - Add an explicit setuptools `[build-system]` + `[tool.setuptools.packages.find]` (where = src) so the wheel build no longer relies on the build frontend's implicit backend / src-layout autodiscovery. Verified `uv build --wheel` produces a clean wheel whose only Requires-Dist are python-dotenv and requests, with the `datamaker` package correctly included. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01TMwtcrQZ2WSMZB7wZYM6za --- pyproject.toml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 66b4cc5..281e931 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,3 +1,7 @@ +[build-system] +requires = ["setuptools>=61", "wheel"] +build-backend = "setuptools.build_meta" + [project] name = "datamaker-py" version = "0.7.0" @@ -7,6 +11,7 @@ requires-python = ">=3.11" dependencies = [ "python-dotenv>=1.0.1", "requests>=2.32.3", - "ruff>=0.14.0", - "tool>=0.8.0", ] + +[tool.setuptools.packages.find] +where = ["src"]