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

Update environment.yml to use conda scores #649

Open
mareecarroll opened this issue Sep 2, 2024 · 4 comments
Open

Update environment.yml to use conda scores #649

mareecarroll opened this issue Sep 2, 2024 · 4 comments
Labels
question Further information is requested

Comments

@mareecarroll
Copy link
Collaborator

mareecarroll commented Sep 2, 2024

Now that scores is in conda-forge, update environment.yml to use this instead of pip

This change would also require an update to https://scores.readthedocs.io/en/stable/contributing.html#conda-based-virtual-environment

@tennlee
Copy link
Collaborator

tennlee commented Sep 4, 2024

Yes, that would be great, thanks for noticing. Is this something you would like to do, or should I take care of it? It would be good to do before the next release, which I'm currently thinking might occur perhaps this weekend or in the following week or two.

@mareecarroll
Copy link
Collaborator Author

@tennlee The conda install will only install minimal. Do we want to hold off on this until we are able to have variants in conda. Or do we want a environment.yml for minimal and and environment-all.yml that still uses pip to install the all variant?

@mareecarroll mareecarroll added the question Further information is requested label Sep 5, 2024
@tennlee
Copy link
Collaborator

tennlee commented Sep 5, 2024

I think hold off, but I could be convinced differently. I'm not sure I fully understand all the pros and cons of the options and it would be nice to set that out. I don't think there's a need to rush this one* (see note at the end).

As I undertand it, environment.yml is for creating new conda environments rather than for installing the package, using conda, into an existing environment. That second use case is currently covered by the conda-forge channel, and will always install the "minimal" variant.

Those using the environment.yml file are likely to be creating new environments, in some kind of developer mode, working from a checkout of the repository, either to run tutorials or set up for development. They aren't going to want the "minimal" variant for those purposes. They are also more likely to understand their setup and how to customise it to their needs, and how to work with PyPI if needed.

It would be possible to set environment.yml to use conda-forge for the scores package, however then people would end up with a minimal installation, and then have to do a lot of work to set up for their likely use cases, which is kind of self-defeating. At least at the moment it suits the purpose of setting up for development.

I think the proper sequence is for conda-forge variants to be fully explored first. Then, assuming there's a sensible solution, environment.yml can be set up to install a variant with appropriate dependencies for the developer or tutorial type use case.

Thinking a little further, perhaps people working with conda, for development, are best served by really focusing in that experience. Perhaps something that installs the dependencies from conda but uses pip to install an editable install and assuming a local checkout would be best.

  • that said, the environment.yml file currently has a comment saying scores is unavailable from any conda repositories, which is no longer the case. So this commend could be updated and improved in some fashion.

@mareecarroll
Copy link
Collaborator Author

Created #657 to update the comment in environment.yml

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants