docs: complete the canonical arcticpy install note - #109
Merged
Conversation
Both autocti_workspace/AGENTS.md and autocti_workspace_test/AGENTS.md cite this section as the canonical arcticpy note, and it was the least complete of the three: it said "install it after numpy is in place" and then the bare `pip install arcticpy` line, omitting Cython, setuptools, scipy and matplotlib. A first-time user following it verbatim on a clean modern venv cannot get arcticpy installed. Each gap was reproduced against a clean build of arcticpy 2.6: - setuptools/wheel — --no-build-isolation does not read arcticpy's build-system.requires, so build deps must already be present. Without setuptools: `BackendUnavailable: Cannot import 'setuptools.build_meta'`. Python 3.12+ venvs no longer ship setuptools by default. - scipy/matplotlib — --no-deps suppresses arcticpy's runtime dependencies, but arcticpy/__init__.py imports read_noise, which imports both at import time. A successful build still fails at `import arcticpy` without them. - The verification command — arcticpy exposes no __version__ attribute, so `print(arcticpy.__version__)` raises AttributeError on a healthy install. Documented via importlib.metadata instead. Also points at PyAutoHeart/.github/actions/install-arcticpy as the single owner of this recipe and of the arcticpy==2.6 pin, so the note and the CI that every CTI repo actually runs cannot drift apart again. Refs PyAutoLabs/PyAutoHeart#170 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018nDAxBEavkzb6Zkz1cYHef
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of PyAutoLabs/PyAutoHeart#170. Docs-only leg.
AGENTS.md§arcticpy is cited as the canonical note by bothautocti_workspace/AGENTS.mdandautocti_workspace_test/AGENTS.md— and it was the least complete of the three. It said "install it after numpy is in place" and then the barepip install arcticpyline, omitting Cython, setuptools, scipy and matplotlib. A first-time user following it verbatim on a clean modern venv cannot get arcticpy installed.The gaps, each reproduced against a clean build of arcticpy 2.6
setuptools/wheel—--no-build-isolationdoes not read arcticpy'sbuild-system.requires, so every build dependency must already be present. Without setuptools:BackendUnavailable: Cannot import 'setuptools.build_meta'. Python 3.12+ venvs no longer ship setuptools by default, so this bites on any fresh venv.cython— named nowhere in this file, though the build needs it.scipy/matplotlib—--no-depssuppresses arcticpy's runtime dependencies, butarcticpy/__init__.pyimportsread_noise, which imports both at import time. A successful build still fails atimport arcticpywithModuleNotFoundError.__version__attribute, soprint(arcticpy.__version__)raisesAttributeErroron a healthy install. Documented viaimportlib.metadatainstead, with a note so thatAttributeErrorisn't misread as a broken build.The note now explains why the recipe is fiddly — both
--no-build-isolationand--no-depshave to be paid back by hand — rather than just listing commands, since that is the part people reconstruct wrongly.No CI change
PyAutoCTI/.github/workflows/main.ymlis a thin caller ofPyAutoHeart/.github/workflows/lib-tests.yml@mainand carries no arcticpy recipe of its own. (This was the site the task flagged as UNREAD; auditing it is what showed the copies were four, not two — Heart's reusable workflow holds two of them, one per job.) Its arcticpy install is fixed centrally in PyAutoLabs/PyAutoHeart#171; nothing needs to change here.This note now points at
PyAutoHeart/.github/actions/install-arcticpyas the recipe's single owner and the home of thearcticpy==2.6pin, so the prose and the CI that actually runs cannot drift apart again.Generated by Claude Code