Request
In the package, command like compress.sh / search.sh will first run a python script (referred as non-native script) such as search.py, which then runs a native script (such as native/search.py) on a docker. We have this flow because our native script requires certain dependencies that may not be available on user's computer.
A side effect is that any exception throw by the native script will result in a very confusing log, such as follow
This is because the non-native script see an error when it tries to run a docker command, so it report the entire command as an error.
Possible implementation
Refactor the non-native script and native-script so that they always catch an error instead of throwing one with the full stacktrace
Request
In the package, command like compress.sh / search.sh will first run a python script (referred as non-native script) such as search.py, which then runs a native script (such as native/search.py) on a docker. We have this flow because our native script requires certain dependencies that may not be available on user's computer.
A side effect is that any exception throw by the native script will result in a very confusing log, such as follow
This is because the non-native script see an error when it tries to run a docker command, so it report the entire command as an error.
Possible implementation
Refactor the non-native script and native-script so that they always catch an error instead of throwing one with the full stacktrace