fedn.network.storage.statestore.stores.dto package

DTOs for the StateStore.

class fedn.network.storage.statestore.stores.dto.ClientDTO(**kwargs)[source]

Bases: BaseDTO

Client data transfer object.

client_id: str | None = <fedn.network.storage.statestore.stores.dto.shared.PrimaryID object>
combiner: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
combiner_preferred: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
ip: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
last_seen: datetime = <fedn.network.storage.statestore.stores.dto.shared.Field object>
name: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
package: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
status: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
class fedn.network.storage.statestore.stores.dto.CombinerDTO(**kwargs)[source]

Bases: BaseDTO

Client data transfer object.

address: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
combiner_id: str | None = <fedn.network.storage.statestore.stores.dto.shared.PrimaryID object>
fqdn: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
ip: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
name: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
parent: dict = <fedn.network.storage.statestore.stores.dto.shared.Field object>
port: int = <fedn.network.storage.statestore.stores.dto.shared.Field object>
updated_at: datetime = <fedn.network.storage.statestore.stores.dto.shared.Field object>
class fedn.network.storage.statestore.stores.dto.MetricDTO(**kwargs)[source]

Bases: BaseDTO

key: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
metric_id: str = <fedn.network.storage.statestore.stores.dto.shared.PrimaryID object>
model_id: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
round_id: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
sender: NodeDTO = <fedn.network.storage.statestore.stores.dto.shared.Field object>
session_id: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
step: int | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
timestamp: datetime | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
value: float = <fedn.network.storage.statestore.stores.dto.shared.Field object>
class fedn.network.storage.statestore.stores.dto.ModelDTO(**kwargs)[source]

Bases: BaseDTO

Model data transfer object.

model_id: str | None = <fedn.network.storage.statestore.stores.dto.shared.PrimaryID object>
name: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
parent_model: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
patch_with(value_dict, throw_on_extra_keys=True, verify=False)[source]

Patch DTO with object.

This method is used to apply a dict/list/DTO to the model with the option to throw an error if extra keys are present. It operates recursively if an dict/list are nested and matching fields are of type DTO. If verify is set to True, the DTO will be verified after the patch.

session_id: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
to_dict()[source]

Return dict representation of DTO.

This method is used to convert the DTO to a dictionary representation.

class fedn.network.storage.statestore.stores.dto.NodeDTO(**kwargs)[source]

Bases: DictDTO

Agent data transfer object.

client_id: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
name: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
role: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
class fedn.network.storage.statestore.stores.dto.PackageDTO(**kwargs)[source]

Bases: BaseDTO

Package data transfer object.

active: bool | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
description: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
file_name: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
helper: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
name: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
package_id: str | None = <fedn.network.storage.statestore.stores.dto.shared.PrimaryID object>
storage_file_name: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
validate = <fedn.network.storage.statestore.stores.dto.shared.validator object>
class fedn.network.storage.statestore.stores.dto.PredictionDTO(**kwargs)[source]

Bases: BaseDTO

Prediction data transfer object.

correlation_id: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
data: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
meta: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
model_id: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
prediction_id: str | None = <fedn.network.storage.statestore.stores.dto.shared.PrimaryID object>
receiver: NodeDTO = <fedn.network.storage.statestore.stores.dto.shared.Field object>
sender: NodeDTO = <fedn.network.storage.statestore.stores.dto.shared.Field object>
timestamp: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
class fedn.network.storage.statestore.stores.dto.RoundDTO(**kwargs)[source]

Bases: BaseDTO

Round data transfer object.

combiners: ListDTO[RoundCombinerDTO] = <fedn.network.storage.statestore.stores.dto.shared.Field object>
round_config: RoundConfigDTO | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
round_data: RoundDataDTO | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
round_id: str | None = <fedn.network.storage.statestore.stores.dto.shared.PrimaryID object>
status: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
class fedn.network.storage.statestore.stores.dto.RunDTO(**kwargs)[source]

Bases: BaseDTO

Training run data transfer object.

completed_at: datetime | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
completed_at_model_id: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
model_id: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
round_timeout: int = <fedn.network.storage.statestore.stores.dto.shared.Field object>
rounds: int | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
run_id: str | None = <fedn.network.storage.statestore.stores.dto.shared.PrimaryID object>
session_id: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
class fedn.network.storage.statestore.stores.dto.SessionConfigDTO(**kwargs)[source]

Bases: DictDTO

SessionConfig data transfer object.

