Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Using a dual_canvas in a separate window #10

Open
felixludos opened this issue Aug 23, 2020 · 1 comment
Open

Using a dual_canvas in a separate window #10

felixludos opened this issue Aug 23, 2020 · 1 comment

Comments

@felixludos
Copy link

I would like to develop a relatively simple interactive interface that can be accessed without any code or editor from jupyter. Ideally, just by running a python script from the terminal, a browser window would open with the interface (built in a dual_canvas) running.
I understand that this is meant to be used inside jupyter, but how much more difficult would it be to open a page with all widgets working.
Because if there is a way to get that working - this library could basically replace most GUI packages for python (which tend to be very old and annoying).

Anyway, this library is fantastic - keep up the great work!

@AaronWatters
Copy link
Owner

Dual canvas does not require the Jupyter backend.
It would be pretty easy to generate and launch a static HTML page which did not communicate back to the Python interpreter.
The hard part is adding interactions that call back to Python.

There is an interesting approach called StreamLit.
As I understand it this approach "reruns the script from the top" whenever there is a change in the UI which communicates with the Python back-end.

https://www.streamlit.io/

You could do a lot with this (and I'm thinking of writing an interface for jp_doodle to streamlet) but you could not (for example)
update the dots in a dot-plot without redrawing the whole canvas. So any interaction like that would be at least "jerky".

On my list of things to look into: I would like to develop a simple platform which uses electron and web sockets which could provide a simple mechanism for implementing HTML based GUIs for Python processes. So far it's just a concept.

Thanks for the suggestion.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants