brainglobe / brainglobe-atlasapi

A lightweight python module to interact with atlases for systems neuroscience
https://brainglobe.info/documentation/brainglobe-atlasapi/index.html
BSD 3-Clause "New" or "Revised" License
125 stars 33 forks source link

Move `pymcubes` to an optional dependency. #310

Closed willGraham01 closed 3 months ago

willGraham01 commented 3 months ago

Before submitting a pull request (PR), please read the contributing guide.

Please fill out as much of this template as you can, but if you have any problems or questions, just leave a comment and we will help out :)

Description

What is this PR

Why is this PR needed?

PyMCubes is a dependency that is only required during atlas generation, and currently doesn't have an ARM package on conda-forge.

Forcing it to be a core dependency results in failed builds when installing via conda-forge, and since it's not needed for registration, we have decided to move it to an optional atlasgen dependency that users will not obtain by default.

After this, we'll need a new PyPI release and then to fix the corresponding conda-forge feedstock PR that will be created.

What does this PR do?

Moves PyMCubes (and other altas-generation only) dependencies to an optional atlasgen dependency group.

References

https://github.com/brainglobe/brainreg/issues/206

How has this PR been tested?

Local pip install -e ..

Is this a breaking change?

Does this PR require an update to the documentation?

Checklist:

adamltyson commented 3 months ago

Should we add other packages that aren't needed for the atlasAPI? Maybe ITK is one?

willGraham01 commented 3 months ago

A quick search of this repo indicates that the following packages are only used in the atlas_generation/ submodule:

Also, we seem to be fetching scikit-image but never actually importing it... so I guess it can just go?

Changes applied in https://github.com/brainglobe/brainglobe-atlasapi/pull/310/commits/663bb21e13f635bbda8976621dd3c1050dd12015

willGraham01 commented 3 months ago

https://github.com/brainglobe/brainglobe.github.io/issues/203

Will also publish a new release once the tests pass on main.