This is similar to #207. Currently, raw command line arguments have to be passed to an adapter to configure it. It is perfectly clear that adapters need to be configured somehow and that the command line is used for that.
But when trying to use adapters (or anything that involves them) in another context (#126, #199), the only way to do that is to emulate command line arguments to configure them (or be happy with the default configuration, which is probably almost never the case), which seems a bit convoluted.
Instead of parsing the command line arguments themselves, each adapter should (optionally) define an ArgumentParser that can be used for example by run.py if necessary. Otherwise configuration should happen via a dictionary or a **kwargs-based method or something similar.
This is similar to #207. Currently, raw command line arguments have to be passed to an adapter to configure it. It is perfectly clear that adapters need to be configured somehow and that the command line is used for that.
But when trying to use adapters (or anything that involves them) in another context (#126, #199), the only way to do that is to emulate command line arguments to configure them (or be happy with the default configuration, which is probably almost never the case), which seems a bit convoluted.
Instead of parsing the command line arguments themselves, each adapter should (optionally) define an
ArgumentParser
that can be used for example byrun.py
if necessary. Otherwise configuration should happen via a dictionary or a**kwargs
-based method or something similar.