Skip to content

Revisit removal of Blink as a dependencyΒ #272

@EricForgy

Description

@EricForgy

Hi @sglyon πŸ‘‹

I raised this issue once here

#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 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions