Google Summer of Code Application

21 views
Skip to first unread message

PhilippStrack

unread,
Mar 31, 2008, 6:58:13 AM3/31/08
to sympy
Hello,

I want to create a GTK based GUI for sympy in the GSOC Program 2008.
it would be really nice to get some feedback on the application:

Gnome Summer of Code Application

Target of this application is to combine available open source
technologies to build a modern computer algebra system with a focus on
easy usability and easy expandability. I will take python as the base
language and use simpy to give it scientific capabilities. To build a
Mathematica notebook like interface i will modify reinteract to render
MathML formulas and Plots inside the script code. For the rendering of
formulas I intend to use gtkmathview. As a plotting technology I will
use matplotlib, because it is widely used and provides wide range of
plot styles.

technologies:

python http://www.python.org/
sympy http://code.google.com/p/sympy/
scipy http://www.scipy.org/
reinteract http://www.reinteract.org/
gtkmathview http://helm.cs.unibo.it/mml-widget/
matplotlib http://matplotlib.sourceforge.net/

I the first phase of the GSOC i will work on integrationg all the
technologies. The following things need to be done:

Work on reinteract to better integrate with Sympy

1) make sympy formula objects plottable
Write a function that plots sympy formula objects using matplotlib and
give the gui the ability to render the plots inside the document.

2) make reinteract render sympy formulas as MathML
sympy objects can already be converted into MathML by the function
print_mathml(). I will rewrite this part of sympy to get high quality
mathml. The next step is to get the MathML rendered into reinteract, I
will use gtkmathview. There are at the moment no python bindings for
gtkmathview I will either write python bindings or render the mathml
into an svg which can easily be embedded into a GtkTextView.

3) provide a command for reading and writing CSV (comma seperated
files)
most scientific data is exchanged as a CSV, providing a command for
handling csv files is therfore essential. There are multible python
classes for reading and writing CSV. I will use one of them and make
sure that the resulting functions are easy to use. I want them to
automatically recognize the seperator and the structure of the csv
(the csv's generated by octave, R, exel, matlab,.. are very
different ). It is essential that the data from the csv file can be
easily accessed from scipy and sympy

In the second phase of the GSOC i will work on the GUI

4) Provide a Gui that makes it easy to access the CAS commands
(Plotting, differentiation, Loading Files, etc..) without knowing the
exact commands

5) Modify reinteract such that it allows non executable code inside a
document

6) Define a file format for the worksheets

In the third phase i will make sure it is easy to get started using
the newly created program

7) Write documentation

8) Set up a website . Create example worksheets and present them on
the website to encourage use (a bit like http://demonstrations.wolfram.com/)

9) Create a Forum to collect possible use cases in order to direct
future development

Mateusz Paprocki
A few comments about goals of this application:

0) Integrate sympy, scipy and matplotlib

How will you achieve this? Will you start a new project
or just add support for scipy and matplotlib to sympy?

1) make sympy formula objects plottable

This feature was implemented long ago
(see sympy.utilities.lambdify).

2) make reinteract render sympy formulas as MathML

MathML generator wasn't updated for ages and needs
rewriting almost from scratch. Will you do this?

3) provide a command for reading and writing CSV

SciPy and Matplotlib have this feature. Why do we
need another approach to CSV. How it will differ
from existing implementations?

So could you tell us what is the main goal of this project?

It seems that you would like to:

[1] create new CAS, or glue together existing products

But there is SAGE which has bindings to most (if not
all) CAS available in the market (also it supports
SymPy). How we will benefit from your system?

If you want to improve SymPy's numerical evaluation abilities,
using SciPy for this purpose, then you should have discussed
this with SymPy's developers.

[2] write GUI for [1] (or maybe for any CAS?)

There is beautiful SAGE notebook (www.sagenb.org),
which you should have mentioned in first place in
your application.

Rather than doing things from scratch, you could
help SAGE reaching its goals. Quite a few GSOC
ideas can be found here:

http://wiki.sagemath.org/gsoc08notebook

btw. "Abstract" and "Detailed description" should differ.
03/31/08 08:03
Philipp Strack
Hi,

thank you very much for your feedback on my GSOC proposal. I will try
to answer your questions and rewrite my application to be more precise

> Mateusz Paprocki
>A few comments about goals of this application:
>
>0) Integrate sympy, scipy and matplotlib
>
>How will you achieve this? Will you start a new project
>or just add support for scipy and matplotlib to sympy?

