[SciPy-dev] [pymachine] moving code outside the sandbox into scikits ?
Sat Jun 23 06:17:11 CDT 2007
David Cournapeau wrote:
> Following a discussion with my mentor (Jarrod Millman) and Fernando
> Perez, we decided to move most of the code useful for pymachine from
> the scipy.sandbox to scikits. Before doing so, we would like to
> gather other's opinion.
> Why ?
> As part of my SoC project, I was planning to move some of the existing
> scipy.sandbox code out of the sandbox (e.g., scipy.sandbox.pyem ->
> scikits.machinelearning.em). Now we are proposing to move that code into a
> scikits package instead because:
> 1. this would give all the machine learning related code a unified
> home under one common namespace
> 2. some of the code relies on ctypes, which is not allowed in scipy
> 3. some of the code uses matplotlib, which is not allowed in scipy
> 4. the code hasn't been as widely used as other parts of scipy
> 5. this would allow the code to be developed and released on its own
> timeschedule independent of scipy
> What ?
> The concerned packages are:
> - scipy.sandbox.pyem
> - scipy.sandbox.svm
> - and possibly others (e.g., scipy.sandbox.ga, scipy.sandbox.ann)
> And (just to be clear) scipy.cluster would remain where it is.
> Potential problems?
> The obvious consequence is that you will now need to install the new
> scikits' package to use the code currently available in the
> scipy.sandbox. As you need to install sandboxed code from the source
> anyway, this shouldn't be too big of a problem.
> Also the namespace changes, but that would be true if the code was
> moved out of the sandbox as originally planned.
> Better name for pymachine ?
> We have been calling the project pymachine. But we would rather use a
> more descriptive name for the scikit package (and one that doesn't
> contain 'py'). Here are some ideas:
> - scikits.learning
> - scikits.learn
> - scikits.machinelearning
> - scikits.mlearn
> What do you think of these names? Does anyone have better name in mind?
it's too long to type each time "from scikits.machinelearning import (...)"
maybe, machlearn or maclearn or mach_learn or ml?
As for me, I would implement 2 ways of calling each scikits module - one
long and unique, other small, but also unique.
1st: from scikits.openopt import (...)
2nd: from scikits.oo import (...) (for those who types it dozens times
per day, for example module developers itself)
However, I don't know how to do the trick via setuptools, as well as
supply my py-files installed with their compiled versions (setup.py
compiles my py-files but (I don't know why) they are absent in
destination directory) and howto pass "-j 2" option to 'make' routine
when I call 'python setup.py install' (or maybe parallel compiling
options should be passed somehow else?)
Thank you in advance for your suggestions,
> If anyone has concerns with the above plan, please speak up!
> D. Cournapeau, J. Millman, B. Hawthorne, and F. Perez
> Scipy-dev mailing list
More information about the Scipy-dev