mne-python
mne-python copied to clipboard
MAINT: Check list of other packages against mne-installers
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
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
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:
- downloads and parses https://github.com/mne-tools/mne-installers/blob/main/recipes/mne-python/construct.yaml
- figures out what relevant packages are (e.g., not numpy/scipy/libblas etc., probably using a blocklist)
- 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-softwarearea (i.e., replace that ad-hoc list with the directive) - if needed, add packages currently in
related-softwarethat 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) - 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...