aggregator: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
aggregator_kwargs: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
buffer_size: int = <fedn.network.storage.statestore.stores.dto.shared.Field object>
clients_required: int = <fedn.network.storage.statestore.stores.dto.shared.Field object>
delete_models_storage: bool = <fedn.network.storage.statestore.stores.dto.shared.Field object>
helper_type: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
model_id: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
requested_clients: int | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
round_timeout: int = <fedn.network.storage.statestore.stores.dto.shared.Field object>
rounds: int | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
server_functions: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
validate: bool = <fedn.network.storage.statestore.stores.dto.shared.Field object>
validate_config = <fedn.network.storage.statestore.stores.dto.shared.validator object>
class fedn.network.storage.statestore.stores.dto.SessionDTO(**kwargs)[source]

Bases: BaseDTO

Session data transfer object.

name: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
seed_model_id: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
session_config: SessionConfigDTO = <fedn.network.storage.statestore.stores.dto.shared.Field object>
session_id: str = <fedn.network.storage.statestore.stores.dto.shared.PrimaryID object>
status: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
class fedn.network.storage.statestore.stores.dto.StatusDTO(**kwargs)[source]

Bases: BaseDTO

Status data transfer object.

correlation_id: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
data: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
extra: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
log_level: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
sender: NodeDTO | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
session_id: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
status: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
status_id: str | None = <fedn.network.storage.statestore.stores.dto.shared.PrimaryID object>
timestamp: datetime | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
type: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
class fedn.network.storage.statestore.stores.dto.TelemetryDTO(**kwargs)[source]

Bases: BaseDTO

key: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
sender: NodeDTO = <fedn.network.storage.statestore.stores.dto.shared.Field object>
telemetry_id: str = <fedn.network.storage.statestore.stores.dto.shared.PrimaryID object>
timestamp: datetime | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
value: float = <fedn.network.storage.statestore.stores.dto.shared.Field object>
class fedn.network.storage.statestore.stores.dto.ValidationDTO(**kwargs)[source]

Bases: BaseDTO

Validation data transfer object.

correlation_id: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
data: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
meta: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
model_id: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
receiver: NodeDTO | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
sender: NodeDTO | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
session_id: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
timestamp: datetime | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
validation_id: str | None = <fedn.network.storage.statestore.stores.dto.shared.PrimaryID object>

Submodules

fedn.network.storage.statestore.stores.dto.attribute module

class fedn.network.storage.statestore.stores.dto.attribute.AttributeDTO(**kwargs)[source]

Bases: BaseDTO

attribute_id: str = <fedn.network.storage.statestore.stores.dto.shared.PrimaryID object>
key: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
sender: NodeDTO = <fedn.network.storage.statestore.stores.dto.shared.Field object>
timestamp: datetime | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
value: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>

fedn.network.storage.statestore.stores.dto.client module

class fedn.network.storage.statestore.stores.dto.client.ClientDTO(**kwargs)[source]

Bases: BaseDTO

Client data transfer object.

client_id: str | None = <fedn.network.storage.statestore.stores.dto.shared.PrimaryID object>
combiner: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
combiner_preferred: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
ip: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
last_seen: datetime = <fedn.network.storage.statestore.stores.dto.shared.Field object>
name: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
package: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
status: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>

fedn.network.storage.statestore.stores.dto.combiner module

class fedn.network.storage.statestore.stores.dto.combiner.CombinerDTO(**kwargs)[source]

Bases: BaseDTO

Client data transfer object.

address: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
combiner_id: str | None = <fedn.network.storage.statestore.stores.dto.shared.PrimaryID object>
fqdn: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
ip: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
name: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
parent: dict = <fedn.network.storage.statestore.stores.dto.shared.Field object>
port: int = <fedn.network.storage.statestore.stores.dto.shared.Field object>
updated_at: datetime = <fedn.network.storage.statestore.stores.dto.shared.Field object>

fedn.network.storage.statestore.stores.dto.metric module

class fedn.network.storage.statestore.stores.dto.metric.MetricDTO(**kwargs)[source]

Bases: BaseDTO

key: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
metric_id: str = <fedn.network.storage.statestore.stores.dto.shared.PrimaryID object>
model_id: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
round_id: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
sender: NodeDTO = <fedn.network.storage.statestore.stores.dto.shared.Field object>
session_id: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
step: int | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
timestamp: datetime | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
value: float = <fedn.network.storage.statestore.stores.dto.shared.Field object>