I dont want to start a new Project! Sympy is the mathematical base
technology behind this proposal

>1) make sympy formula objects plottable
>
>This feature was implemented long ago
>(see sympy.utilities.lambdify).

oh i did not find it, sorry

>2) make reinteract render sympy formulas as MathML
>
>MathML generator wasn't updated for ages and needs
>rewriting almost from scratch. Will you do this?

Yes

>3) provide a command for reading and writing CSV
>
>SciPy and Matplotlib have this feature. Why do we
>need another approach to CSV. How it will differ
>from existing implementations?

I have no interest in reinventing the Wheel. I just had some problems
using the different python classes for reading csv files as they do
not recognize delimiters automatically i just want to add this feature
because I think it will make handling csv files much easier for not so
tech savy users

>So could you tell us what is the main goal of this project?
>
>It seems that you would like to:

I want to bring existing open source technologies together to create a
software that makes it easy for users that are not tech savvy to use
sympy. To be more concrete I want to create a gtk interface for sympy
(based upon reinteract). This Interface will be able to do indocument
rendering of formulas and graphs. To get the ability of formula
rendering I need to work on sympy's MathML generator as well as on
gtkmathview. If it is needed I will rewrite the MathML generator from
scratch.
03/31/08 09:03
Philipp Strack
Ok the question I did not answer why I do not work on sage?

I like sage and I think it is really great software. I want to create
an alternative to the sage webbased interface because I think GTK is a
superior technology for creating an interactive interface. I think in
the long run a gtk interface will be easier to maintain and extend
(things like autocompletion, syntaxcheck, etc can be easily
implemented with a custom gtk.TextBuffer and gtk.TextView ). I think
an easy to use and powerful GUI is the key feature to bring open
source mathematical technology to the mass market.
03/31/08 10:03
Philipp Strack
some information about myself:
I am a 23 year old student from Bonn, Germany. I have a Diploma/master
degree in economics and I am currentely in the last year of my diploma
in Mathematics. I am specialiced on numerics and I am writing my
diploma thesis in Mathematics about the efficient solution of Optimal
Control Problems with restrictions over PDE's using wavelets. Durin my
studies I have been teaching Mathematics at the Economic Department
for 2 Years. During this courses I have used a variety of different
mathemtical Programms (R,stata,matlab,maple,Matematica).

Sebastian

unread,
Mar 31, 2008, 8:45:17 AM3/31/08
to sy...@googlegroups.com
Hi Philipp,

Last summer I started a project that seems to be very similar to what
you are describing.

http://code.google.com/p/symbide/

Although it has some limitations, I think the basis is pretty well
written. It supports sympy (e.g. you don't have to define numbers and
variables explicitly), plotting with Matplotlib and Gnuplot, printing
via Latex, export as xml/html, ..
I even implemented a csv import functionality, since I needed it for my
studies.

basti

Sebastian Haase

unread,
Mar 31, 2008, 9:25:57 AM3/31/08
to sy...@googlegroups.com
Hi Philipp,

I did not read all of your post.
But, are you determined to use GTK ?
I would be much happier if you could go with wx -- wxPython.
It is also a quite powerful GUI gramework, and it runs much better on
non-Linux platforms:
I think there is a GTK version for Windows, but it surely is non-native.
Also for Mac -OSX, as far as I know, GTK apps would always depend on
X11 and not be native.

Matplotlib supports wxPython.

I understand that GTK vs. wx is almost a religious question for some
people. But I hope I'm not alone in seeing the advantages of wxPython.
It certainly is a very well developped platform and comes with a super
helpful community. Many SciPy tools (e.g. the new MayaVi2) are build
around wxPython.

Thanks for writing free code,
Sebastian Haase

> --~--~---------~--~----~------------~-------~--~----~

Gael Varoquaux

unread,
Mar 31, 2008, 9:36:30 AM3/31/08
to sy...@googlegroups.com
On Mon, Mar 31, 2008 at 03:25:57PM +0200, Sebastian Haase wrote:
> I would be much happier if you could go with wx -- wxPython.

+1. Moreover it can integrate with a lot of existing and to come tools
for scientific python.

Cheers,

Gaël

PhilippStrack

unread,
Mar 31, 2008, 9:41:19 AM3/31/08
to sympy
Hi Sebastian,

