← all investigations

Can zenml-io/zenml be installed from source and initialise a local project with a working default stack, with no server or account?

zenml-io/zenml · execution

Verdict

COULD_NOT_TEST

blockers: install_failed · not downgraded · stopped: sandbox_cap · 7 steps · $0.272 · 137s

fails stop_reason

Summary

Cloning zenml-io/zenml succeeded, but every attempt to `pip install -e .` (plain, with --no-build-isolation, and after installing uv/uv-build) failed during the editable-metadata build step, with truncated tracebacks that point at pip's build-isolation/candidate-preparation code without ever surfacing a clean, human-readable error string. The exact root cause (e.g. a missing uv-build executable on PATH) was not confirmed by any command output — it is a plausible inference from the package layout, not something the evidence directly shows. The sandbox_setup call budget was exhausted before a working install could be achieved, so `zenml init` and default-stack initialization were never reached. This is an environment/tooling failure during install, not evidence about ZenML's actual local-install or server-free capability.

Trajectory

step 1 get_repo_metadata({'repo': 'zenml-io/zenml'})→ {"full_name": "zenml-io/zenml", "license": "Apache-2.0", "language": "Python", "size_kb": 913783, "archived": false, "created_at": "2020-11-19T09:25:46Z", "pushed_at": "2026-09-12T14:11:41Z", "homepage": "https://zenml.io", "stars": 5579, "forks": 654, "open_issues": 169}
step 1 get_repo_description({'repo': 'zenml-io/zenml'})→ {"full_name": "zenml-io/zenml", "description": "ZenML \ud83d\ude4f: One AI Platform from Pipelines to Agents. https://zenml.io.", "topics": ["agentops", "agents", "ai", "automl", "data-science", "deep-learning", "devops-tools", "genai", "llm", "llmops", "machine-learning", "metadata-tracking", "ml", "mlops", "pipelines", "production-ready", "pytorch", "tensorflow", "workflow", "zenml"]}
step 2 sandbox_clone({'repo': 'zenml-io/zenml'})→ {"command": "git clone --depth 1 https://github.com/zenml-io/zenml.git /work/repo", "stdout": "", "stderr": "Cloning into '/work/repo'...\n", "exit_code": 0, "elapsed_s": 34.10358654100003, "truncated": false, "timed_out": false}
step 3 sandbox_setup({'command': 'cd /work/repo && pip install -e . --no-deps -q 2>&1 | tail -30 && pip install -q "zenml[server]" 2>&1 | tail -5 || true'})→ {"command": "cd /work/repo && pip install -e . --no-deps -q 2>&1 | tail -30 && pip install -q \"zenml[server]\" 2>&1 | tail -5 || true", "stdout": " error: subprocess-exited-with-error\n \n \u00d7 Preparing editable metadata (pyproject.toml) did not run successfully.\n \u2502 exit code: 1\n \u2570\u2500> [15 lines of output]\n Traceback (most recent call last):\n File \"/usr/local/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py\", line 389, in <module>\n main()\n File \"/usr/local/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py\", line 373, in main\n json_out[\"return_val\"] = hook(**hook_input[\"kwargs\"])\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/usr/local/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py\", line 209, in prepare_metadata_for_build_editable\n return hook(metadata_directory, ...
step 4 sandbox_setup({'command': 'cd /work/repo && pip install --no-build-isolation -e . -q 2>&1 | tail -40'})→ {"command": "cd /work/repo && pip install --no-build-isolation -e . -q 2>&1 | tail -40", "stdout": " ^^^^^\n File \"/usr/local/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/factory.py\", line 501, in _make_requirements_from_install_req\n cand = self._make_base_candidate_from_link(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/usr/local/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/factory.py\", line 212, in _make_base_candidate_from_link\n self._editable_candidate_cache[link] = EditableCandidate(\n ^^^^^^^^^^^^^^^^^^\n File \"/usr/local/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py\", line 329, in __init__\n super().__init__(\n File \"/usr/local/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py\", line 159, in __init__\n self.dist = self._prepare()\n ^^^^^^^^^^^^^^^\n File \"/usr/local/lib/py...
step 5 sandbox_setup({'command': 'pip install -q uv uv-build 2>&1 | tail -20; cd /work/repo && pip install --no-build-isolation -e . -q 2>&1 | tail -40'})→ {"command": "pip install -q uv uv-build 2>&1 | tail -20; cd /work/repo && pip install --no-build-isolation -e . -q 2>&1 | tail -40", "stdout": " error: subprocess-exited-with-error\n \n \u00d7 Preparing editable metadata (pyproject.toml) did not run successfully.\n \u2502 exit code: 1\n \u2570\u2500> [15 lines of output]\n Traceback (most recent call last):\n File \"/usr/local/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py\", line 389, in <module>\n main()\n File \"/usr/local/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py\", line 373, in main\n json_out[\"return_val\"] = hook(**hook_input[\"kwargs\"])\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/usr/local/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py\", line 209, in prepare_metadata_for_build_editable\n return hook(metadata_directory, conf...
step 6 sandbox_setup({'command': 'python3 -c "import uv_build, os; print(uv_build.__file__)"; python3 -c "from uv_build import __init__ as u" ; find / -iname "uv" -type f 2>/dev/null | grep -v proc; python3 -c "\nimport uv_build\nprint(uv_build.__file__)\n"\ncat /work/.local/lib/python3.12/site-packages/uv_build/__init_...)→ {"command": "python3 -c \"import uv_build, os; print(uv_build.__file__)\"; python3 -c \"from uv_build import __init__ as u\" ; find / -iname \"uv\" -type f 2>/dev/null | grep -v proc; python3 -c \"\nimport uv_build\nprint(uv_build.__file__)\n\"\ncat /work/.local/lib/python3.12/site-packages/uv_build/__init__.py | head -60", "stdout": "/work/.local/lib/python3.12/site-packages/uv_build/__init__.py\n/work/.local/bin/uv\n/work/.local/lib/python3.12/site-packages/uv_build/__init__.py\n\"\"\"\nPython shims for the PEP 517 and PEP 660 build backend.\n\nMajor imports in this module are required to be lazy:\n```\n$ hyperfine \\\n \"/usr/bin/python3 -c \\\"print('hi')\\\"\" \\\n \"/usr/bin/python3 -c \\\"from subprocess import check_call; print('hi')\\\"\"\nBase: Time (mean \u00b1 \u03c3): 11.0 ms \u00b1 1.7 ms [User: 8.5 ms, System: 2.5 ms]\nWith import: Time (mean \u00b1 \u03c3): 15.2 ms \u00b1 2.0 ms [User: 12.3 ms, System: 2.9 ms]\nBase 1.38 \u00b1 0.28 times fas...
step 7 sandbox_setup({'command': 'export PATH=/work/.local/bin:$PATH; which uv-build uv; ls /work/.local/bin | grep uv\ncd /work/repo && PATH=/work/.local/bin:$PATH pip install --no-build-isolation -e . -q 2>&1 | tail -40'}) error→ {"error": "sandbox_setup budget exhausted (4 calls); conclude from what you have"}

Ledger

inspected unknown Repo metadata shows Apache-2.0 license, pure Python, ~890MB, actively maintained (pushed 2026-09-12)from: get_repo_metadata(zenml-io/zenml)
reported unknown Repo description calls it 'One AI Platform from Pipelines to Agents'from: get_repo_description(zenml-io/zenml)
reported unknown git clone of zenml-io/zenml succeededfrom: sandbox_clone(zenml-io/zenml)
observed against pip install -e . (with --no-deps) failed while preparing editable metadata from pyproject.toml, raising a traceback during the build hookfrom: sandbox_setup(pip install -e . --no-deps)
observed against Retrying with --no-build-isolation also failed during editable install, with a traceback pointing into pip's resolvelib candidate preparation codefrom: sandbox_setup(pip install --no-build-isolation -e .)
observed against Installing uv and uv-build into the sandbox and retrying still failed the same way (editable metadata preparation error)from: sandbox_setup(pip install uv uv-build; pip install --no-build-isolation -e .)
inspected unknown uv_build package was present in site-packages and its __init__.py was inspected, but the shown content was only a docstring/benchmark comment, not a demonstration of the actual root causefrom: sandbox_setup(cat uv_build/__init__.py)
reported unknown A final attempt to put uv on PATH and retry the editable install could not be run because the sandbox_setup call budget (4 calls) was exhaustedfrom: sandbox_setup(export PATH; pip install --no-build-isolation -e .) [FAILED - budget exhausted]

Facts

setup
85.1s over 4 command(s), install succeeded
disk
341 MB cloned, 589 MB total
needs
nothing special
exercised
-
output
RuntimeError: uv-build was not properly installed

Grounding critique

ran · not grounded · revised