Monday, January 01, 2007

Splits -- should I build it with the enthought tools?

I tentatively named my little STraM replacement "Splits." (Suunto Training Manager -- aka STraM is the software the T6 uses.) Now what should I build it from? I decided use python because that's what I'm familiar with and I think it's quite nice. I figured I'd need a UI, a graphing library, and a database that have python bindings.

My initial inclination was to use wxpython, matplotlib, and pysqlite2, but the enthought tool suite was kind of intriguing and without much work I created some model classes and views and then did the magic "splits.configure_traits()" and got a nice gui I could use to browse logs like so

So far I've just used traits and don't know quite where to go from there. There's a lot of tantalizing "stuff" in the enthought tool suite but not much in the way of documentation (or an indication of whether it works).
  • I need some method for storing the data -- "persistence" for those with computer science degrees. I see,, enthought.sweet_pickle. Is one of these good enough for me to entrust someones sacred running logs with? I'm pretty confident in sqlite, but I don't know about pickling.
  • I made the simple graphs in the screenshot just using Plot from enthought.model.numeric_ui which I happened upon somehow. How configurable is this? Should I use chaco? chaco2? pyface with matplotlib?
  • What other tools are in the enthought tool suite I can use? I see enthought.units. Maybe this will help me not reinvent the wheel in handling mph, minutes/mile, km/h, etc.
  • Should I be using this envisage framework? What is this? What would it buy me? Is there any documentation? As far as I can tell the best way to understand it is for me to look at eclipse, a java framework on which envisage is based.
Lots of questions. Figuring out the way I'm going to store data is really the next step.

No comments: