flwr-nightly 1.26.0.dev20260116__py3-none-any.whl → 1.26.0.dev20260117__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -9,6 +9,62 @@
9
9
  layout: elk
10
10
  ---
11
11
  erDiagram
12
+ context {
13
+ INTEGER run_id FK "nullable"
14
+ BLOB context "nullable"
15
+ }
16
+
17
+ logs {
18
+ INTEGER run_id FK "nullable"
19
+ VARCHAR log "nullable"
20
+ INTEGER node_id "nullable"
21
+ FLOAT timestamp "nullable"
22
+ }
23
+
24
+ message_ins {
25
+ INTEGER run_id FK "nullable"
26
+ BLOB content "nullable"
27
+ FLOAT created_at "nullable"
28
+ VARCHAR delivered_at "nullable"
29
+ INTEGER dst_node_id "nullable"
30
+ BLOB error "nullable"
31
+ VARCHAR group_id "nullable"
32
+ VARCHAR message_id UK "nullable"
33
+ VARCHAR message_type "nullable"
34
+ VARCHAR reply_to_message_id "nullable"
35
+ INTEGER src_node_id "nullable"
36
+ FLOAT ttl "nullable"
37
+ }
38
+
39
+ message_res {
40
+ INTEGER run_id FK "nullable"
41
+ BLOB content "nullable"
42
+ FLOAT created_at "nullable"
43
+ VARCHAR delivered_at "nullable"
44
+ INTEGER dst_node_id "nullable"
45
+ BLOB error "nullable"
46
+ VARCHAR group_id "nullable"
47
+ VARCHAR message_id UK "nullable"
48
+ VARCHAR message_type "nullable"
49
+ VARCHAR reply_to_message_id "nullable"
50
+ INTEGER src_node_id "nullable"
51
+ FLOAT ttl "nullable"
52
+ }
53
+
54
+ node {
55
+ FLOAT heartbeat_interval "nullable"
56
+ VARCHAR last_activated_at "nullable"
57
+ VARCHAR last_deactivated_at "nullable"
58
+ INTEGER node_id UK "nullable"
59
+ TIMESTAMP online_until "nullable"
60
+ VARCHAR owner_aid "nullable"
61
+ VARCHAR owner_name "nullable"
62
+ BLOB public_key UK "nullable"
63
+ VARCHAR registered_at "nullable"
64
+ VARCHAR status "nullable"
65
+ VARCHAR unregistered_at "nullable"
66
+ }
67
+
12
68
  object_children {
13
69
  VARCHAR child_id PK,FK
14
70
  VARCHAR parent_id PK,FK
@@ -21,6 +77,29 @@ erDiagram
21
77
  INTEGER ref_count
22
78
  }
23
79
 
80
+ <<<<<<< HEAD
81
+ run {
82
+ INTEGER bytes_recv "nullable"
83
+ INTEGER bytes_sent "nullable"
84
+ FLOAT clientapp_runtime "nullable"
85
+ VARCHAR details "nullable"
86
+ VARCHAR fab_hash "nullable"
87
+ VARCHAR fab_id "nullable"
88
+ VARCHAR fab_version "nullable"
89
+ VARCHAR federation "nullable"
90
+ BLOB federation_options "nullable"
91
+ VARCHAR finished_at "nullable"
92
+ VARCHAR flwr_aid "nullable"
93
+ VARCHAR override_config "nullable"
94
+ VARCHAR pending_at "nullable"
95
+ INTEGER run_id UK "nullable"
96
+ VARCHAR running_at "nullable"
97
+ VARCHAR starting_at "nullable"
98
+ VARCHAR sub_status "nullable"
99
+ }
100
+
101
+ =======
102
+ >>>>>>> main
24
103
  run_objects {
25
104
  VARCHAR object_id PK,FK
26
105
  INTEGER run_id PK
@@ -32,6 +111,13 @@ erDiagram
32
111
  VARCHAR token UK
33
112
  }
34
113
 
