Skip to content

Follow the plugin template: acceptance tests, shared workflows, AGENTS.md - #56

Merged
seb5g merged 3 commits into
5.0.xfrom
feature/plugin_acceptance_tests
Oct 25, 2026
Merged

seb5g merged 3 commits into
5.0.xfrom
feature/plugin_acceptance_tests

Conversation

@seb5g

@seb5g seb5g commented Oct 12, 2026

Copy link
Copy Markdown
Collaborator

Brings this plugin in line with pymodaq_plugins_template (branch 5.3.x).

  • tests/test_plugin_package_structure.py: replaced by the stub using the plugin acceptance checks of PyMoDAQ (pymodaq.utils.plugin_testing, PyMoDAQ >= 5.3.2, see the documentation). They check the naming of the modules and classes, the base class and mandatory methods, _axis_names / _controller_units / _epsilons, the settings tree, the entry points and static rules on the sources. Unfinished work (TODO comments) is listed, not failing. A module that cannot be imported because a vendor driver is missing on the CI runner is skipped, not failed. The module is skipped when PyMoDAQ is older than 5.3.2.
  • .github/workflows: the copies of the workflows are replaced by three small files calling the reusable workflows hosted in pymodaq_plugins_template: tests.yml (one fast configuration), compatibility.yml (Python 3.10 to 3.13, PyQt5/PyQt6/PySide6, Linux and Windows) and python-publish.yml (same release trigger and the same PYPI_USERNAME / PYPI_PASSWORD secrets as before). Nothing to update here anymore when GitHub actions or Python versions change.
  • AGENTS.md and CLAUDE.md: guidance for AI coding assistants working on the plugin (the PyMoDAQ plugin contract, units, is_master, tests).

The pymodaq requirement of pyproject.toml is not changed. You can also run check_plugin (PyMoDAQ >= 5.3.1) in the folder of the plugin to get the full report, with the hints to fix each finding.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Tdiso1u1ZhikSutj2Qs5Cg


Generated by Claude Code

…_testing, shared workflows, AGENTS.md

Remove the copies of the workflows (Test.yml, Testbase.yml, updater.yml) and call the reusable ones of
pymodaq_plugins_template; add AGENTS.md and CLAUDE.md for AI coding assistants.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tdiso1u1ZhikSutj2Qs5Cg
pymodaq>=5.3.2, pymodaq_utils>=5.3.1, pymodaq_gui>=5.3.0, pymodaq_data>=5.3.0,
so that the acceptance tests and the rest of this change are met at install time.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tdiso1u1ZhikSutj2Qs5Cg
…q_gui 5.3 CI failures

- replace the subscripts with unpacking (a[*slices], Python 3.11+) by a[tuple(slices)]
- import ROI2D_TYPES from roi_viewer_manager, falling back to roi_manager
- declare AlgoApp under TYPE_CHECKING in the algorithms using it as annotation
- define __version__, override _quit_fun instead of quit_fun in the BeamShaping extension
- the Zernike actuator selects its axis, hence is_multiaxes = True

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CAhZwmbyCSpSgfTyicUxuS
@seb5g
seb5g merged commit 65a960e into 5.0.x Oct 25, 2026
7 checks passed
@seb5g
seb5g deleted the feature/plugin_acceptance_tests branch October 25, 2026 21:46
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