at the moment I am really favouring GTK, but I am not determined. I
will use what ever technology makes it possible to achieve good
results. The Pro's for gtk are that the combination of gtk.TextView
and gtk.textbuffer is really well suited to do what I want to do. Even
better there is already some code ( reinteract ) that can be used as a
starting point wich will enable me to get started really fast. What
are the drawbacks from GTK apart from the Platform thing?

Thank You for your feedback, best wishes

Philipp Strack

P.S.:
I think Mac Applications need not to depend on X
http://developer.imendio.com/projects/gtk-macosx/



On 31 Mrz., 15:25, "Sebastian Haase" <seb.ha...@gmail.com> wrote:
> Hi Philipp,
>
> I did not read all of your post.
> But, are you determined to use GTK ?
> I would be much happier if you could go with wx -- wxPython.
> It is also a quite powerful GUI gramework, and it runs much better on
> non-Linux platforms:
> I think there is a GTK version for Windows, but it surely is non-native.
> Also for Mac -OSX, as far as I know, GTK apps would always depend on
> X11 and not be native.
>
> Matplotlib supports wxPython.
>
> I understand that GTK vs. wx is almost a religious question for some
> people. But I hope I'm not alone in seeing the advantages of wxPython.
> It certainly is a very well developped platform and comes with a super
> helpful community. Many SciPy tools (e.g. the new MayaVi2) are build
> around wxPython.
>
> Thanks for writing free code,
> Sebastian Haase
>
> On Mon, Mar 31, 2008 at 12:58 PM, PhilippStrack
>
> > the website to encourage use (a bit likehttp://demonstrations.wolfram.com/)

Mateusz Paprocki

unread,
Mar 31, 2008, 9:43:38 AM3/31/08
to sy...@googlegroups.com
Hi Philipp,

thank you for your reply. Now I have much clearer view on the project
you would like to do.

> Ok the question I did not answer why I do not work on sage?
>
> I like sage and I think it is really great software. I want to create
> an alternative to the sage webbased interface because I think GTK is a
> superior technology for creating an interactive interface. I think in
> the long run a gtk interface will be easier to maintain and extend
> (things like autocompletion, syntaxcheck, etc can be easily
> implemented with a custom gtk.TextBuffer and gtk.TextView ). I think
> an easy to use and powerful GUI is the key feature to bring open
> source mathematical technology to the mass market.

This is a concrete motivation, which the previous application was
missing. Having light weight version (but full of features and user
friendly) of SAGE notebook is an interesting idea. Note however that
Basti have done a lot work in this field, so I think cooperation with
him would be very fruitful. Then you would have a basis and could
implement more advanced features and, what is more important, it would
be more likely to finish your project in GSoC time frame.

Basti, could you tell us about symbide's status (last commit was on 05 January).

> are you determined to use GTK ?

symbide is written using GTK, so if you would like to extended
symbide's functionality, then GTK is must. I won't judge which is
better, GTK or WX, but if you have good understanding of GTK and know
how to use it efficiently, then it would be better to use it. Of
course there is a point in using WX, as Sebastian suggested.

So, Philip, please write new application, change the title to
something meaningful eg. "GTK based GUI for SymPy" (or something
similar), add motivation why not SAGE notebook, in which details
projects will differ. Also don't forget to say a few words about
SymPy, ie. why for SymPy, what improvements it will gain eg. better
MathML generation code etc.

Mateusz

2008/3/31, PhilippStrack <philipp...@gmail.com>:

PhilippStrack

unread,
Mar 31, 2008, 9:45:16 AM3/31/08
to sympy
ok you conviced me :)
I will take a look at the wxPython API to get an impression what
difference in the complexity it will make

best wishes

Philipp

On 31 Mrz., 15:36, Gael Varoquaux <gael.varoqu...@normalesup.org>
wrote:

basti

unread,
Mar 31, 2008, 9:46:51 AM3/31/08
to sympy

Gael Varoquaux

unread,
Mar 31, 2008, 9:52:02 AM3/31/08
to sy...@googlegroups.com
On Mon, Mar 31, 2008 at 03:43:38PM +0200, Mateusz Paprocki wrote:
> Having light weight version (but full of features and user
> friendly) of SAGE notebook is an interesting idea. Note however that
> Basti have done a lot work in this field, so I think cooperation with
> him would be very fruitful.