114
+ <<<<<<< HEAD
115
+ run ||--o| context : run_id
116
+ run ||--o{ logs : run_id
117
+ run ||--o{ message_ins : run_id
118
+ run ||--o{ message_res : run_id
119
+ =======
120
+ >>>>>>> main
35
121
  objects ||--o| object_children : parent_id
36
122
  objects ||--o| object_children : child_id
37
123
  objects ||--o| run_objects : object_id
@@ -14,6 +14,7 @@
14
14
  # ==============================================================================
15
15
  """SQLAlchemy Core Table definitions for CoreState."""
16
16
 
17
+
17
18
  from sqlalchemy import Column, Float, Integer, MetaData, String, Table
18
19
 
19
20
  corestate_metadata = MetaData()
@@ -0,0 +1,152 @@
1
+ # Copyright 2026 Flower Labs GmbH. All Rights Reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ # ==============================================================================
15
+ """SQLAlchemy Core Table definitions for LinkState."""
16
+
17
+
18
+ from sqlalchemy import (
19
+ TIMESTAMP,
20
+ Column,
21
+ Float,
22
+ ForeignKey,
23
+ Index,
24
+ Integer,
25
+ LargeBinary,
26
+ MetaData,
27
+ String,
28
+ Table,
29
+ UniqueConstraint,
30
+ )
31
+
32
+ linkstate_metadata = MetaData()
33
+
34
+ # ------------------------------------------------------------------------------
35
+ # Table: node
36
+ # ------------------------------------------------------------------------------
37
+ node = Table(
38
+ "node",
39
+ linkstate_metadata,
40
+ Column("node_id", Integer, unique=True),
41
+ Column("owner_aid", String),
42
+ Column("owner_name", String),
43
+ Column("status", String),
44
+ Column("registered_at", String),
45
+ Column("last_activated_at", String, nullable=True),
46
+ Column("last_deactivated_at", String, nullable=True),
47
+ Column("unregistered_at", String, nullable=True),
48
+ Column("online_until", TIMESTAMP, nullable=True),
49
+ Column("heartbeat_interval", Float),
50
+ Column("public_key", LargeBinary, unique=True),
51
+ # Indexes
52
+ # Used in delete_node and get_node_info (security/filtering)
53
+ Index("idx_node_owner_aid", "owner_aid"),
54
+ # Used in get_nodes and activation checks (frequent filtering)
55
+ Index("idx_node_status", "status"),
56
+ # Used in heartbeat checks to efficiently find expired nodes
57
+ Index("idx_online_until", "online_until"),
58
+ )
59
+
60
+
61
+ # ------------------------------------------------------------------------------
62
+ # Table: run
63
+ # ------------------------------------------------------------------------------
64
+ run = Table(
65
+ "run",
66
+ linkstate_metadata,
67
+ Column("run_id", Integer, unique=True),
68
+ Column("fab_id", String),
69
+ Column("fab_version", String),
70
+ Column("fab_hash", String),
71
+ Column("override_config", String),
72
+ Column("pending_at", String),
73
+ Column("starting_at", String),
74
+ Column("running_at", String),
75
+ Column("finished_at", String),
76
+ Column("sub_status", String),
77
+ Column("details", String),
78
+ Column("federation", String),
79
+ Column("federation_options", LargeBinary),
80
+ Column("flwr_aid", String),
81
+ Column("bytes_sent", Integer, server_default="0"),
82
+ Column("bytes_recv", Integer, server_default="0"),
83
+ Column("clientapp_runtime", Float, server_default="0.0"),
84
+ )
85
+
86
+
87
+ # ------------------------------------------------------------------------------
88
+ # Table: logs
89
+ # ------------------------------------------------------------------------------
90
+ logs = Table(
91
+ "logs",
92
+ linkstate_metadata,
93
+ Column("timestamp", Float),
94
+ Column("run_id", Integer, ForeignKey("run.run_id")),
95
+ Column("node_id", Integer),
96
+ Column("log", String),
97
+ # Composite PK
98
+ UniqueConstraint("timestamp", "run_id", "node_id"),
99
+ )
100
+
101
+
102
+ # ------------------------------------------------------------------------------
103
+ # Table: context
104
+ # ------------------------------------------------------------------------------
105
+ context = Table(
106
+ "context",
107
+ linkstate_metadata,
108
+ Column("run_id", Integer, ForeignKey("run.run_id"), unique=True),
109
+ Column("context", LargeBinary),
110
+ )
111
+
112
+
113
+ # ------------------------------------------------------------------------------
114
+ # Table: message_ins
115
+ # ------------------------------------------------------------------------------
116
+ message_ins = Table(
117
+ "message_ins",
118
+ linkstate_metadata,
119
+ Column("message_id", String, unique=True),
120
+ Column("group_id", String),
121
+ Column("run_id", Integer, ForeignKey("run.run_id")),
122
+ Column("src_node_id", Integer),
123
+ Column("dst_node_id", Integer),
124
+ Column("reply_to_message_id", String),
125
+ Column("created_at", Float),
126
+ Column("delivered_at", String),
127
+ Column("ttl", Float),
128
+ Column("message_type", String),
129
+ Column("content", LargeBinary, nullable=True),
130
+ Column("error", LargeBinary, nullable=True),
131
+ )
132
+
133
+
134
+ # ------------------------------------------------------------------------------
135
+ # Table: message_res
136
+ # ------------------------------------------------------------------------------
137
+ message_res = Table(
138
+ "message_res",
139
+ linkstate_metadata,
140
+ Column("message_id", String, unique=True),
141
+ Column("group_id", String),
142
+ Column("run_id", Integer, ForeignKey("run.run_id")),
143
+ Column("src_node_id", Integer),
144
+ Column("dst_node_id", Integer),
145
+ Column("reply_to_message_id", String),
146
+ Column("created_at", Float),
147
+ Column("delivered_at", String),
148
+ Column("ttl", Float),
149
+ Column("message_type", String),
150
+ Column("content", LargeBinary, nullable=True),
151
+ Column("error", LargeBinary, nullable=True),
152
+ )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: flwr-nightly
3
- Version: 1.26.0.dev20260116
3
+ Version: 1.26.0.dev20260117
4
4
  Summary: Flower: A Friendly Federated AI Framework
5
5
  License: Apache-2.0
6
6
  Keywords: Artificial Intelligence,Federated AI,Federated Analytics,Federated Evaluation,Federated Learning,Flower,Machine Learning
@@ -354,9 +354,10 @@ flwr/supercore/primitives/asymmetric.py,sha256=1643niHYj3uEbfPd06VuMHwN3tKVwg0uV
354
354
  flwr/supercore/primitives/asymmetric_ed25519.py,sha256=eIhOTMibQW0FJX4MXdplHdL3HcfCiKuFu2mQ8GQTUz8,5025
355
355
  flwr/supercore/sqlite_mixin.py,sha256=ZvtqDLRwCMzyrPsOTpAwJeHSpthrrtvEfUmWZmss6OA,5317
356
356
  flwr/supercore/state/__init__.py,sha256=FkKhsNVM4LjlRlOgXTz6twINmw5ohIUKS_OER0BNo_w,724
357
- flwr/supercore/state/schema/README.md,sha256=Xf2UVSkJaufZ90TFkA2Vy5s7KK6jhSf3fAhQzwFWExo,633
357
+ flwr/supercore/state/schema/README.md,sha256=-0QrXDhnv30gEYoIUJo7aLUolY0r_t_nC24yk7B2agM,2892
358
358
  flwr/supercore/state/schema/__init__.py,sha256=Egnde6OY01wrpT4PuhL4NGn_NY4jdAH7kf7ktagN4Ws,724
359
- flwr/supercore/state/schema/corestate_tables.py,sha256=BuzMfmUEFkuism75VMtjS8qYHjX_0kms7n3yIwYtKzk,1251
359
+ flwr/supercore/state/schema/corestate_tables.py,sha256=EEVz9lMCFES8y87nTTmU8X6sH7_FIlGZQ_3rUo0JI6Y,1252
360
+ flwr/supercore/state/schema/linkstate_tables.py,sha256=pJ0y-83TYTBJzkcxd6a9CJiNCk72eW7pB91Awg2nwuk,5186
360
361
  flwr/supercore/state/schema/objectstore_tables.py,sha256=cCayjB9J1k9j4mcCQnl6Y-U68c__DMg_DUQxtaZRnpE,2637
361
362
  flwr/supercore/superexec/__init__.py,sha256=XKX208hZ6a9gZ4KT9kMqfpCtp_8VGxekzKFfHSu2esQ,707
362
363
  flwr/supercore/superexec/plugin/__init__.py,sha256=GNwq8uNdE8RB7ywEFRAvKjLFzgS3YXgz39-HBGsemWw,1035
@@ -398,7 +399,7 @@ flwr/supernode/servicer/__init__.py,sha256=lucTzre5WPK7G1YLCfaqg3rbFWdNSb7ZTt-ca
398
399
  flwr/supernode/servicer/clientappio/__init__.py,sha256=7Oy62Y_oijqF7Dxi6tpcUQyOpLc_QpIRZ83NvwmB0Yg,813
399
400
  flwr/supernode/servicer/clientappio/clientappio_servicer.py,sha256=rRL4CQ0L78jF_p0ct4-JMGREt6wWRy__wy4czF4f54Y,11639
400
401
  flwr/supernode/start_client_internal.py,sha256=BYk69UBQ2gQJaDQxXhccUgfOWrb7ShAstrbcMOCZIIs,26173
401
- flwr_nightly-1.26.0.dev20260116.dist-info/METADATA,sha256=M_saf2QwuWy4n9SEdGDbvJ6MyiKxABJbtVLzeHvKJqg,14398
402
- flwr_nightly-1.26.0.dev20260116.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
403
- flwr_nightly-1.26.0.dev20260116.dist-info/entry_points.txt,sha256=hxHD2ixb_vJFDOlZV-zB4Ao32_BQlL34ftsDh1GXv14,420
404
- flwr_nightly-1.26.0.dev20260116.dist-info/RECORD,,
402
+ flwr_nightly-1.26.0.dev20260117.dist-info/METADATA,sha256=IuT7FnpFScBkGOQJlpTXFUh3_kSZyt1HKQ0yZ7gjKds,14398
403
+ flwr_nightly-1.26.0.dev20260117.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
404
+ flwr_nightly-1.26.0.dev20260117.dist-info/entry_points.txt,sha256=hxHD2ixb_vJFDOlZV-zB4Ao32_BQlL34ftsDh1GXv14,420
405
+ flwr_nightly-1.26.0.dev20260117.dist-info/RECORD,,