Skip to content
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

morphapi external dependency is not available on conda-forge #9

Open
willGraham01 opened this issue Jun 19, 2023 · 13 comments
Open

morphapi external dependency is not available on conda-forge #9

willGraham01 opened this issue Jun 19, 2023 · 13 comments
Assignees
Labels
bug Something isn't working

Comments

@willGraham01
Copy link
Collaborator

willGraham01 commented Jun 19, 2023

Describe the bug
morphapi's dependency NeuroM is available on PyPI, but not on conda-forge. This means that we can't upload morphapi to conda-forge, and hence neither can we upload brainglobe either.

To Reproduce

grayskull pypi --strict-conda-forge morphapi

will report the missing conda-forge dependency. Searching conda-forge will verify this.

Possible Solutions

  • morphapi as an optional dependency in brainglobe? Then the conda-forge recipe can only be for the "base" brainglobe?
@willGraham01 willGraham01 added the bug Something isn't working label Jun 19, 2023
@adamltyson
Copy link
Member

Is there any reason we can't put NeuroM onto conda-forge? morphapi can be optional for now.

@willGraham01
Copy link
Collaborator Author

willGraham01 commented Jun 19, 2023

NeuroM isn't one of our packages. It's open-source of course, but I don't know off the top of my head what the etiquette is regarding uploading someone else's package to conda-forge (and what that means for who's responsible for maintaining it). Also, the package hasn't seen development in 7 years, at least from the looks of the repo. Nevermind that part, it's just moved

cellfinder isn't on conda-forge either but that's a brainglobe repository, so I (perhaps naively) assume it's fine for me to upload that to conda-forge along with the meta-package.

Will make morphapi optional for the time being.

@adamltyson
Copy link
Member

NeuroM isn't one of our packages. It's open-source of course, but I don't know off the top of my head what the etiquette is regarding uploading someone else's package to conda-forge (and what that means for who's responsible for maintaining it).

Some other BrainGlobe dependencies have been added by people who aren't the maintainers of the original package (NiftyReg, and I think some others). I don't know if there are rules, but I think the etiquette is to ask the developers if they have any plans to add it. If they don't, then we can add it. @adrien-berchet do you know anything about the plans here?

cellfinder isn't on conda-forge either but that's a brainglobe repository, so I (perhaps naively) assume it's fine for me to upload that to conda-forge along with the meta-package.

100%

@adrien-berchet
Copy link

Hi!
I don't think we have any plan for Conda forge but I can propose to push our releases to it.

@adamltyson
Copy link
Member

@adrien-berchet We'd be happy to add the recipe and add the correct people as maintainers if that's alright?

@adrien-berchet
Copy link

@adrien-berchet We'd be happy to add the recipe and add the correct people as maintainers if that's alright?

That could work indeed, thanks. Just wait a bit to figure out who should maintain this recipe (will be discussed in BlueBrain/NeuroM#1074).

@adrien-berchet
Copy link

So your solution is fine for us!
You will need to create the recipe of MorphIO before being able to create the one for NeuroM. I can help a bit if you need.

@adamltyson
Copy link
Member

@willGraham01 are you happy to look into this so we can get MorphIO -> NeuroM -> BrainGlobe onto conda?

@willGraham01
Copy link
Collaborator Author

willGraham01 commented Jun 19, 2023

Yep happy to take a look into this, this week 👍

@willGraham01
Copy link
Collaborator Author

Just posting an update on this after radio silence for 2 weeks; I have a recipe PR open for MorphIO (the NeuroM dependency).

I've hit a bug in the build process that I'm 99% confident is an issue specific to the way conda build is trying to build the package, and am waiting on a response from the conda-forge team.

@adrien-berchet
Copy link

Hi @willGraham01
I see that you closed conda-forge/staged-recipes#23132, did you find another way to use NeuroM and MorphIO in your workflow?

@willGraham01
Copy link
Collaborator Author

willGraham01 commented Feb 12, 2024

Hi Adrien - I was actually waiting on response from the conda-forge team, but they never got back to me about the issue I was encountering (essentially the build process wouldn't complete because of missing headers and libraries not being found, and I could only replicate this bug on conda-CI... everything else worked fine in EG a mamba image or local build). Since the PR was going stale, it was closed.

We've just finished a large restructuring of BrainGlobe, and now default to pip install which seems to resolve the NeuroM and MorphIO dependencies perfectly fine. We also have plans to upload the whole suite to conda-forge #40 (comment), so I expect that we'll be having another crack at uploading MorphIO and NeuroM in the future.

I'm happy to share any insights I learnt with you or anyone else in your team if you're going to attempt this yourselves in the near future.

@adrien-berchet
Copy link

Yeah, I saw they never answered :-/
It's nice if you were able to find another way to make it work for you. I don't think we'll use Conda on our side, but that would still be nice for some users to have it working at some point, maybe we'll come back to this later... Anyway, thank you for your work on this!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants