robosat
robosat copied to clipboard
Refactor robosat to be a proper library with utility tools on top of it
At the moment we almost have a clean split in place: we have command line utilities in robosat.tools and everything else split off of it. What we should do is making sure all functionality is in packages and not in robosat.tools: all the command line tools should do is parse command line arguments and then delegate to robosat library functions.
Here are an examples where this is not the case currently:
- The convert tool has the functionality for splitting off masks
- And the masks tool has the functionality to do the soft-voting
These features should be encapsulated in robosat packages and then only getting called in the tools.
Why are we doing this? We want to create a Python robosat package folks can install and re-use. Think:
pip install robosat
from robosat.ensemble import softvote
....
Our tools should have a dependency on this robosat package; but not the other way around.