Skip to content

Test for MNE-Tools actions#13971

Draft
tsbinns wants to merge 19 commits into
mne-tools:mainfrom
tsbinns:test_tools
Draft

Test for MNE-Tools actions#13971
tsbinns wants to merge 19 commits into
mne-tools:mainfrom
tsbinns:test_tools

Conversation

@tsbinns

@tsbinns tsbinns commented Jun 20, 2026

Copy link
Copy Markdown
Contributor

Testing to get an idea of how the actions being implemented in MNE-Tools behave (mne-tools/mne-tools#20).

@tsbinns

tsbinns commented Jun 27, 2026

Copy link
Copy Markdown
Contributor Author

Have now tested here all the actions implemented so far in mne-tools, save the old env checking.

There are a couple differences between what happens currently and what the actions do, but only cosmetic, nothing that should affect the function. A summary of differences below:

Syncing dependencies to env yaml

  • Formatting of some specifiers/markers changes because the actions uses packaging's Request object to get str reprs, which has its own ordering logic. However, this is just a cosmetic thing, and it still functions as an env file.

Citation generation

  • Action switches to using pyyaml to format CITATION.CFF instead of manually constructing this. However, pyyaml's behaviour is to not indent lists, e.g.:
# `pyyaml` formatting
my-list:
- item

# current formatting
my-list:
  - item

AFAIK, there isn't a way to get pyyaml to add this indentation. Both are valid yaml formats, just a visual thing, but it does produce a big diff to what there is currently.

  • pyyaml also doesn't wrap multi-word strings in quotes, as is currently done, but this isn't required for the yaml to be valid.

  • Action takes keywords from pyproject.toml, which don't match what is currently used in the citation. Idea was to simplify the args that need to be passed to the action (as specifying loads of keywords gets cumbersome) and this info can be encoded in pyproject.toml.

Codemeta generation

  • Action uses keywords encoded in pyproject.toml rather than requiring these to be passed as args, as well as supported OSs (which can be extracted from the classifier field) and package description. Again, just trying to simplify args by using info already encoded somewhere.

  • Action uses json.dump() to construct codemeta.json rather than manually building this. Ends up fixing some indent and spacing inconsistencies in author names. A cosmetic improvement, but does generate a big diff.

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.

1 participant