Add experimental TOML config generator from marshmallow schemas#120
Open
Marenz wants to merge 2 commits intofrequenz-floss:v1.x.xfrom
Open
Add experimental TOML config generator from marshmallow schemas#120Marenz wants to merge 2 commits intofrequenz-floss:v1.x.xfrom
Marenz wants to merge 2 commits intofrequenz-floss:v1.x.xfrom
Conversation
Walk marshmallow schemas (typically from marshmallow_dataclass) and emit TOML text with default values and field descriptions as comments. Handles nested sections, quantity fields as string leaves, optional sections (commented out), enums, timedeltas, and infinity defaults. Extends the existing experimental marshmallow integration with a generate_toml_from_schema() entry point and a CommentStyle enum. Signed-off-by: Mathias L. Baumann <mathias.baumann@frequenz.com>
Signed-off-by: Mathias L. Baumann <mathias.baumann@frequenz.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Add
frequenz.quantities.experimental.toml_generatormodule that walks marshmallow schemas and emits TOML text with default values and field descriptions as comments.This extends the existing experimental marshmallow integration (
experimental.marshmallow) with a TOML output layer, useful for generating documented default configuration files from dataclass-based config schemas.Features:
generate_toml_from_schema(schema, section)entry pointCommentStyleenum (AUTO, ABOVE, INLINE, SHORT) for controlling comment placement[section.subsection]headers