Skip to content

reports

Reports endpoint handlers.

ReportsEndpoint

Bases: BaseEndpoint

Handles report generation API endpoints.

Provides methods for generating aggregated reports across recordings and analyses.

download_project_audit_csv(project_id, *, groups=None, statistics_window_start_ms=None, statistics_window_end_ms=None) async

Download the complete report audit table as CSV text.

The full counterpart of the report payload's capped audit appendix: one row per completed analysis, streamed from metadata (no statistics are computed). groups narrows to the report's by-group cohort; the window override must set both bounds or neither.

Returns:

Type Description
str

The CSV document (header + rows) as text.

get_unique_channels(project_id) async

Get unique channels across all recordings in all studies.

Returns a list of unique channel names with their locations across recordings.

Parameters:

Name Type Description Default
project_id UUID | str

UUID of the project

required

Returns:

Type Description
list[UniqueChannel]

List of unique channels with their locations

Raises:

Type Description
NotFoundError

If project doesn't exist

AuthenticationError

If not authenticated

Example
channels = await client.reports.get_unique_channels(
    project_id=project.id
)
for channel in channels:
    print(f"{channel.channel_name} ({channel.type})")
    print(f"  Found in {len(channel.records)} recordings")