fedn.network.storage.statestore.stores.dto.model module

class fedn.network.storage.statestore.stores.dto.model.ModelDTO(**kwargs)[source]

Bases: BaseDTO

Model data transfer object.

model_id: str | None = <fedn.network.storage.statestore.stores.dto.shared.PrimaryID object>
name: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
parent_model: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
patch_with(value_dict, throw_on_extra_keys=True, verify=False)[source]

Patch DTO with object.

This method is used to apply a dict/list/DTO to the model with the option to throw an error if extra keys are present. It operates recursively if an dict/list are nested and matching fields are of type DTO. If verify is set to True, the DTO will be verified after the patch.

session_id: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
to_dict()[source]

Return dict representation of DTO.

This method is used to convert the DTO to a dictionary representation.

fedn.network.storage.statestore.stores.dto.package module

class fedn.network.storage.statestore.stores.dto.package.PackageDTO(**kwargs)[source]

Bases: BaseDTO

Package data transfer object.

active: bool | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
description: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
file_name: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
helper: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
name: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
package_id: str | None = <fedn.network.storage.statestore.stores.dto.shared.PrimaryID object>
storage_file_name: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
validate = <fedn.network.storage.statestore.stores.dto.shared.validator object>
fedn.network.storage.statestore.stores.dto.package.allowed_file_extension(filename: str, ALLOWED_EXTENSIONS={'bz2', 'gz', 'tar', 'tgz', 'zip'}) bool[source]

Check if file extension is allowed.

Parameters:

filename (str) – The filename to check.

Returns:

True and extension str if file extension is allowed, else False and None.

Return type:

Tuple (bool, str)

fedn.network.storage.statestore.stores.dto.package.validate_helper(helper: str) bool[source]

fedn.network.storage.statestore.stores.dto.prediction module

class fedn.network.storage.statestore.stores.dto.prediction.PredictionDTO(**kwargs)[source]

Bases: BaseDTO

Prediction data transfer object.

correlation_id: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
data: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
meta: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
model_id: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
prediction_id: str | None = <fedn.network.storage.statestore.stores.dto.shared.PrimaryID object>
receiver: NodeDTO = <fedn.network.storage.statestore.stores.dto.shared.Field object>
sender: NodeDTO = <fedn.network.storage.statestore.stores.dto.shared.Field object>
timestamp: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>

fedn.network.storage.statestore.stores.dto.round module

class fedn.network.storage.statestore.stores.dto.round.AggregationTimeDTO(**kwargs)[source]

Bases: DictDTO

AggregationTime data transfer object.

nr_aggregated_models: int | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
time_model_aggregation: float | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
time_model_load: float | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
class fedn.network.storage.statestore.stores.dto.round.RoundCombinerConfigDTO(**kwargs)[source]

Bases: RoundConfigDTO

RoundCombinerConfig data transfer object.

round_id: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
class fedn.network.storage.statestore.stores.dto.round.RoundCombinerDTO(**kwargs)[source]

Bases: DictDTO

RoundCombiner data transfer object.

config: RoundCombinerConfigDTO = <fedn.network.storage.statestore.stores.dto.shared.Field object>
data: RoundCombinerDataDTO = <fedn.network.storage.statestore.stores.dto.shared.Field object>
model_id: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
name: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
round_id: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
status: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
time_exec_training: float = <fedn.network.storage.statestore.stores.dto.shared.Field object>
class fedn.network.storage.statestore.stores.dto.round.RoundCombinerDataDTO(**kwargs)[source]

Bases: DictDTO

RoundCombinerData data transfer object.

aggregation_time: AggregationTimeDTO | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
nr_expected_updates: int | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
nr_required_updates: int | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
time_combination: float | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
timeout: float | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
class fedn.network.storage.statestore.stores.dto.round.RoundConfigDTO(**kwargs)[source]

Bases: SessionConfigDTO

RoundConfig data transfer object.

client_settings: dict | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
is_sl_inference: bool | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
round_id: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
rounds: int = <fedn.network.storage.statestore.stores.dto.shared.Field object>
selected_clients: list | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
session_id: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
task: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
class fedn.network.storage.statestore.stores.dto.round.RoundDTO(**kwargs)[source]

Bases: BaseDTO

Round data transfer object.

