A Short List

April 13, 2012

I've been quite busy recently, hence the lack of posting. Two notes from today:

1) I discovered a problem with my dynamic time warping code today. Sometimes problems turn previously sparkling results into mush, but luckily, fixing this bug actually results in better, more intuitive results.

Also, the mlpy library has a nice fast Cython DTW implementation if anyone is interested.

2) I pushed out a new git repo called repack. The idea was to make it easy to take separate Python source packages and consolidate them under a single namespace package. This turns out to be tricky since Python package imports are not scoped. For example, if I have a package A that imports a package B and I want to install A and B in some namespace C so that the following imports work as expected:

import C.A
import C.B

This will result in an error, since imports of B inside A will search for the module using PYTHONPATH root directories and won't use the package C as another root. I tried a lot of path manipulations (both of __path__ and sys.path) along with many somewhat confusing package utilities. Nothing seemed to work, so I wrote a script that just munges the files to correct imports. Not the most elegant solution, but I'm not sure anything about Python package management is elegant.