conda / conda-lock

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

Docs: broken links #200

Open Titus-von-Koeller opened 2 years ago

Titus-von-Koeller commented 2 years ago

Hi maintainers of conda-lock,

First of all, thanks for your amazing work. I really appreciate this tool and have to say that it is well executed :). It fills an essential gap in our MLOps workflow, which actually no other tool can fill so cleanly (only alternative would be to use docker images for (transcendent) dependency locking across language gaps)..

Either way, I just found a small issue with the docs. Seems like Dev dependencies are now supported, yay!

https://github.com/conda-incubator/conda-lock/blob/13d908162679f51a803140056e7a020a1430b5d7/docs/src_environment_yml.md?plain=1#L62-L67

  1. 62: /compound_specification link destination does not exist
  2. 65: code block not closed with triple backticks
  3. 67: did you intend the link name syntax?

I'm really curious what you mean by compound specification.

P.S. I wonder if the dependencies and their transcendent dependencies get trimmed out of the dependency tree. That's how I would expect it to work. I didn't find anything about that in the docs and I therefore have to do a small experiment now, finding that out. Maybe it would be nice to add a section about that as well. (I.e., I would like to run something with dev dependencies installed, e.g. the tests, and then deploy without the dev dependencies, while remaining reproducible if I don't use these imports.. -- is that then even still provably reproducible?).

Titus-von-Koeller commented 2 years ago

Ah, I see how the dev dependencies work from the comment in the lock file:

# This lock contains optional development dependencies. Include them in the installed environment with:
#     conda-lock install --dev-dependencies -n YOURENV --file conda-lock.yml

I might submit a PR with stating that in the docs somewhere more prominently, also mentioning that transcendent (dev) dependencies are also left out, when they are not required by other non-dev dependencies.