From e62b2ea55b9c3713e3d812fd2685a11c056023cc Mon Sep 17 00:00:00 2001 From: Dan Guido Date: Wed, 6 Aug 2025 17:46:39 -0700 Subject: [PATCH] Fix setuptools package discovery error during cloud provider dependency installation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The issue occurred when uv tried to install optional dependencies (e.g., [digitalocean]) because setuptools was auto-discovering directories like 'roles', 'library', etc. as Python packages. Since Algo is an Ansible project, not a Python package, this caused builds to fail. Added explicit build-system configuration to pyproject.toml with py-modules = [] to disable package discovery entirely. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- pyproject.toml | 8 ++++++++ uv.lock | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 6d18649b..e5ea7161 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,3 +1,7 @@ +[build-system] +requires = ["setuptools>=68.0.0"] +build-backend = "setuptools.build_meta" + [project] name = "algo" description = "Set up a personal IPSEC VPN in the cloud" @@ -12,6 +16,10 @@ dependencies = [ "segno>=1.6.0", ] +[tool.setuptools] +# Explicitly disable package discovery since Algo is not a Python package +py-modules = [] + [project.optional-dependencies] # Cloud provider dependencies (installed automatically based on provider selection) aws = [ diff --git a/uv.lock b/uv.lock index 2e45e101..91091f08 100644 --- a/uv.lock +++ b/uv.lock @@ -20,7 +20,7 @@ wheels = [ [[package]] name = "algo" version = "2.0.0b0" -source = { virtual = "." } +source = { editable = "." } dependencies = [ { name = "ansible" }, { name = "jinja2" },