In interest of reducing duplication of effort, I wish to mention that
Benjamin Ragan-Kelley is putting a lot of effort in making a notebook
front end for ipython1. He is not talking too much about it, because he
is a guy who code rather than talks.

I must admit I feel that using ipython1 as an execution engine, and
building a notebook interface that is general, and not taylored to a
specific application, like symbolic calculation, is the right way to go.
However, in its current status, there is a lot of work in the ipython1
tree to do, because the goals of the project are very ambitious. I don't
know exactly what the status of the notebook interface is, but I know
these guys have been thinking about it for a long time.

My 2 cents,

Gaël

Ondrej Certik

unread,
Mar 31, 2008, 9:59:57 AM3/31/08
to sy...@googlegroups.com

I asked the same questions and Benjamin has shown us the current
status in Austin - it's pretty impressive. But as you said, still more
work needs
to be done.

I am going to write to ipython-dev to point attention to this thread,
as this application wants to have something useful now. ipython1 is
ambitious and
it may take a year or something, until something usable comes out -
but yet, I like the modular architecture of ipython1.

Ondrej

Ondrej Certik

unread,
Mar 31, 2008, 10:06:53 AM3/31/08
to sy...@googlegroups.com
On Mon, Mar 31, 2008 at 3:59 PM, Ondrej Certik <ond...@certik.cz> wrote:
> On Mon, Mar 31, 2008 at 3:52 PM, Gael Varoquaux
> <gael.va...@normalesup.org> wrote:
> >
> > On Mon, Mar 31, 2008 at 03:43:38PM +0200, Mateusz Paprocki wrote:
> > > Having light weight version (but full of features and user
> > > friendly) of SAGE notebook is an interesting idea. Note however that
> > > Basti have done a lot work in this field, so I think cooperation with
> > > him would be very fruitful.
> >
> > In interest of reducing duplication of effort, I wish to mention that
> > Benjamin Ragan-Kelley is putting a lot of effort in making a notebook
> > front end for ipython1. He is not talking too much about it, because he
> > is a guy who code rather than talks.
> >
> > I must admit I feel that using ipython1 as an execution engine, and
> > building a notebook interface that is general, and not taylored to a
> > specific application, like symbolic calculation, is the right way to go.
> > However, in its current status, there is a lot of work in the ipython1
> > tree to do, because the goals of the project are very ambitious. I don't
> > know exactly what the status of the notebook interface is, but I know
> > these guys have been thinking about it for a long time.
>
> I asked the same questions and Benjamin has shown us the current
> status in Austin - it's pretty impressive. But as you said, still more
> work needs
> to be done.
>
> I am going to write to ipython-dev to point attention to this thread,

http://lists.ipython.scipy.org/pipermail/ipython-dev/2008-March/003777.html

Ondrej

Gael Varoquaux

unread,
Mar 31, 2008, 10:10:31 AM3/31/08
to sy...@googlegroups.com
On Mon, Mar 31, 2008 at 03:59:57PM +0200, Ondrej Certik wrote:
> I am going to write to ipython-dev to point attention to this thread,
> as this application wants to have something useful now. ipython1 is
> ambitious and
> it may take a year or something, until something usable comes out -
> but yet, I like the modular architecture of ipython1.

I agree with you as far as the timescales. What I am wondering about is
if it would be possibe to reuse part of the exiting code and extend it to
your specific purposes. That way, with some luck, the resulting
short-term solution could one day more easily be ported to use ipython1.
I would love it if the approaches didn't diverge too much.

My 2 cents,

Gaël

Ondrej Certik

unread,
Mar 31, 2008, 10:15:39 AM3/31/08
to sy...@googlegroups.com

Exactly.

I think that the application is quite modular though, so most stuff
should be possible to easily reuse.

Ondrej

PhilippStrack

unread,
Mar 31, 2008, 12:58:02 PM3/31/08
to sympy
Hi everybody,

thank you very much for pointing me to ipython1. I started reading
about it and I love approach they take. Regarding my application I
think that it will be easy to later use Ipython1 as a backend. I will
try to get in contact with Benjamin Ragan-Kelley to avoid doing work
that is already done

best wishes

Philipp

On 31 Mrz., 16:15, "Ondrej Certik" <ond...@certik.cz> wrote:
> On Mon, Mar 31, 2008 at 4:10 PM, Gael Varoquaux
>

Ondrej Certik

unread,
Mar 31, 2008, 2:20:42 PM3/31/08
to sy...@googlegroups.com
On Mon, Mar 31, 2008 at 6:58 PM, PhilippStrack <philipp...@gmail.com> wrote:
>
> Hi everybody,
>
> thank you very much for pointing me to ipython1. I started reading
> about it and I love approach they take. Regarding my application I
> think that it will be easy to later use Ipython1 as a backend. I will
> try to get in contact with Benjamin Ragan-Kelley to avoid doing work
> that is already done

I suggest you to subscribe to ipython-dev, and ask there, as I did
(see my link above).

Because not only Benjamin, but also people like Fernando Perez and
Brian Granger will let you know what they think,
as all of them are developing ipython1.

Generally it's good to discuss similar things on the list, because as
you can see, it's a very effective way to quickly get the idea
analyzed from all sides.

Ondrej

PhilippStrack

unread,
Apr 1, 2008, 4:22:35 PM4/1/08
to sympy
Hi everybody,

I have updated my GSOC application

Creating a GTK based GUI for Sympy

Application for the Google Summer of Code 2008
Philipp Strack <philipp...@gmail.com>

Target of this application is to create a lightweight gui for the
python based computer algebra system sympy. The GUI should be able to
graphically present formulas and graphs inside the document.This GUI
could be seen as a lightweight replacement for sage notebook. I want
to create an alternative to the sage webbased interface because I
think GTK is a superior technology for creating an interactive
interface. According to my opinion a gtk interface will be much easier
to maintain and extend in the long run (things like autocompletion,
syntaxcheck, etc can be easily implemented with a custom
gtk.TextBuffer and gtk.TextView ). This GUI will follow the notebook
system of Mathematica/Maple/Mupad. From my point of view having an
easy to understand and easy to use GUI is crucial for a lot of not
tech savy users and therefore might lead to a wider adoption of sympy.

I think this can be accomplished during the relative short period of
Summer of code by using existing technologies. I want to rewrite the
rendering part of Symbide to use a gtk.TextBuffer/gtk.textView
approach like reinteract. To render formulas I intend to rewrite the
print_MathMl part of sympy. For the rendering of the MathMl I intend
to use gtkmathview. As a plotting technology I will use matplotlib,
because it is widely used and provides wide range of plot styles.

symbide: http://code.google.com/p/symbide/
reinteract http://www.reinteract.org/
gtkmathview http://helm.cs.unibo.it/mml-widget/
matplotlib http://matplotlib.sourceforge.net/

I the first phase of the GSOC i will work on integrationg all the
technologies. The following things need to be done:

Work on reinteract to better integrate with Sympy

1) make sympy formula objects plottable
Write a function that plots sympy formula objects using matplotlib and
give the gui the ability to render the plots inside the document.

2) make reinteract render sympy formulas as MathML
sympy objects can already be converted into MathML by the function
print_mathml(). I will rewrite this part of sympy to get high quality
mathml. The next step is to get the MathML rendered into reinteract, I
will use gtkmathview. There are at the moment no python bindings for
gtkmathview I will either write python bindings or render the mathml
into an svg which can easily be embedded into a GtkTextView.

3) Rewrite the rendering Part of Symbide to use a gtk.TextBuffer/
gtk.TextView approach

In the second phase of the GSOC i will work on the GUI

4) Work on the GUI to make sure it is easy to access the CAS commands
(Plotting, differentiation, Loading Files, etc..) without knowing the
exact commands

5) Work on the GUI to allow non executable code inside a document

6) Define a file format for the worksheets

In the third phase i will make sure it is easy to get started

7) Write documentation

8) Set up a website . Create example worksheets and present them on
the website to encourage use (a bit like http://demonstrations.wolfram.com/)

9) Create a Forum to collect possible use cases in order to direct
future development

On 31 Mrz., 20:20, "Ondrej Certik" <ond...@certik.cz> wrote:

Saroj Adhikari

unread,
Apr 1, 2008, 6:30:40 PM4/1/08
to sympy
Just few suggestions on your application.

Disclaimer: I am not expressing my thoughts about the content/
proceedings of the application/actual-gsoc-work. I am just pointing
out things that I think will better your application structure,
grammar, and punctuation.


> Target of this application is to create a lightweight gui for the
> python based computer algebra system sympy.

The target of this application....

> The GUI should be able to
> graphically present formulas and graphs inside the document.This GUI
> could be seen as a lightweight replacement for sage notebook. I want
> to create an alternative to the sage webbased interface because I
> think GTK is a superior technology for creating an interactive
> interface. According to my opinion a gtk interface will be much easier
> to maintain and extend in the long run (things like autocompletion,
> syntaxcheck, etc can be easily implemented with a custom
> gtk.TextBuffer and gtk.TextView ).

I would phrase the third line in the above paragraph like this...GTK
is a superior technology for creating an interactive interface because
of the relative ease with which features like autocompletion and
syntax checking can be implemented, maintained, and extended, rather
than phrasing that you think it is a superior technology.

>
> I think this can be accomplished during the relative short period of
> Summer of code by using existing technologies. I want to rewrite the
> rendering part of Symbide to use a gtk.TextBuffer/gtk.textView
> approach like reinteract. To render formulas I intend to rewrite the
> print_MathMl part of sympy. For the rendering of the MathMl I intend
> to use gtkmathview. As a plotting technology I will use matplotlib,
> because it is widely used and provides wide range of plot styles.
>
> python http://www.python.org/
> sympy http://code.google.com/p/sympy/
> symbide:http://code.google.com/p/symbide/
> reinteract http://www.reinteract.org/
> gtkmathview http://helm.cs.unibo.it/mml-widget/
> matplotlib http://matplotlib.sourceforge.net/
>
> I the first phase of the GSOC i will work on integrationg all the

In the first phase???

> technologies. The following things need to be done:
>
> Work on reinteract to better integrate with Sympy
>
> 1) make sympy formula objects plottable
> Write a function that plots sympy formula objects using matplotlib and
> give the gui the ability to render the plots inside the document.
>
> 2) make reinteract render sympy formulas as MathML
> sympy objects can already be converted into MathML by the function
> print_mathml(). I will rewrite this part of sympy to get high quality
> mathml. The next step is to get the MathML rendered into reinteract, I
> will use gtkmathview. There are at the moment no python bindings for
> gtkmathview I will either write python bindings or render the mathml
> into an svg which can easily be embedded into a GtkTextView.
>
> 3) Rewrite the rendering Part of Symbide to use a gtk.TextBuffer/
> gtk.TextView approach
>
> In the second phase of the GSOC i will work on the GUI
....GSOC I will

>
> 4) Work on the GUI to make sure it is easy to access the CAS commands
> (Plotting, differentiation, Loading Files, etc..) without knowing the
> exact commands
>
> 5) Work on the GUI to allow non executable code inside a document
>
> 6) Define a file format for the worksheets
>
> In the third phase i will make sure it is easy to get started

...third phase I will ...

> 7) Write documentation
>
> 8) Set up a website. Create example worksheets and present them on
> the website to encourage use (a bit likehttp://demonstrations.wolfram.com/)
>
> 9) Create a Forum to collect possible use cases in order to direct
> future development
>
> On 31 Mrz., 20:20, "Ondrej Certik" <ond...@certik.cz> wrote:
>
> > On Mon, Mar 31, 2008 at 6:58 PM, PhilippStrack <philipp.str...@gmail.com> wrote:
>
> > > Hi everybody,
>
> > > thank you very much for pointing me to ipython1. I started reading
> > > about it and I love approach they take. Regarding my application I
> > > think that it will be easy to later use Ipython1 as a backend. I will
> > > try to get in contact with Benjamin Ragan-Kelley to avoid doing work
> > > that is already done
>
> > I suggest you to subscribe to ipython-dev, and ask there, as I did
> > (see my link above).
>
> > Because not only Benjamin, but also people like Fernando Perez and
> > Brian Granger will let you know what they think,
> > as all of them are developing ipython1.
>
> > Generally it's good to discuss similar things on the list, because as
> > you can see, it's a very effective way to quickly get the idea
> > analyzed from all sides.
>
> > Ondrej

I would suggest to print and revise to eliminate any other errors.
Also, follow the suggestions of Ondrej and other SymPy developers to
improve the content of your application.

Ondrej Certik

unread,
Apr 1, 2008, 6:49:10 PM4/1/08
to sy...@googlegroups.com
Hi Philipp!

First, thanks for the updated application.

Second, let me thank Saroj for the suggestions, I agree with all of them.

