It might be worth the CLI having a top level struct that pairs a DataRequestSpec with an OutputOptions so that both can be read from the config file. We still want DataRequestSpec to be it's own thing as this is how python and JS will interact with the library without any need to specify output
We are starting with json as the config language but it should be possible to use toml or yaml or anything else that serde supports. Not sure if we have opinions on the best formats to use here.
We can add some serde directives to make the json format a little easier to write, for example using different enum representations if they make sense
Adds a new sub command to the CLI
popgetter_cli recipe --recipe-file recipe.json --output-file result.geojson --output-format geojson
Which loads in the DataRequestSpec from json and runs the request
a sample request file: https://github.com/Urban-Analytics-Technology-Platform/popgetter-cli/blob/run_with_config/test_recipe.json
Some thoughts / questions