DRAFT: Add wrap_with_model_yaml decorator #11
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi @pypae - thank you for making this very nice extension! I've been hoping for something exactly like this, and I will very likely be using it in the future.
For this PR, I am not sure if it's the sort of feature you are interested in, but I have written it for my own purposes anyways so figured I would share it in case you are. Basically, it adds a decorator to make a function accept yaml(s) which are parsed initially to build the model, then accepts updates from the standard command line arguments. This is analogous to the way that configargparse extends the basic argparse functionality (though, in my opinion, a lot cleaner). If you are interested in adding this, I can work on tests/documentation and make any changes you might suggest.
To do this it does introduce two new dependencies (pydantic-yaml and makefun).
An example usage would be:
which yields this help message
and produces an output like this: