This is the configuration repository for the ESC UM configuration.
Refer to the UASAL Configuration Management Summary for additionally details on how analysis, simulation tools, and configuration repositories are structured within the UASAL GitHub organization.
For Configuration FAQ's, also defer to the UASAL Configuration Management Summary for more information.
All UASAL config packages are dependent on utils_config but will be automatically installed when installing this package.
ssh keys are required for the pip-based install. Verify you have ssh keys installed in GitHub, or check out this ssh key tutorial
If there is no intention of modifying any of the configuration files inside the repository and analyzing the results, you can simply pip install the package.
In the event that you wish to interact with the files in the package, which may be the case if proposing a change to the files via a Pull request, then it may be useful to install it as an editable package by adding a -e to the commands below.
pip install git+ssh://git@github.com/uasal/config_project_template.gitgit clone git@github.com:uasal/config_project_template.git
cd config_project_template
pip install .Included in this repository is an [example notebook] of how an analysis would make use of this (and other) configuration repositories. What is included in this readme is only a brief summary.
config_stp makes usage of the ConfigLoader class (as config_loader) from utils_config via the load_config_values method, which accepts 'raw' 'parsed' or 'unitless' as an argument, returning a dictionary after parsing the 'configs' directory for .toml filies
import config_project_template
data = config_project_template.load_config_values()
print(data["observatory"]["pointing"]["jitter_rms"])load_config_values() has a default argument of 'raw' or alternatively pass in one of the three viable arguments for how values should be presented:
load_config_values('unitless')-> 0.01load_config_values('parsed')-> {'value': 0.01, 'unit': 'arcsecond'}load_config_values('raw')-> 10e-3arcsecond
For importing data and keeping code consistent across installs, config_stp will return the path to support_data with get_data_path()
import config_project_template
data_path = config_project_template.get_data_path()
print(data_path)