Skip to content

SDK Reference

Experimental SDK

The dataset management SDK is under logfire.experimental.api_client. The API may change in future releases.

For usage examples, see the SDK Guide.

LogfireAPIClient

Method Description
list_datasets() List all datasets in the project.
get_dataset(id_or_name, input_type, output_type, metadata_type, *, include_cases) Get a dataset, optionally as a typed pydantic_evals.Dataset. Pass include_cases=False to get metadata only.
push_dataset(dataset, *, name, description, on_case_conflict) Publish a local pydantic_evals.Dataset to hosted storage. Creates or updates the hosted dataset, infers schemas from typed Dataset[...] generics when available, uploads all cases, and returns metadata only.
create_dataset(name, *, input_type, output_type, metadata_type, description) Create a new dataset. Types are converted to JSON schemas automatically.
update_dataset(id_or_name, *, name, input_type, output_type, metadata_type, description) Update a dataset's metadata or schemas.
delete_dataset(id_or_name) Delete a dataset and all its cases.
list_cases(dataset_id_or_name) List all cases in a dataset.
get_case(dataset_id_or_name, case_id) Get a specific case.
add_cases(dataset_id_or_name, cases, *, on_conflict) Add cases to a dataset. Accepts pydantic_evals.Case objects or plain dicts. Uses upsert by default (on_conflict='update'): cases with matching names are updated. Set on_conflict='error' to fail on conflicts.
update_case(dataset_id_or_name, case_id, *, name, inputs, expected_output, metadata, evaluators) Update an existing case.
delete_case(dataset_id_or_name, case_id) Delete a case.

push_dataset(...) rejects dataset-level evaluators and report_evaluators for now, because hosted datasets do not store them yet. Case-level evaluators are still uploaded with their cases.

An async version, AsyncLogfireAPIClient, provides the same methods as async coroutines.

Exceptions

Exception Description
DatasetNotFoundError Raised when a dataset lookup by ID or name finds no match.
CaseNotFoundError Raised when a case lookup finds no match.
DatasetApiError Raised for other API errors. Contains status_code and detail.