Add dot env file support
When the user don't provide an explicit kernel_dir, nor a global environment variable (KERNELS_<MISSION_NAME>), it should be possible to provide a .env file to provide custom values.
# .env.example file
#
# Global JUICE kernels folder
#
KERNELS_JUICE="/path/to/juice/kernels"
Currently, the user can use python-dotenv package and Jupyter extension to expend their environment variables:
%load_ext dotenv
%dotenv
kernels_dir = os.getenv('KERNELS_JUICE')
However, it is not part of the standard library and it should be fairy easy to support it directly.
Notes
- Dotenv file, should be searched in the current working directory, then search lazily in the parents folders (stopped at the 1st parent that have a
.envfile). - Dotenv file values need to be double quoted.
- Add a generic
getenv(key, prefix='', suffix='')function can be implemented and used inTourConfig. - The location of the env variable source should be reported in the debugger.