On Sun, Feb 1, 2015 at 7:55 AM, Volker Braun <
vbrau...@gmail.com> wrote:
> I wrote a basic Python + GTK Gui a while ago
>
https://github.com/vbraun/notebook. IMHO Gtk is more suitable because Python
> is a first-class supported language, whereas Qt is C++ with a handful of
> competing Python bindings of various levels of incompleteness. But that
> isn't even relevent at this point.
Is GTK "cross platform"? That's a core requirement...
http://stackoverflow.com/questions/14079909/is-gtk-3-x-a-real-cross-platform-solution
I would say that very good Windows support for a GUI would be a bare
minimum requirement. Even if Sage doesn't run natively under MS
Windows, a GUI could, with the Sage process running in a VM and
communication over a local network connection (or a remote cloud
service like with the native Sage android/iphone apps).
>
> What I took away from the exercise is that we first should write a reliable
> way to call Sage as a library. And asyncronously, in a separate
> process/container/vm, with support for interactive widgets. With a
> documented and stable protocol, and ideally client libraries in more than
> one language. This is really the basis of a GUI and we need a good solution
> there first before we should think about writing another GUI. Right now
> every UI does that as an afterthought and in various sucky ways.
You're right that this is an important problem, but I'm not convinced
that *every* UI does it as an afterthought. This is the first thing
both IPython and SageMathCloud already do very much not as an
afterthought -- they make it so Python is called as a library
asynchronously in a separate process. For example, that's what this
code [1] does for SMC, and it's kind of the main point of the
ZMQ-based architecture of IPython to solve this problem (which was key
in them moving forward past their command-line only UI years ago).
> Part of it
> is that graphics (in particular 3d plots) are a mess with various SageNB
> crap hardcoded in the Sage library, which is what I'm trying to address at
> #17234 in my negative spare time..
Totally agree. With SMC 3d plotting, I just wrote everything
completely outside the sage library [2] and 100% ignore anything
involving sagenb directly in the library.
[1]
https://github.com/sagemath/cloud/blob/master/sage_server.py
[2]
https://github.com/sagemath/cloud/blob/master/graphics.py
> --
> You received this message because you are subscribed to the Google Groups
> "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to
sage-devel+...@googlegroups.com.
> To post to this group, send email to
sage-...@googlegroups.com.
> Visit this group at
http://groups.google.com/group/sage-devel.
> For more options, visit
https://groups.google.com/d/optout.