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

option for Davos projects to behave more like "classic" virtual environments #100

Open
paxtonfitzpatrick opened this issue Sep 25, 2023 · 0 comments
Labels
enhancement New feature or request

Comments

@paxtonfitzpatrick
Copy link
Member

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)

@paxtonfitzpatrick paxtonfitzpatrick added the enhancement New feature or request label Sep 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant