Syvain Metrics API Client
Use this typed Python client to find experiments and read stored metrics from
Syvain Metrics. To send metrics from a training
or evaluation job, use syvain-metrics-collector instead.
Install
uv add syvain-metrics-api-client
Read experiment metrics
Authenticate with the credentials saved by the Syvain Metrics CLI. Then find an experiment and query one metric:
from syvain_metrics_api_client import SyvainMetricsApiClient
with SyvainMetricsApiClient("local", timeout=60.0) as client:
experiments = client.list_experiments(
status="done",
slug="mamba-run-001",
limit=1,
).experiments
if not experiments:
raise RuntimeError("No matching experiment found")
experiment = experiments[0]
catalog = client.query_metrics_catalog([experiment.id])
batches = client.query_metric_series(
[
{
"experiment_id": experiment.id,
"metric_name": "loss",
"metadata_filter": [
{"key": "split", "value": "valid"},
],
}
],
order={"axis": "step", "direction": "asc"},
)
for item in catalog:
print(item.metric_name, item.metadata_keys)
for batch in batches:
for step, timestamp, value in zip(
batch.data.steps,
batch.data.timestamp,
batch.data.value,
strict=True,
):
print(batch.metric_name, batch.metadata, step, timestamp, value)
Each MetricSeriesColumnBatch contains one experiment, metric name, and exact
metadata mapping. Its steps, timestamp, and value arrays are parallel and
have equal lengths.
query_metrics_catalog() returns the available metric names and metadata keys.
It does not return values. Omit metric_name from a series selection to query
every metric in an experiment. In a metadata filter, omit value to select
every series that contains the key.
Set stream=True to parse an NDJSON response incrementally. The method still
returns a complete list[MetricSeriesColumnBatch].
Authentication
SyvainMetricsApiClient("local") reads the credentials written by the Syvain
Metrics CLI. Pass an API key directly when CLI credentials are unavailable:
client = SyvainMetricsApiClient("ak_org_...")
The client defaults to https://metrics.syvain.com. Pass host= only when you
need another Metrics deployment.
Errors
Package errors inherit from MetricsApiError:
MetricsApiRequestErrorreports an HTTP failure or an unreachable API.MetricsApiResponseErrorreports a successful response that violates the expected schema.MetricsApiAuthErrorreports missing or invalid local CLI credentials.
Public methods and key response models carry API details in their docstrings.
Use help(SyvainMetricsApiClient.query_metric_series) or your editor's Python
documentation view to inspect a method.
Release files for syvain-metrics-api-client 0.0.294
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| syvain_metrics_api_client-0.0.294.tar.gz | 16.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| syvain_metrics_api_client-0.0.294-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 35.0 kB
Release files / syvain_metrics_api_client-0.0.294.tar.gz
| Download URL | syvain_metrics_api_client-0.0.294.tar.gz |
|---|---|
| Size | 16.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
edeb668a29f85bb4d3c14b48b2c01131ceb1998eff39ee12d12aafefc0b0ece7
|
|
BLAKE2b-256 checksum How to use checksums |
6017cd9f3c3c04e646030a01a75050e7296f3294805e268f35d1eabd91a75d28
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / syvain_metrics_api_client-0.0.294-py3-none-any.whl
| Download URL | syvain_metrics_api_client-0.0.294-py3-none-any.whl |
|---|---|
| Size | 18.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4c50b7b476c9a3d981ca0a82e9cfc0007fff83a5e51c2a8ab0073f2a1c54a633
|
|
BLAKE2b-256 checksum How to use checksums |
b3949110bdb3add1f035ef35183fde626121674fa84c05d9265ffa998577bddf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|