Skip to content

Migrate packaging to pyproject and add the shared plugin tests - #1

Merged
seb5g merged 2 commits into
mainfrom
feature/plugin_acceptance_tests
Oct 12, 2026
Merged

seb5g merged 2 commits into
mainfrom
feature/plugin_acceptance_tests

Conversation

@seb5g

@seb5g seb5g commented Oct 12, 2026

Copy link
Copy Markdown

Before: the plugin was packaged with setup.py, MANIFEST.in and plugin_info.toml, with legacy test workflows.

After: it uses the same pyproject.toml (hatch) layout as the other PyMoDAQ plugins, runs the shared acceptance tests, and calls the shared CI workflows.

What changes:

  • pyproject.toml and hatch_build.py replace setup.py, MANIFEST.in and plugin_info.toml. Metadata, dependencies and features are carried over; entry points are generated from the [features] table and the version comes from git tags (hatch-vcs). The distribution keeps its existing name pymodaq_plugins_alcatel (the package directory), which differs from the repository name.
  • tests/test_plugin_package_structure.py runs the acceptance checks from pymodaq.utils.plugin_testing.
  • .github/workflows/ tests.yml, compatibility.yml and python-publish.yml call the shared workflows of PyMoDAQ/pymodaq_plugins_template; legacy workflows are removed.
  • AGENTS.md / CLAUDE.md for AI coding assistants.

How: files generated by a script from the plugin template, the wheel was built locally to check metadata and entry points. The tests and CI results of this PR show what the plugin still needs for the current PyMoDAQ; the plugin code itself is not modified. Nothing here was run against real hardware.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Tdiso1u1ZhikSutj2Qs5Cg


Generated by Claude Code

- pyproject.toml + hatch_build.py replace setup.py, MANIFEST.in and plugin_info.toml
  (entry points are generated from the [features] table, version comes from git tags)
- tests/test_plugin_package_structure.py: acceptance checks from pymodaq.utils.plugin_testing
- .github/workflows: tests, compatibility and publish call the shared workflows of
  PyMoDAQ/pymodaq_plugins_template (legacy Test.yml/Testbase.yml removed)
- AGENTS.md / CLAUDE.md for AI coding assistants

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tdiso1u1ZhikSutj2Qs5Cg
The shared tests and the template target pymodaq>=5.3.2 (pymodaq_utils>=5.3.1, pymodaq_gui and pymodaq_data>=5.3.0), so releases of this plugin cannot be installed next to an older PyMoDAQ.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tdiso1u1ZhikSutj2Qs5Cg
@seb5g
seb5g merged commit 1aa88e3 into main Oct 12, 2026
7 checks passed
@seb5g
seb5g deleted the feature/plugin_acceptance_tests branch October 12, 2026 08:34
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