Skip to content

SDK Reference

Experimental Feature

Managed datasets are an experimental feature currently gated behind a feature flag. Reach out to us on Slack or contact us to learn how to enable it for your project.

For usage examples, see the SDK Guide.

LogfireAPIClient

Method Description
list_datasets() List all datasets in the project.
get_dataset(id_or_name) Get a dataset by UUID or name.
create_dataset(name, *, input_type, output_type, metadata_type, description, guidance) 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, *, tags) List all cases in a dataset. Optionally filter by tags.
get_case(dataset_id_or_name, case_id) Get a specific case.
add_cases(dataset_id_or_name, cases, *, tags, 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, tags) Update an existing case.
delete_case(dataset_id_or_name, case_id) Delete a case.
export_dataset(id_or_name, input_type, output_type, metadata_type) Export as a typed pydantic_evals.Dataset.

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.