Roadmap

Jan Strube
2006-03-08
2013-04-09
  • Jan Strube
    Jan Strube
    2006-03-08

    Hi,

    Could you tell me how you envision the future of paida ?
    At the moment it's kinda cute that it's pure Python, and usable in both CPython and Jython,but for scientific programming that's not going to be fast enough.
    For things like visualization and data storage, there is already a distinction, because jython doesn't play with Tk and zlib.
    Furthermore, there is already a JAIDA implementation that can be used with Jython.

    What I would like to see is better integration with already existing tools that have C backends.
    cElementTree is going to be part of Python 2.5. (There is also a Jython implementation planned) The current xml parser uses a lot of memory when processing tuples, which really puts a limitation on the size of the tuple I can process.
    Unfortunately I don't have time right now to see if cElementTree does a better job, but I heard it's pretty good.

    There are already several plotting packages that are very capable. Being able to use those with Paida would be _very_ nice and would save you from having to maintain your own. At this point I am thinking of matplotlib. Unfortunately 3D support is still lacking (I think they are working on it), but for that you could fall back to the existing Tk implementation.

    Do you think it's feasible to (optionally) support these two packages ?

    By the way, I had a brief look at PyTables, and while the project seems pretty nice, it doesn't (seem to) support truly nested tuples. It would have to be done with slicing. The JAIDA guys are probably going to use the 'bare' hdf5, but PyTables would be a lot less work, I guess. Just a thought.
    I'll try to spend more time on this after I graduate. But that's still far in the future...

    Keep up the good work. I'm using Paida pretty much every day. It helps me keep my sanity.

    Cheers,
        Jan

     
    • Koji Kishimoto
      Koji Kishimoto
      2006-03-09

      Hi, Jan!

      This is my first time to hear about cElementTree which seems to be very nice tool! I want to use it as soon as Python2.5 released.

      While, PAIDA will support for binary (implementation specific) output/input which will bring us much optimized speed based on cPickle module. By using this module, both Python and Jython can read objects from the output file.

      Concerning the GUI engine, I know already matplotlib  which is an excellent plotting package and I have used it several times before my developing PAIDA. Because it needs lots of external packages, I do not adopt it as a core GUI engine so far, but I'm planning to incorporate as an "optional" engine in near future.

      If PAIDA needs to support HDF5 format quickly, as you pointed out, PyTables is an attractive choice. But this easily breaks "Pure Python" advantage which means PAIDA can work with Python, Jython and IronPython...

      Yes, PAIDA will be able to work on IronPython (.NET Framework Python) in the future release. If the pure python style is kept, even Nokia's "Python for Series 60" will become a target: histograms on a mobile phone! Useless? :)

      Thanks for your enjoying PAIDA. It's the very energy source of my developing!

      Regards,
      Koji

       
    • Jan Strube
      Jan Strube
      2006-03-22

      PAIDA in IronPython ? Interesting... How is the plotting going to be done ? Is it going to work with Mono ? http://www.go-mono.com

      Have you seen the NPlot project ? http://www.nplot.com/
      I know there is a version of NPlot that works with Mono also.

      At the moment I'm most interested in matplotlib support, but in the future I might play with the other features.

      Happy hacking !
      Cheers,
          Jan

       
    • Koji Kishimoto
      Koji Kishimoto
      2006-03-24

      Mono + Gtk#/wxNet is the first choice, but Nplot seems to be very interesting and worth considering. Thanks, Jan!

      Anyway I'll develop matplotlib GUI engine at first because many users want it!

      Regards,
         Koji