# PlotlyJS users poll

**URL:** <https://discourse.julialang.org/t/plotlyjs-users-poll/89576>\
**Category:** Visualization\
**Tags:** plotting\
**Created:** [October 31, 2022, 5:47pm UTC](https://discourse.julialang.org/t/plotlyjs-users-poll/89576 "2022-10-31T17:47:31Z")\
**Posts on this page:** 1\
**Showing post:** 6

<div class="post-metadata">

**Author:** ![jd-foster](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jd-foster/32/35824_2.png) [@jd-foster](https://discourse.julialang.org/u/jd-foster)\
**Post date:** [November 1, 2022, 10:54am UTC](https://discourse.julialang.org/t/plotlyjs-users-poll/89576/6 "2022-11-01T10:54:43Z")

</div>

Note the reasonably old but still open issue in PlotlyJS.jl here:

> <https://github.com/JuliaPlots/PlotlyJS.jl/issues/272>
>
> Hi @sglyon 👋 
> 
> I raised this issue once here
> 
> https://github.com/sglyon/Plot…lyJS.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.

as well as this discussion

> [@State of PlotlyJS and support packages](https://discourse.julialang.org/t/state-of-plotlyjs-and-support-packages/86119):
>
> [PlotlyJS](https://github.com/JuliaPlots/PlotlyJS.jl) seems to be unmaintained by its current (and only) maintainer @sglyon. It also relies on [Blink.jl](https://github.com/JuliaGizmos/Blink.jl), a wrapper for [Electron](https://www.electronjs.org/), where the last commit was more than one year ago and uses a version of Electron more than 2 years old. Installing Blink [fails](https://github.com/JuliaPlots/PlotlyJS.jl/issues/438) because it makes use of BinDeps, which, as far as I understand, has been abandoned. If the original project is not maintained anymore by @sglyon, how do we proceed?

and the suggestion there to consider [PlotlyLight](https://github.com/JuliaComputing/PlotlyLight.jl) for your use-case.

There is also the existing [PlotlyBase](https://github.com/sglyon/PlotlyBase.jl) that “knows how to emit the proper MIME data to display using the jupyterlab plotly renderer” ([Remove Blink dependency? · Issue #184 · JuliaPlots/PlotlyJS.jl · GitHub](https://github.com/JuliaPlots/PlotlyJS.jl/issues/184#issuecomment-370450011)).

---

_[View the full topic](https://discourse.julialang.org/t/plotlyjs-users-poll/89576)._
