Skip to content

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

Merged
jerlfan merged 3 commits into
5.0.xfrom
feature/plugin_acceptance_tests
Oct 12, 2026
Merged

jerlfan merged 3 commits into
5.0.xfrom
feature/plugin_acceptance_tests

Conversation

@seb5g

@seb5g seb5g commented Oct 12, 2026

Copy link
Copy Markdown

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
acspy uses ctypes.windll at import time, which raises AttributeError on Linux and macOS and breaks plugin discovery.

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

@jerlfan jerlfan left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested with check_plugin and on the setup, thanks!

@jerlfan

jerlfan commented Oct 12, 2026

Copy link
Copy Markdown
Collaborator

Hello Sébastien,

I tested the branch with check_plugin and on the setup, everything works, so I approved the PR. However, I cannot merge it: it seems I don’t have write access to the repository since the transfer. Could you give me the Maintain role on pymodaq_plugins_acs_motion?
Thanks!
Jérémie

@seb5g

seb5g commented Oct 12, 2026

Copy link
Copy Markdown
Author

you should be good. Wanna try?

@jerlfan
jerlfan merged commit beec8e3 into 5.0.x Oct 12, 2026
7 checks passed
@jerlfan
jerlfan deleted the feature/plugin_acceptance_tests branch October 12, 2026 20:01
@jerlfan

jerlfan commented Oct 12, 2026

Copy link
Copy Markdown
Collaborator

Hello Sébastien,

The transfer is done: the repository is in the PyMoDAQ organization, the PyPI project now belongs to the pymodaq organization, and I merged PR #3 after testing it on the setup. Thanks for your help!

Jérémie

@seb5g

seb5g commented Oct 12, 2026

Copy link
Copy Markdown
Author

I like when everything is green :-)

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