-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WIP: Revamp config management #1104
base: v1.x.x
Are you sure you want to change the base?
Commits on Nov 15, 2024
-
Improve
load_config
documentationMake it more explicit that this is just a wrapper to external libraries so users should read their documentation in full and which functions are used exactly. Signed-off-by: Leandro Lucarella <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 694ce64 - Browse repository at this point
Copy the full SHA 694ce64View commit details -
Drop support for using
marshmallow_dataclas.dataclass
directly`marshmallow_dataclass.dataclass` is intended to be used only when using `my_dataclass.Schema` to get the schema. But using this is not very convenient when using type hints as they are not well supported by `marshmallow`, as the `load()` function can't have hints. This is actually why `load_config()` exists in the first place, so we are using `class_schema()` instead, so we don't really need that our types are decorated with `marshmallow_dataclass`, we can use the built-in `dataclass` instead, we just need to add the appropriate metadata if we want more complex validation. Using `class_shema()` is also necessary to be able to pass a `base_schema`, which we'll need when we want to use schemas with custom fields, like the ones provided by `frequenz.quantities`. Because of this, we just drop support for `marshmallow_dataclass.dataclass` and we'll require that built-in dataclasses are used in the future. Signed-off-by: Leandro Lucarella <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0642d3a - Browse repository at this point
Copy the full SHA 0642d3aView commit details -
Make
load_config()
accept abase_schema
This is necessary to use custom fields when loading configurations. Signed-off-by: Leandro Lucarella <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9ed4030 - Browse repository at this point
Copy the full SHA 9ed4030View commit details -
Require using built-in dataclasses in
load_config()
This is just the last step to be able to enforce via the type system that only built-in dataclasses are used. Signed-off-by: Leandro Lucarella <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e89fa91 - Browse repository at this point
Copy the full SHA e89fa91View commit details -
Rename
_config_managing.py
to_actor.py
As this package gets more stuff, the old name used when the actor was stored in the `frequenz.actor` package doesn't make much sense and is confusing. Signed-off-by: Leandro Lucarella <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for bbaa2c8 - Browse repository at this point
Copy the full SHA bbaa2c8View commit details -
Rename
LoggingConfigUpdater
toLoggingConfigUpdatingActor
This is to follow the naming convention of actors and make it more obvious that it is an actor. Signed-off-by: Leandro Lucarella <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1b08f33 - Browse repository at this point
Copy the full SHA 1b08f33View commit details -
Ignore
pylint
checks that are covered bymypy
`pylint` is much more flaky than `mypy`, so better just have `mypy` doing those checks. Signed-off-by: Leandro Lucarella <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d49cddb - Browse repository at this point
Copy the full SHA d49cddbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7954aa8 - Browse repository at this point
Copy the full SHA 7954aa8View commit details