combiners: ListDTO[RoundCombinerDTO] = <fedn.network.storage.statestore.stores.dto.shared.Field object>
round_config: RoundConfigDTO | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
round_data: RoundDataDTO | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
round_id: str | None = <fedn.network.storage.statestore.stores.dto.shared.PrimaryID object>
status: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
class fedn.network.storage.statestore.stores.dto.round.RoundDataDTO(**kwargs)[source]

Bases: DictDTO

RoundData data transfer object.

reduce: RoundReduceDTO | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
time_commit: float | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
class fedn.network.storage.statestore.stores.dto.round.RoundReduceDTO(**kwargs)[source]

Bases: DictDTO

RoundReduce data transfer object.

time_aggregate_model: float | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
time_fetch_model: float | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
time_load_model: float | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>

fedn.network.storage.statestore.stores.dto.run module

class fedn.network.storage.statestore.stores.dto.run.RunDTO(**kwargs)[source]

Bases: BaseDTO

Training run data transfer object.

completed_at: datetime | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
completed_at_model_id: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
model_id: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
round_timeout: int = <fedn.network.storage.statestore.stores.dto.shared.Field object>
rounds: int | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
run_id: str | None = <fedn.network.storage.statestore.stores.dto.shared.PrimaryID object>
session_id: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>

fedn.network.storage.statestore.stores.dto.session module

class fedn.network.storage.statestore.stores.dto.session.SessionConfigDTO(**kwargs)[source]

Bases: DictDTO

SessionConfig data transfer object.

aggregator: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
aggregator_kwargs: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
buffer_size: int = <fedn.network.storage.statestore.stores.dto.shared.Field object>
clients_required: int = <fedn.network.storage.statestore.stores.dto.shared.Field object>
delete_models_storage: bool = <fedn.network.storage.statestore.stores.dto.shared.Field object>
helper_type: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
model_id: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
requested_clients: int | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
round_timeout: int = <fedn.network.storage.statestore.stores.dto.shared.Field object>
rounds: int | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
server_functions: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
validate: bool = <fedn.network.storage.statestore.stores.dto.shared.Field object>
validate_config = <fedn.network.storage.statestore.stores.dto.shared.validator object>
class fedn.network.storage.statestore.stores.dto.session.SessionDTO(**kwargs)[source]

Bases: BaseDTO

Session data transfer object.

name: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
seed_model_id: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
session_config: SessionConfigDTO = <fedn.network.storage.statestore.stores.dto.shared.Field object>
session_id: str = <fedn.network.storage.statestore.stores.dto.shared.PrimaryID object>
status: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>

fedn.network.storage.statestore.stores.dto.shared module

Module contains minimal funcitonality mirrored from Pydantic BaseModel.

class fedn.network.storage.statestore.stores.dto.shared.BaseDTO(**kwargs)[source]

Bases: DictDTO

BaseDTO for Data Transfer Objects.

committed_at: datetime = <fedn.network.storage.statestore.stores.dto.shared.Field object>
property primary_id: str

Get the id of the DTO.

property primary_key: str

Get the key of the primary id.

updated_at: datetime = <fedn.network.storage.statestore.stores.dto.shared.Field object>
class fedn.network.storage.statestore.stores.dto.shared.DTO[source]

Bases: ABC

abstract check_validity()[source]

Verify DTO and raise ValidationError a if required field is missing or invalid.

abstract clear_all_changes()[source]

Reset DTO to initial values.

abstract has_modifications() bool[source]

Check if DTO has any modifications.

abstract model_dump(exclude_unset: bool = False) Dict[str, Any][source]

Dump DTO to dict.

abstract patch_with(object: DTO, throw_on_extra_keys: bool = True, verify: bool = False) DTO[source]

Patch DTO with object.

This method is used to apply a dict/list/DTO to the model with the option to throw an error if extra keys are present. It operates recursively if an dict/list are nested and matching fields are of type DTO. If verify is set to True, the DTO will be verified after the patch.

to_db(exclude_unset: bool = False) Dict[str, Any][source]

Return dict representation of DTO for database storage.

to_dict() Dict[str, Any][source]

Return dict representation of DTO.

This method is used to convert the DTO to a dictionary representation.

class fedn.network.storage.statestore.stores.dto.shared.DictDTO(**kwargs)[source]

Bases: DTO

__init__(**kwargs) None[source]

Initialize DTO.

This method copies all class fields and patches the instance with the provided kwargs.

check_validity(exclude_primary_id=False)[source]

Verify DTO and raise ValidationError a if required field is missing or invalid.

clear_all_changes()[source]

Clear all modified fields.

