-
-
Notifications
You must be signed in to change notification settings - Fork 317
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
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
How to take advantage of Weak Dependencies? #2505
Comments
Do you mean by The MWE on the doc page seems that is a feature that provides better support for mono repos via |
No the purpose is to split out functionality from the main package into a submodule that only gets loaded if some other packages have also been loaded by the user. Thereby avoiding the overhead of the dependency for all but those that installed it separately. For example, making |
ups my bad, I totally ignored the text when reading the MWE ... |
I have found two candidates for the package extension treatment in #2683:
The |
I'd love to use extensions more, but I'm also a bit worried that it will decrease usability... Maybe we can revisit our dependencies and make some notes for each? |
If I understand correctly, the usability problem when using extensions would be that people wanting to e.g. make a |
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
There's a new feature in Julia coming up which allows to specify weak dependencies for a package. That's basically the sanctioned way of what was previously done with
Requires.jl
but it's better integrated and doesn't break precompilation.Downstream packages are expected to use this going forward to implement Makie plotting functionality without taking on full dependency on it. But can we also improve Makie loading times by factoring out some functionality? I'm not sure, as I think a plotting package would be expected to work fully without installing additional packages to "unlock" something like contour plots (contour plots were the example used in the documentation of the new feature).
The text was updated successfully, but these errors were encountered: