option for Davos projects to behave more like "classic" virtual environments
- Dominant language
- TeX
- Stars
- 37
- Forks
- 8
- PR merge metrics
- No merged PRs in 30d
Description
Something that could be worth adding is an option (disabled by default) to treat a Davos project more like a "complete" virtual environment -- i.e., include & provide all required packages on its own, rather than supplementing the user’s existing environment.
Currently, Davos projects don’t duplicate any dependencies already satisfied by the user’s environment. This makes them more efficient, and there’s few if any downsides to doing it this way. But I can imagine some users might want the alternate behavior in some cases, and right now the only way to achieve this would be to add `--ignore-installed` to the onion comment for every `smuggle` statement (which would then have to be removed after the first run, otherwise the `smuggle` statements would install all packages every time).
My gut feeling is this might work better as a flag attached to the `Project` object itself rather than `davos.config`/the top-level `davos` module -- e.g., `davos.project.complete = True`. Then the behavior would be linked to the project even if it were re-used across multiple notebooks, we'd avoid ambiguity about what happens if you enable the option then change which project you're using, and it could be a constructor argument so you don't have to set it every time, e.g., `davos.project = Project('my-project', complete=True)`
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.