I have a suggestion regarding the program parameters.
The program has quite a lot of parameters (and I believe their amount will increase) that can be changed, some are mandatory and some are optional. The way the command line parameters are passed to the program is a bit confusing, I found myself forgetting the order of them and going back to the instruction often.
Luckily python has a solution called argparse, which makes it easy to write user-friendly command-line interfaces. Once defined what arguments are required, argparse will figure out how to parse those out of sys.argv and also automatically generates help and usage messages.
I have a suggestion regarding the program parameters.
The program has quite a lot of parameters (and I believe their amount will increase) that can be changed, some are mandatory and some are optional. The way the command line parameters are passed to the program is a bit confusing, I found myself forgetting the order of them and going back to the instruction often.
Luckily python has a solution called argparse, which makes it easy to write user-friendly command-line interfaces. Once defined what arguments are required, argparse will figure out how to parse those out of sys.argv and also automatically generates help and usage messages.