Minor gardening around the package
This MR is about merging a variety of miscellaneous, rather minor changes into declearn.
These include:
New features
- Add
Model.get_wrapped_model
to the API. - Add utils to list available optimizer plug-ins and aggregator classes.
Improvements
- Enhance the type-hinting of
Vector
andModel
:- Annotate that a
Vector
subclass is designed to wrapped a specific type (union). - Annotate that a
Model
subclass is designed to operate with a givenVector
subclass. - Annotate that
Optimizer
,OptiModule
,Regularizer
andAggregator
expect coherent input/output types.
- Annotate that a
- Fix default aggregator in
FLOptimConfig
. - Improve
TomlConfig
backend code. - Make the quickrun mode compatible with the gRPC communication protocol.
Unit tests
- Add unit tests for
TomlConfig
. - Add minimal unit tests for
Aggregator
classes. - Add minimal functional test for the Quickrun mode.
- Extend unit tests for type-registration utils.
Some minor code lifting was also performed, as well as the addition of a few # pragma: no cover
comments for a few fail-safe error-wrapping or unreachable error-raising statements.