Update to MADSci v0.8#7
Open
RyanTheRobothead wants to merge 25 commits into
Open
Conversation
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>
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.
Summary
Lifts the module from v0.6 to v0.8 for the RAPID 446 grimm rebuild.
pyproject.toml+pdm.lock: pinmadsci.{node_module,client,common}~=0.8.0; bumprequires-pythonto>=3.10.src/sealer_rest_node.py: renameself.node_definition.*→self.node_info.*(v0.7 API rename) at the twonest+seal_rollresource-creation sites increate_resources().src/sealer_interface.py: renamesealer_plate_deck→nestto match the v0.8 resource-naming convention used elsewhere in the stack.notebooks/test_interface.ipynb: small touch-ups aligning with the rename.Dockerfilerewritten on the v0.8 pattern:ghcr.io/ad-sdl/madsci:v0.8.0.uv pip install --python ${MADSCI_VENV}/bin/python -e ./a4s_sealer_moduleso the editable install lands in the venv the runtime actually uses (systempiplands in/usr/libsite-packages, invisible to the venv interpreter the entrypoint runs).dialout_fedoragroup at GID 18 alongside the container's built-indialout(GID 20) so the same image works on Ubuntu (dialout=20) and Fedora (dialout=18) for/dev/ttyUSB*passthrough without a per-hostgroup_add:in compose — which gets stripped by the madsci entrypoint's userdel/useradd cycle.CMD ["python", "a4s_sealer_module/src/sealer_rest_node.py"](previous default pointed at a non-existent path).Branched off the existing
madscibranch (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 /status→ready: truecurl /state→ firmware515A, current temp178.3°C, 277 historic sealing cyclesCommand *00DH=0175zz! executed successfully) and seal time configured (*00DT=0030zz!)01K9DKWEV7KD1FS72RMEYMEGTZpreserved via.madsci/registry.json