Skip to content

Culling packages #3

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 105 commits into from
May 30, 2025
Merged

Conversation

matthew-brett
Copy link
Contributor

Cull packages specific to MNE.

Cull some visualization packages (VTK, pyvista etc).

Cull some development packages (these can be installed later via the command line).

Add pyreadstat (for SPSS etc import into Pandas) and nbclassic (for users who prefer the classic Jupyter interface).

@autofix-troubleshooter
Copy link

Hi! I'm the autofix logoautofix.ci troubleshooter bot.

It looks like you correctly set up a CI job that uses the autofix.ci GitHub Action, but the autofix.ci GitHub App has not been installed for this repository. This means that autofix.ci unfortunately does not have the permissions to fix this pull request. If you are the repository owner, please install the app and then restart the CI workflow! 😃

Copy link
Member

@drammock drammock left a comment

Choose a reason for hiding this comment

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

@munkm can you take a look at the list of installed packages (and the ones being removed) to see if this environment would be suitable for your classes/needs?

@matthew-brett build actions are succeeding but test actions are all failing. We should try to sort that out in this PR I think.

Cull packages specific to MNE.

Cull some visualization packages (VTK, pyvista etc).

Cull some development packages (these can be installed later via the command line).

Add `pyreadstat` (for SPSS etc import into Pandas).
Copy link
Member

@munkm munkm left a comment

Choose a reason for hiding this comment

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

All of the dependencies that I would use for my class exist in the new version of the installer! Thank you for adapting this! I made a couple of minor comments unrelated to the packages I'd use in my class, but are relevant to the PR.

I think it's probably outside of the scope of this PR, but wanted to point out that there's a few MNE references up through line 50 that we'd probably want to update after this PR goes in. They include:

# Viz
# matplotilb is just matplotlib-base, tornado, and pyqt
# https://github.com/conda-forge/matplotlib-feedstock/blob/main/recipe/meta.yaml
- matplotlib-base =3.10.1
- matplotlib-base =3.10.3
- tornado =6.4.2
- pyside6 =6.8.2 # allow_outdated, PyVista (VTK 9.3.1) and Mayavi
Copy link
Member

Choose a reason for hiding this comment

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

Both VTK and Mayavi were removed as dependencies.

Suggested change
- pyside6 =6.8.2 # allow_outdated, PyVista (VTK 9.3.1) and Mayavi
- pyside6 =6.8.2

Copy link
Member

Choose a reason for hiding this comment

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

this probably means that we can/should bump the pin? I'm guessing that the comment is used in tests that check that the pins reflect the most current available version, so if we simply remove it without bumping the pin, it will cause a test failure.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I dropped Qt stuff completely - should it come back?

@drammock drammock mentioned this pull request May 13, 2025
2 tasks
Copy link
Member

@munkm munkm left a comment

Choose a reason for hiding this comment

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

I noticed a couple more places I can see MNE in these updated files. The main place I noticed was in installers, but the check_installation.sh file refers to some things that probably need to be updated too.

  • here this test refers to $MNE-MACHINE and also refers to an install path that was changed in the updated construct.yaml.
  • here we have some MNE references and paths
  • here is another path that probably should be updated
  • MNE install prefixes

@matthew-brett
Copy link
Contributor Author

Conda issue : conda/conda#14884

Meanwhile, trying fix to manually overwrite CONDA_EXE in our scripts.

@matthew-brett
Copy link
Contributor Author

1c3bb07 works around the problem for our purposes.

@larsoner - you probably also need the fixes in d6619e9 - the code was looking for all Python installations and showing the one that is last on the path.

@matthew-brett
Copy link
Contributor Author

@drammock - I think this one is ready to merge now. We still need to sort out Apple certificate signing - see #10 - but that can wait for another PR.

Copy link
Member

@drammock drammock left a comment

Choose a reason for hiding this comment

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

OK tested fairly thoroughly on Linux. Some notes:

  1. menu icons install into the "Other" folder. I think we can fix this later (there are I think built-in categories for "science" and "Development", either of these would be better).

  2. I'm leaving some TODOs in the Makefile for folks building the package on Windows (again, can be added later).

  3. To make it easy for others to develop / remix / build this installer locally, I think we should add either a Makefile recipe like this:

    build-environment:
    @conda create -n sp-installer "python=3.11" conda-build conda-verify constructor joblib threadpoolctl && \
    conda activate sp-installer

    ... or put a dev section in project.optional_dependencies of pyproject.toml that will install the necessary build deps. (can be done later).

I'll open separate issues for each of these suggestions.

Copy link
Member

Choose a reason for hiding this comment

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

IIRC this logo ended up not looking super good in the macOS installer (shoved too far into the corner). mentioning as a TODO for later.

@drammock
Copy link
Member

Almost there I think! But:

@matthew-brett
Copy link
Contributor Author

It looks like Windows isn't running the tests in any case - see https://github.com/scientific-python/installer/actions/runs/15333037607/job/43144153017?pr=3#step:6:441

@drammock
Copy link
Member

It looks like Windows isn't running the tests in any case - see https://github.com/scientific-python/installer/actions/runs/15333037607/job/43144153017?pr=3#step:6:441

Caveat: I don't fully understand the conda build process. But: IIUC --no-test just prevents entries in test:commands (in sp-installer-menu/meta.yaml) from being run (cf third bullet-point here). AFAICT testing of the menu installer is being run, see:

subprocess.CalledProcessError: Command '['C:\Windows\system32\cmd.exe', '/d', '/c', 'C:\a\installer\installer\conda-bld\sp-installer-menu_1748550987689\test_tmp\conda_test_runner.bat']' returned non-zero exit status 1

https://github.com/scientific-python/installer/actions/runs/15333037607/job/43144153017?pr=3#step:6:466

which references a .bat file, not a .sh (that said, not sure where the "ignoring .sh file" warning is coming from).

Additionally, I also spotted this line:

WARNING: Importing conda-verify failed. Please be sure to test your packages. conda install conda-verify to make this message go away.

https://github.com/scientific-python/installer/actions/runs/15333037607/job/43144153017?pr=3#step:6:380

which makes me think we should add conda-verify to the CI env.

@drammock
Copy link
Member

something is awry with the CI config

this is probably a non-issue; the windows build was passing on 6dc0750 and the $MATRIX_OS entry was replaced by 2 entries (windows-2019 and windows-2022)

@drammock drammock merged commit ba28bbe into scientific-python:main May 30, 2025
13 checks passed
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.

5 participants