In cp2kdata/log.py, user could control log level by environment variable, however, it changes the root logger config rather than Logger instance.
I suggest using a Logger instance and keeping the root logger as default.
The reason is that although there is no problem using cp2kdata alone, if cp2kdata is imported as a dependency by other packages, then log.py here will change the logging behavior in other code, unless they additionally set the environment variable separately for this dependency. However, if the log.py here is configured with a Logger instance, it will have no impact on the use of cp2kdata alone, and loggers are independent when it is used as a dependency.
In cp2kdata/log.py, user could control log level by environment variable, however, it changes the root logger config rather than Logger instance. I suggest using a Logger instance and keeping the root logger as default. The reason is that although there is no problem using cp2kdata alone, if cp2kdata is imported as a dependency by other packages, then log.py here will change the logging behavior in other code, unless they additionally set the environment variable separately for this dependency. However, if the log.py here is configured with a Logger instance, it will have no impact on the use of cp2kdata alone, and loggers are independent when it is used as a dependency.