JuliaPlots / JuliaPlots/PlotlyJS.jl
Revisit removal of Blink as a dependency
- Dominant language
- Julia
- Stars
- 444
- Forks
- 86
- PR merge metrics
- No merged PRs in 30d
Description
Hi @sglyon 👋
I raised this issue once here
https://github.com/sglyon/PlotlyJS.jl/issues/184
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](https://github.com/MikeInnes/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](https://github.com/EricForgy/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](https://github.com/EricForgy/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.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.