-
-
Notifications
You must be signed in to change notification settings - Fork 78
Description
Hi @sglyon π
I raised this issue once here
but would like to raise it again.
Blink.jl is kind of a heavy dependency with a nontrivial build process. I don't think it is really necessary for what I think you want with PlotlyJS.jl.
Would you be open to using Requires.jl and have some code that only gets loaded if someone has independently loaded Blink.jl?
This way, you would not lose any Blink functionality, but Blink would not be a dependency.
When I raised this issue before, it was for my package, Pages.jl, and we were able to close the issue because it turns out I could just use PlotlyBase.jl for Pages.jl instead.
Now, I have Figures.jl. Figures.jl provides a display
that will display PlotlyJS charts in a draggable "Figure" in a browser window and depends on PlotlyJS.jl proper.
My idea is to:
- Not lose any Blink.jl functionality currently in PlotlyJS.jl
- Use Requires.jl so that functionality only gets loaded if someone independently does
using Blink
- Remove Blink.jl as a dependency of PlotlyJS.jl
Reason: I don't want people to have to install Blink.jl to use my package that has a dependency on PlotlyJS.jl.
What do you think?
If you are open to this idea, I can submit a PR π
Edit: By the way, if you are open to this, I may do something similar with WebIO.jl since I'd like to use PlotlyJS.jl without acquiring a dependency on WebIO.jl as well. In that case, I might even add Figures.jl as a backend to PlotlyJS.jl with the same philosophy, i.e. using Requires.jl so PlotlyJS.jl doesn't have a dependency on Figures.jl but can take advantage of it.