Skip to content

docs: complete the canonical arcticpy install note - #109

Merged
Jammy2211 merged 1 commit into
mainfrom
feature/arcticpy-install-standardisation
Aug 24, 2026
Merged

docs: complete the canonical arcticpy install note#109
Jammy2211 merged 1 commit into
mainfrom
feature/arcticpy-install-standardisation

Conversation

@Jammy2211

Copy link
Copy Markdown
Collaborator

Part of PyAutoLabs/PyAutoHeart#170. Docs-only leg.

AGENTS.md §arcticpy is cited as the canonical note by both autocti_workspace/AGENTS.md and autocti_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 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.

The gaps, each reproduced against a clean build of arcticpy 2.6

  • setuptools/wheel--no-build-isolation does not read arcticpy's build-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-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 with ModuleNotFoundError.
  • The verification command — arcticpy exposes no __version__ attribute, so print(arcticpy.__version__) raises AttributeError on a healthy install. Documented via importlib.metadata instead, with a note so that AttributeError isn't misread as a broken build.

The note now explains why the recipe is fiddly — both --no-build-isolation and --no-deps have 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.yml is a thin caller of PyAutoHeart/.github/workflows/lib-tests.yml@main and 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-arcticpy as the recipe's single owner and the home of the arcticpy==2.6 pin, so the prose and the CI that actually runs cannot drift apart again.


Generated by Claude Code

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
@Jammy2211
Jammy2211 merged commit 0054115 into main Aug 24, 2026
3 checks passed
@Jammy2211
Jammy2211 deleted the feature/arcticpy-install-standardisation branch August 25, 2026 18:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants