Skip to content

CP1: CellProfiler plugin modules convert; undeclared modules stay in the pipeline - #1237

Draft
trissim wants to merge 9 commits into
mainfrom
feature/CP1-cellprofiler-plugins
Draft

trissim wants to merge 9 commits into
mainfrom
feature/CP1-cellprofiler-plugins

Conversation

@trissim

@trissim trissim commented Oct 12, 2026

Copy link
Copy Markdown
Collaborator

Receipt: docs/refactor/consolidation-20261009/CP1-cellprofiler-plugins.md (plugin usage ranking with queries, dates and caveats; today's behaviour; target; remaining list).

Work in progress: mechanism for undeclared modules and for declared modules with an absent optional dependency, then plugin modules in rank order.

CP1 · draft · gates not yet run

🤖 Generated with Claude Code

trissim and others added 9 commits October 12, 2026 15:41
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…d at compile

A module name with no declaration becomes one step carrying the written name,
revision and settings; its outputs are the names later modules consume, its
inputs the names available before it. Compilation of that step is refused with
a message from the module family. A function whose file declares
REQUIRED_DISTRIBUTIONS that are not installed stays out of the catalogue and the
compiler names the distribution and the extra to install. contracts.json (no
reader) is deleted; the module count in the compatibility test is derived from
the registry.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ching

Each is one file: the module declaration and its function. Settings are bound
from real .cppipe blocks; outputs are compared with the real plugins run in
CellProfiler 4.2.8.1 (plugin commit 5aaa4e5) on 18 cases, max difference 4.2e-7.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…names what is missing

Every setting of each plugin is mapped or ignored with its reason. The modules
have no model call here: RunCellpose's parameters follow the Cellpose surface
of feature/cellpose-full-surface (signature recorded at 0d127cc). New extras
cellpose and stardist; an environment installed before this commit needs its
package metadata refreshed, because the catalogue reads extras from it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A source tree answers from its pyproject.toml; an installed package from its
distribution metadata. Both are found from openhcs.__file__. More than one
metadata directory for an installed package is an error naming each. A new
extra no longer needs the environment's metadata refreshed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The blanket *.json rule kept needed test fixtures out of commits. Generated JSON
stays covered by paper/build/, output/ and tests/integration/tests_data/.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…: 94 of 94 declared

LoadData reads its CSV at import as a declared source file: each image or
objects name becomes a source binding and each row a source set paired as
listed (new pairing in core source bindings). SaveCroppedObjects matches the
native module on 9 cases. LabelImages and CreateBatchFiles are settings-only
modules. Unsupported LoadData values are refused at import.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…); tree may be mid-edit, tests not run

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
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.

1 participant