clear_field(fieldname)[source]

Clear a field of modified value.

classmethod get_all_fieldnames() List[str][source]

Get all fields of the class and its superclasses.

classmethod get_all_validators() List[str][source]

Get all validators of the class and its superclasses.

has_modifications()[source]

Check if DTO has any modifications.

model_dump(exclude_unset: bool = False) Dict[str, Any][source]

Dump DTO to dict.

patch_with(value_dict: Dict[str, Any] | DictDTO, throw_on_extra_keys: bool = True, verify: bool = False) DictDTO[source]

Patch DTO with object.

This method is used to apply a dict/list/DTO to the model with the option to throw an error if extra keys are present. It operates recursively if an dict/list are nested and matching fields are of type DTO. If verify is set to True, the DTO will be verified after the patch.

populate_with(value_dict: Dict[str, Any] | DictDTO, throw_on_extra_keys: bool = True) DictDTO[source]

Populate DTO from value_dict.

This method is used to apply a dictionary to the model and requires all non-optional/previously unset fields to be present. It operates recursively if value_dict contains nested dictionaries and matching fields are of type DTO.

A DTO populated with this method is guaranteed to have all required fields set.

to_db(exclude_unset: bool = False) Dict[str, Any][source]

Return dict representation of DTO for database storage.

to_dict() Dict[str, Any][source]

Return dict representation of DTO.

This method is used to convert the DTO to a dictionary representation.

class fedn.network.storage.statestore.stores.dto.shared.Field(default_value)[source]

Bases: object

Field class for DTOs.

__init__(default_value) None[source]

Initialize Field with default value.

class fedn.network.storage.statestore.stores.dto.shared.ListDTO(ListClass, *values)[source]

Bases: DTO, Generic[T]

ListDTO for Data Transfer Objects.

__init__(ListClass, *values) None[source]

Initialize ListDTO.

append(item: T)[source]
check_validity()[source]

Verify DTO and raise ValidationError a if required field is missing or invalid.

clear_all_changes()[source]

Reset DTO to initial values.

copy()[source]
has_modifications() bool[source]

Check if DTO has any modifications.

model_dump(exclude_unset=False)[source]

Dump DTO to dict.

patch_with(value_list: List[T] | ListDTO, throw_on_extra_keys: bool = True, verify: bool = False) ListDTO[source]

Patch ListDTO with list.

class fedn.network.storage.statestore.stores.dto.shared.NodeDTO(**kwargs)[source]

Bases: DictDTO

Agent data transfer object.

client_id: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
name: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
role: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
class fedn.network.storage.statestore.stores.dto.shared.PrimaryID(default_value)[source]

Bases: Field

PrimaryID field for DTOs.

class fedn.network.storage.statestore.stores.dto.shared.validator(func)[source]

Bases: object

decorator class for validation methods of DTOs.

__init__(func)[source]

fedn.network.storage.statestore.stores.dto.status module

class fedn.network.storage.statestore.stores.dto.status.StatusDTO(**kwargs)[source]

Bases: BaseDTO

Status data transfer object.

correlation_id: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
data: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
extra: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
log_level: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
sender: NodeDTO | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
session_id: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
status: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
status_id: str | None = <fedn.network.storage.statestore.stores.dto.shared.PrimaryID object>
timestamp: datetime | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
type: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>

fedn.network.storage.statestore.stores.dto.telemetry module

class fedn.network.storage.statestore.stores.dto.telemetry.TelemetryDTO(**kwargs)[source]

Bases: BaseDTO

key: str = <fedn.network.storage.statestore.stores.dto.shared.Field object>
sender: NodeDTO = <fedn.network.storage.statestore.stores.dto.shared.Field object>
telemetry_id: str = <fedn.network.storage.statestore.stores.dto.shared.PrimaryID object>
timestamp: datetime | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
value: float = <fedn.network.storage.statestore.stores.dto.shared.Field object>

fedn.network.storage.statestore.stores.dto.validation module

class fedn.network.storage.statestore.stores.dto.validation.ValidationDTO(**kwargs)[source]

Bases: BaseDTO

Validation data transfer object.

correlation_id: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
data: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
meta: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
model_id: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
receiver: NodeDTO | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
sender: NodeDTO | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
session_id: str | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
timestamp: datetime | None = <fedn.network.storage.statestore.stores.dto.shared.Field object>
validation_id: str | None = <fedn.network.storage.statestore.stores.dto.shared.PrimaryID object>