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(
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]. It requests
application/vnd.syvain.metric-series+ndjson and verifies the final completion
record against the received batch and row counts. A stream that ends before
completion raises MetricsApiRequestError; partial results are not returned.
Deploy the API support for this media type before upgrading streaming clients.
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.334
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.334.tar.gz | 16.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| syvain_metrics_api_client-0.0.334-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 36.0 kB
Release files / syvain_metrics_api_client-0.0.334.tar.gz
| Download URL | syvain_metrics_api_client-0.0.334.tar.gz |
|---|---|
| Size | 16.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
321a9b403e583b285d2585af6ec5e6cae3bcc2fe1cd0538ae667a206df171ec0
|
|
BLAKE2b-256 checksum How to use checksums |
f62a103f03e8eff3a5fae044590cac360b7ba3401e23b89dbeba9904c07f8ec4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.12 {"installer":{"name":"uv","version":"0.12.12","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.334-py3-none-any.whl
| Download URL | syvain_metrics_api_client-0.0.334-py3-none-any.whl |
|---|---|
| Size | 19.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a579ca211e50da1f1c3a62a880c04cbdd1806517bf0719e18e1e6fca3ed13030
|
|
BLAKE2b-256 checksum How to use checksums |
a7d86212ab6259b91b57c3c115e58c547695d2710ea54f6aa75c5d6f43929e4f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.12 {"installer":{"name":"uv","version":"0.12.12","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}
|