ImperialCollegeLondon / ImperialCollegeLondon/virtual_ecosystem
Configuration tool
- Dominant language
- Python
- Stars
- 20
- Forks
- 5
- Avg merge
- 2d 1h
- Merged PRs (30d)
- 34
Description
At the moment, `ve_run` can take a collection of config files. These only need to specify changes from defaults, and are then combined and passed through config validation to give a complete valid configuration, which can optionally be written out during a run.
Thing is, actual users (🎩 tip to @arne-exe @lelavathy @Baizurah ), would like to be able to look at that complete configuration _before_ a run, to see all the settings.
One way to do this is to create a new entry point `ve_configure` that basically just duplicates the configuration handling at the start of `ve_run` but just returns the validated, compiled file. That can then be fed into `ve_run`, but users get to look at it before the simulation starts.
We _could_ then retire that functionality from `ve_run`: it takes a single file and we can remove the output option for the compiled file.
This retains the original flexibility of being able to build a configuration from a library of sub-configurations, but has a better separation of concerns. The `ve_run` would of course still validate the config!
Or we can leave `ve_run` as is and just add the `ve_configuration` tool as an optional step.
Contributor guide
Research direction
Start by locating the configuration handling at the beginning of ve_run and trace how config files are combined, validated, and optionally written. Clarify whether the new entry point should be ve_configure or ve_configuration, and whether ve_run's existing output behavior should remain. Done means users can inspect a complete validated configuration before a simulation while ve_run still validates its input.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100