-
Notifications
You must be signed in to change notification settings - Fork 1
Code examples
Alex Dobson-Pleming edited this page May 23, 2025
·
1 revision
from api_sdk.client import APIClient
from api_sdk.models import FlModel
BASE_URL = "http://localhost:8000/api"
TOKEN = "your_api_token_here"
client = APIClient(BASE_URL, TOKEN)
models: list[FlModel] = client.list_models()
for m in models:
print(
f"{m.id}: {m.name} | "
f"accuracy={m.accuracy!r}, "
f"generalisability={m.generalisability!r}, "
f"privacy={m.privacy!r}"
)
from api_sdk.client import APIClient
from api_sdk.models import FlModel
client = APIClient(BASE_URL, TOKEN)
model: FlModel = client.get_model(model_id=1)
print("Fetched model:")
print(f" ID: {model.id}")
print(f" Name: {model.name}")
print(f" Accuracy: {model.accuracy}")
print(f" Generalisability: {model.generalisability}")
print(f" Privacy score: {model.privacy}")
from api_sdk.client import APIClient
from api_sdk.models import LocalModel
client = APIClient(BASE_URL, TOKEN)
locals_: list[LocalModel] = client.list_local_models(fl_model_id=1)
for lm in locals_:
print(
f"{lm.id}: {lm.name} (fed={lm.fl_model}) | "
f"privacy={lm.privacy!r}, "
f"leakage={lm.leakage_chance!r}, "
f"noise={lm.noise!r}"
)
from api_sdk.client import APIClient
from api_sdk.models import FlModel
client = APIClient(BASE_URL, TOKEN)
new_fed = FlModel(
name="MyAwesomeFL",
accuracy=0.92,
generalisability=0.88,
privacy=0.65
)
created: FlModel = client.create_model(new_fed)
print(f"Created FL model {created.id} → {created.name}")
from api_sdk.client import APIClient
from api_sdk.models import FlModel, LocalModel
client = APIClient(BASE_URL, TOKEN)
# 1. Create the federated model
fed = FlModel(
name="JointModel",
accuracy=0.80,
generalisability=0.77,
privacy=0.55
)
created_fed = client.create_model(fed)
# 2. Now create a local model tied to it
local = LocalModel(
fl_model=created_fed.id,
name="ClientA",
privacy=0.60,
leakage_chance=0.05,
noise=0.02
)
created_local = client.create_local_model(local)
print(f"→ FL model {created_fed.id} has new local {created_local.id}")