conda / conda-lock

Lightweight lockfile for conda environments
https://conda.github.io/conda-lock/
Other
457 stars 102 forks source link

Proposed implementation for #515: Install development dependencies incrementally #516

Open nealstewart opened 9 months ago

nealstewart commented 9 months ago

Description

See [issue 515](https://github.com/conda/conda-lock/issues/515 for background on why this was implemented.

I have implemented this as an optional --update flag to be based to conda-lock install.

This allows for the following use-case, which will support staged Docker builds, e.g. for light-weight testing images:

conda-lock install
conda-lock install --dev --update

I've copied the existing test and there's some potential for deduplication, but I've gone for simplicity. More than happy to refactor the two highly-coupled tests a bit.

netlify[bot] commented 9 months ago

Deploy Preview for conda-lock ready!

Name Link
Latest commit 2d6014318d73a4ca73de4bf693b199183e11f889
Latest deploy log https://app.netlify.com/sites/conda-lock/deploys/65169864a65f330007ad302f
Deploy Preview https://deploy-preview-516--conda-lock.netlify.app
Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

maresb commented 9 months ago

This is exciting! Looks fairly straightforward too. Could you please look into and fix these test failures?

I'm a bit overloaded at the moment, so no promises on timelines for getting this merged, but I'm hoping it will be easy once the CI is green.

sjdemartini commented 2 months ago

I'd love to see this change landβ€”it would be super useful to be able to update an existing env to match a lockfile, rather than deleting/recreating the env as seems to happen now. The latter approach is unsafe for any shared environments (e.g. a JupyterHub kernel env), but conda-lock would be very useful there for updating environments predictably.

Neal, any chance you plan to come back to this and get CI to pass?