mne-python icon indicating copy to clipboard operation
mne-python copied to clipboard

MAINT: Check list of other packages against mne-installers

Open larsoner opened this issue 2 years ago • 2 comments

Whoops, yes just an oversight that [some packages are] not on here. At some point we should check this list against the mne-installers list but this is already an improvement. Marking for merge-when green and restarted CircleCI, thanks in advance @sappelhoff !

Originally posted by @larsoner in https://github.com/mne-tools/mne-python/issues/11829#issuecomment-1647916846

larsoner avatar Jul 24 '23 13:07 larsoner

The list is quite big:

https://github.com/mne-tools/mne-installers/blob/31544ad2fd91d85c0f4b79ee5a444bf45d5c8d3d/recipes/mne-python_1.4/construct.yaml#L65-L141

We should think about:

  • requirements to be fulfilled for inclusion in the "ecosystem list" on the MNE-Python website
  • a format that is more easily ingested by human readers (currently just an unordered list) --> https://mne.tools/dev/install/mne_tools_suite.html#related-software

sappelhoff avatar Jul 24 '23 14:07 sappelhoff

Somewhat related to this, I started #225 to check that mne[full,test,test_extra,doc] is a subset of what the installers install. Once we have that, to tackle this issue I think we could add to MNE-Python a sphinxext directive that:

  1. downloads and parses https://github.com/mne-tools/mne-installers/blob/main/recipes/mne-python/construct.yaml
  2. figures out what relevant packages are (e.g., not numpy/scipy/libblas etc., probably using a blocklist)
  3. maps the package names to descriptions and URLs (like we do now with a bulleted list), and inserts these as reST into what is currently the related-software area (i.e., replace that ad-hoc list with the directive)
  4. if needed, add packages currently in related-software that are not installed in the installers to the directive (hopefully it's a small set and/or we can easily add to the installers, but no problem even if that's not the case)
  5. puts information about other neat tools the installers provide like gh, maybe in the installer page (solve https://github.com/mne-tools/mne-installers/issues/104, cc @hoechenberger)

If we do this, then the primary way we keep track of "related software" is by having it in MNE-installer recipe and adding a correspending description in this repo.

For the ordered-ness, the directive would make it trivial to change the order -- I propose alphabetical because it's easy and standard-ish. As for standardizing what gets included, that's harder -- my vote is to leave up the .. note:: that is currently there asking people to add their own packages if they want and we live with that for now. I think we can be inclusive here but I also don't want to have to monitor anything myself, so let the community take care of it hopefully...

larsoner avatar Nov 14 '23 20:11 larsoner