Skip to content

Require Python 3.11; position_id follows the MorphoBricks FOV key - #4

Merged
IvanHCenalmor merged 1 commit into
mainfrom
claude/funny-ptolemy-a9rxd1
Oct 26, 2026
Merged

IvanHCenalmor merged 1 commit into
mainfrom
claude/funny-ptolemy-a9rxd1

Conversation

@guijacquemet

Copy link
Copy Markdown
Contributor

Summary

  • Packaging: requires-python changes from >=3.10 to >=3.11, and the Ruff target from py310 to py311. The CI test matrix changes from 3.10/3.13 to 3.11/3.13. The AGENTS style line is updated.
  • Contract §8.2 and PlaneRecord: position_id is now the XY position within its technical repeat. It comes from reliable metadata, or from the file name without extension when one file holds exactly one position. This matches what morphobricks-preprocessing writes after Fill position_id per image (D02) and require Python 3.11 (D01) morphobricks-preprocessing#19. Before, the contract said it was "never inferred from file names". The CSV schema and code behaviour are unchanged; only the description changes.

Decisions

These follow the MorphoBricks owner decisions of 2026-10-26, recorded in the MorphoFeature decision ledger (CellMigrationLab/MorphoFeature#6):

  • D01: every brick requires Python ≥3.11, with 3.11 as the shared installer version.
  • D02: the canonical FOV key is condition + biological_repeat + technical_repeat + position_id.

Notes for review

  • Raising the Ruff target to py311 required no code changes.
  • CI was not relied on: the org has no Actions credits for private repos, so the results below are from local runs. The matrix edit only keeps the workflow consistent with requires-python.

Tests (local)

  • Python 3.11.17: ruff check . all passed; ruff format --check . 19 files already formatted; pytest 140 passed.
  • Python 3.13.17: pytest 140 passed.
  • Python 3.10: pip install -e . is refused, which is intended.

Do not merge without the owner's go-ahead.


Generated by Claude Code

- requires-python >=3.11 and Ruff target py311 (MorphoBricks decision
  D01: every brick installs in one Python 3.11 environment); CI matrix
  3.11 and 3.13; AGENTS style line.
- contract 8.2 and PlaneRecord: position_id is the XY position within
  its technical repeat (decision D02), from reliable metadata or the file
  stem when one file is one position, as morphobricks-preprocessing now
  writes it. The CSV schema is unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01U6vJfhGWQ7pTpsJhw48Zf7
@IvanHCenalmor
IvanHCenalmor merged commit 55418c9 into main Oct 26, 2026
7 checks passed
@IvanHCenalmor
IvanHCenalmor deleted the claude/funny-ptolemy-a9rxd1 branch October 26, 2026 13:51
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.

3 participants