Third, I still haven't seen your email to ipython-dev list. :) The
application deadline was extended to April 7, so you still have plenty
of time. IPython guys are really cool and I myself have learned a lot
of thinks from them and besides that, it's important to get in touch
with people doing similar things, so that you can leverage each
other's work. If you write them, I am sure they'll have constructive
comments too.

Thanks,
Ondrej

PhilippStrack

unread,
Apr 3, 2008, 1:32:27 PM4/3/08
to sympy
Hello,

Thank you very much Saroj for your corrections, I will incoporate
them. I am very sorry for my slow reaction with the ipython list. I
actually tried to post to the ipython list on Tuesday
through gmame and waited for the post to appear, but it did not
because I was not subscribed to the list - sorry for my stupidity. Now
I managed to post to the list

http://article.gmane.org/gmane.comp.python.ipython.devel/2675

At the moment I am rewriting my proposal. Your feedback and the
possibilities ipython opens convinced me that it would nice to make
the GUI as backend independent as possible. I think this might be
accomplished by encapsulating the backend in a plugin structure. Every
plugin should then provide Function for evaluating a command. This
function should then return an object of a class that can be
represented withing a gtk.TextBuffer. My thoughts on this are very
rough. At the moment I am thinking about how much complexity such a
structure would add (especially with regard to multitasking) and
whether it is a good Idea.

I would highly appreciate your feedback

Philipp

Ondrej Certik

unread,
Apr 3, 2008, 1:39:31 PM4/3/08
to sy...@googlegroups.com

You already got a feedback on the ipython list. :) Just keep discussing.

Ondrej

Gael Varoquaux

unread,
Apr 3, 2008, 1:41:10 PM4/3/08
to sy...@googlegroups.com
On Thu, Apr 03, 2008 at 10:32:27AM -0700, PhilippStrack wrote:
> At the moment I am rewriting my proposal. Your feedback and the
> possibilities ipython opens convinced me that it would nice to make
> the GUI as backend independent as possible. I think this might be
> accomplished by encapsulating the backend in a plugin structure. Every
> plugin should then provide Function for evaluating a command. This
> function should then return an object of a class that can be
> represented withing a gtk.TextBuffer. My thoughts on this are very
> rough. At the moment I am thinking about how much complexity such a
> structure would add (especially with regard to multitasking) and
> whether it is a good Idea.

Have a look at my last blogpost, the part on the ipython sprint. This is
not trivial, but I suspect the callback approach has a chance to work. I
am actually having a hard time wrapping my head around this problem, and
little time to spend on it.

Cheers,

Gaël

Gael Varoquaux

unread,
Apr 3, 2008, 1:41:56 PM4/3/08
to sy...@googlegroups.com
On Thu, Apr 03, 2008 at 07:41:10PM +0200, Gael Varoquaux wrote:
> Have a look at my last blogpost,

Sorry, I forgot the link:
http://gael-varoquaux.info/blog/?p=26

Gaël

PhilippStrack

unread,
Apr 3, 2008, 2:05:52 PM4/3/08
to sympy
On 3 Apr., 19:41, Gael Varoquaux <gael.varoqu...@normalesup.org>
wrote:
Hello Gaël,

I totally agree with your post. An event driven approach with an
abstract execution engine is in the long run the best way to go. I
think so first of all because it would make it easy to use the GUI
with different backends which need to be called throug a terminal like
R,matlab etc. Each enginge in such a situation would have to take care
of the execution status. But secondly because it would allow the
engine to execute a second command while the first is still running
which might be a cool feature inside a cas ( but also brings in all
the complexity of multitasking). I am bit worried that the complexity
added by this extra layer will make everything much more difficult to
implement, with only a very few users really profiting from it. At the
moment I dont know what I really think about it.

Best Wishes

Philipp

Gael Varoquaux

unread,
Apr 3, 2008, 2:10:30 PM4/3/08
to sy...@googlegroups.com
On Thu, Apr 03, 2008 at 11:05:52AM -0700, PhilippStrack wrote:
> At the moment I dont know what I really think about it.

Me neither :->. This is a hard problem. Whatever code you write that
moves forward, whether is has an abstraction layer, or not, will be
useful, because it will help us understand the problems and the necessary
abstractions.

Cheers,

Gaël

Reply all
Reply to author
Forward
0 new messages