aesthete-team team mailing list archive
-
aesthete-team team
-
Mailing list archive
-
Message #00022
Re: Sympy 0.7.1 incompatibilities
Okay, a Ubuntu 11.10 (which has sympy 0.6.7) gives the following:
pyglet.gl.lib.GLException: out of memory.
---
After this it complained about the thirdparty module (used for pyglet)
not being present. On inspection this is true - upstream no longer ships
with pyglet.
I suspect that removing pyglet is probably the safest option - it will need
to be done in the future and, really, it is only there because Sympy uses
it. In principle, it is redundant, as Glancer should (ultimately) provide a
superset of its functionality. The simplest option may be to improve the
Source command support, which really should not be too hard.
At present, Source/Glancer expects an expression in one variable, x
(optionally including Set tokens as they get expanded out anyhow). So, if
you do "Source x^2" then switch to Glancer and double-click the new Source
in the right sidebar, it should give you a plot. Additional benefit: plot
can mostly be configured within Aesthete and the Python Console gives
access to the matplotlib object for anything that's not implemented in the
GUI. Adding plot styles to Glancer isn't hard - it currently has Pie Chart,
2D and 3D lines.
Extending Source shouldn't be too complicated, at least for single-valued
functions of two variables, as the Sympy object (returned by get_sympy) of
the expression can enumerate its free variables. I've a feeling this
functionality is used somewhere else in the Glypher code, maybe for
generating lambda functions for Let, but I'll look it out.
A new Plot command could then be implemented as Source followed by
triggering a new Glancer tab with a request to plot the new source.
As such I think I'll have to continue under an Ubuntu virtual machine.
After Downpatrick is released we'll have to look at rejigging things -
it may come to pass that we may need an internal sympy compatibility
layer to allow for such changes.
Yep, although, if we do remove pyglet and the bulk of the required changes
are adjusting for moved classes, it may be an idea to target 0.7.1 with
Downpatrick and then look at retrospective compatibility; I suspect that
most people would be either on sympy 0.7.1 or willing to upgrade, than on
0.6.x or downgrade. Certainly, the only compatibility issues I found
following the 0.7.1 tutorial were examples using new classes missing in
0.6.x (of course, the 'from sympy import *' would have masked any class
relocation within the package)
P
References