jmboehm / KeplerGL.jl

Geospatial Visualization in Julia via Kepler.gl
MIT License
2 stars 1 forks source link

Possibly separate KeplerGLBase and KeplerGL? #7

Closed hhaensel closed 1 month ago

hhaensel commented 2 months ago

Hi @jmboehm,

this is a great package, congratulations!

I am a contributor to Stipple/Genie and we have been asked whether it is possible to support KeplerGL in the GenieFramework. I've given it a try and the first workable Demo can be tested at https://github.com/GenieFramework/StippleKeplerGL.jl/blob/main/examples/StippleKeplerGLDemo.jl

Currently the package is not registered yet, as we have no support for resizing and replotting of new data. But we have succeeded in bringing the react libs into our vue-based web app.

However, loading of KeplerGL is a bit slow, because it depends on WebIO and Blink. Could you imagine separating your package into two packages, e.g. KeplerGLBase and KeplerGL? This has been done in a similar way for PlotlyBase and PlotlyJS, so that people wanting to use only the plot generating functions can do so and and build their own web interface around.

From a quick view there is only map.jl and export.jl that make use of WebIO or Blink, so all in all it wouldn't be a too difficult move. I might support, if you find this reasoble but don't have the time.

image

jmboehm commented 2 months ago

Hi @hhaensel ,

Thanks a lot for your message, glad that someone found the package useful.

Yes, absolutely, I'm all in favour of separating the WebIO/Blink parts from the JSON generation. However, (1) I'm an absolute rookie when it comes to anything web/JS/react; I could copy the structure of the PlotlyBase/PlotlyJS separation but wouldn't be sure whether that fits with your use case; (2) the next weeks/months are busy for me so I don't have a sense for when I would be able to get to this.

Bottom line, please feel to go ahead with this. If you want, I can create a KeplerGLBase.jl repo and you can separate out the base parts of KeplerGL.jl and put it in there, and then I'll put the display code in here whenever I get to it.

hhaensel commented 2 months ago

Creating KeplerGLBase would be great, I'll provide PRs in both packages then.

hhaensel commented 2 months ago

If you do so, best would be to make it a copy of KeplerGL.jl then changes are less.

jmboehm commented 2 months ago

Great, see here

hhaensel commented 1 month ago

I have created two PRs in KeplerGL and KeplerGLBase.

What I have done:

What I have not done

I hope this is a good first step.

@jmboehm would you find the time to address the last two points?

jmboehm commented 1 month ago

Thank you, yes, I can take care of the documentation and readme. I've initiated the registration of KeplerGLBase; once it's in the registry I'll check whether the tests in KeplerGL.jl pass.

As for the docs, I'm inclined to keep them in KeplerGL.jl for the time being (perhaps with a link from the KeplerGLBase.jl readme as well), because this is the place where people might look for it (also PlotlyBase is doing something similar it seems).

jmboehm commented 1 month ago

Fixed by #10 and #13, thanks a lot @hhaensel !

hhaensel commented 1 month ago

Welcome 😄 Thanks for your strong support