Skip to content

Update to MADSci v0.8#7

Open
RyanTheRobothead wants to merge 25 commits into
mainfrom
v0.8
Open

Update to MADSci v0.8#7
RyanTheRobothead wants to merge 25 commits into
mainfrom
v0.8

Conversation

@RyanTheRobothead
Copy link
Copy Markdown
Member

Summary

Lifts the module from v0.6 to v0.8 for the RAPID 446 grimm rebuild.

  • pyproject.toml + pdm.lock: pin madsci.{node_module,client,common}~=0.8.0; bump requires-python to >=3.10.
  • src/sealer_rest_node.py: rename self.node_definition.*self.node_info.* (v0.7 API rename) at the two nest + seal_roll resource-creation sites in create_resources().
  • src/sealer_interface.py: rename sealer_plate_decknest to match the v0.8 resource-naming convention used elsewhere in the stack.
  • notebooks/test_interface.ipynb: small touch-ups aligning with the rename.
  • Dockerfile rewritten on the v0.8 pattern:
    • Pin to ghcr.io/ad-sdl/madsci:v0.8.0.
    • uv pip install --python ${MADSCI_VENV}/bin/python -e ./a4s_sealer_module so the editable install lands in the venv the runtime actually uses (system pip lands in /usr/lib site-packages, invisible to the venv interpreter the entrypoint runs).
    • Bake in a dialout_fedora group at GID 18 alongside the container's built-in dialout (GID 20) so the same image works on Ubuntu (dialout=20) and Fedora (dialout=18) for /dev/ttyUSB* passthrough without a per-host group_add: in compose — which gets stripped by the madsci entrypoint's userdel/useradd cycle.
    • Explicit CMD ["python", "a4s_sealer_module/src/sealer_rest_node.py"] (previous default pointed at a non-existent path).

Branched off the existing madsci branch (open PR #5), so this PR's diff includes that whole transition. Reviewers: feel free to close #5 in favor of this, or rebase as you prefer.

Test plan

Verified end-to-end on grimm with sealer_sassy:

  • curl /statusready: true
  • curl /state → firmware 515A, current temp 178.3°C, 277 historic sealing cycles
  • Container logs show heating block setting accepted (Command *00DH=0175zz! executed successfully) and seal time configured (*00DT=0030zz!)
  • ULID 01K9DKWEV7KD1FS72RMEYMEGTZ preserved via .madsci/registry.json

Dozgulbas and others added 25 commits April 30, 2025 15:20
Lifts the module from v0.6 to v0.8 for the RAPID 446 grimm rebuild.

- pyproject.toml + pdm.lock: pin madsci.{node_module,client,common}~=0.8.0;
  bump requires-python to >=3.10 (v0.7+ requirement).
- src/sealer_rest_node.py: rename self.node_definition.* ->
  self.node_info.* (v0.7 API rename) at the two nest + seal_roll resource
  creation sites in create_resources().
- src/sealer_interface.py: rename `sealer_plate_deck` -> `nest` to match
  the v0.8 resource-naming convention used elsewhere in the stack.
- notebooks/test_interface.ipynb: small touch-ups aligning with the rename.
- Dockerfile: rewritten on the v0.8 base pattern:
  - Pin to ghcr.io/ad-sdl/madsci:v0.8.0.
  - Switch install to `uv pip install --python ${MADSCI_VENV}/bin/python`
    so the editable install lands in the venv the runtime actually uses
    (system pip installs to /usr/lib site-packages, invisible to the
    venv interpreter the entrypoint runs).
  - Bake in a second `dialout_fedora` group at GID 18 alongside the
    container's built-in `dialout` (GID 20) so the same image works on
    Ubuntu (dialout=20) and Fedora (dialout=18) for /dev/ttyUSB*
    passthrough without a per-host `group_add:` in compose -- which
    gets stripped by the madsci entrypoint's userdel/useradd cycle.
  - Explicit CMD ["python", "a4s_sealer_module/src/sealer_rest_node.py"]
    (previous default pointed at a non-existent path).

Verified end-to-end on grimm with sealer_sassy:
  /status -> ready: true
  /state  -> firmware 515A, current temp 178.3 C, 277 historic cycles
  logs    -> heating block setting accepted (*00DH=0175zz!),
             seal time configured (*00DT=0030zz!)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
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