write up the plan for meta line processing and finding sampledatalib, what are the options, defaults, etc. How will it work?
require meta line
add preprocessor step history to meta line?
change all scripts in bin/ to work the same way
Here is the proposed logic:
require a #meta line (although I guess it could be empty)
have sampledatalib and sampletype values on the /#meta line
sampletype is the name of the sample class. Must be a descendent of BaseSample
sampledatalib specifies the name of the module that defines the sampletype class
this should not have a pathname, the module must be found on the PYTHONPATH
(the reason being, sample files may live a long time, be developed in a development environment, then used in production. If the full pathname is included and used, it seems pretty brittle)
on all utilities, include optional command line params --sampledatalib --sampletype.
if either or both are specified, they override what is in the sample file #meta line
this will allow us to rename files or class names during development w/o having to regenerate sample files and allow us to experiment with different implementations of the sample classes.
In this case, --sampledatalib can specify a pathname to force importing a specific file. If no path is specified, the module will be found on the PYTHONPATH
Change MLtuning.py to use the same logic as above, adding the two command line options to the tuning scripts
currently, the module name and sampletype are retrieved as config params in tuning.cfg - get rid of this. Seems simpler for everything to use the same logic.
Here is the proposed logic: