---
sidebar:
  label: roboto.experimental.sessions
  order: 3
title: roboto.experimental.sessions
---
Compose sessions: the operational time windows of a device, and the files that belong to them.

A session can be created empty and composed file by file, or declared whole, with its files and the topic data they carry, in one call. The types describing a file's contents live in [`roboto.experimental.ingest`](/docs/reference/python-sdk/roboto/experimental/ingest).

## Submodules

- [roboto.experimental.sessions.operations](/docs/reference/python-sdk/roboto/experimental/sessions/operations)
- [roboto.experimental.sessions.record](/docs/reference/python-sdk/roboto/experimental/sessions/record)
- [roboto.experimental.sessions.session](/docs/reference/python-sdk/roboto/experimental/sessions/session)

## Package Contents

- [CompletionPolicy](/reference/python-sdk/roboto/experimental/sessions/record#roboto.experimental.sessions.record.CompletionPolicy) (class): When Roboto marks a session complete on its own.

- [CreateSessionIfNotExistsRequest](/reference/python-sdk/roboto/experimental/sessions/operations#roboto.experimental.sessions.operations.CreateSessionIfNotExistsRequest) (class): Request body for `POST /v1/sessions/create_if_not_exists`.

- [FileDeclaration](/reference/python-sdk/roboto/experimental/sessions/operations#roboto.experimental.sessions.operations.FileDeclaration) (class): One already-uploaded file and the topic data it carries.

- [MAX_INGESTION_SUMMARIES](/reference/python-sdk/roboto/experimental/sessions/operations#roboto.experimental.sessions.operations.MAX_INGESTION_SUMMARIES) (data): `MAX_INGESTION_SUMMARIES = 100`. Most sessions one `POST /v1/sessions/ingestion/summaries` takes.

- [MAX_SESSIONS_PER_REQUEST](/reference/python-sdk/roboto/experimental/sessions/operations#roboto.experimental.sessions.operations.MAX_SESSIONS_PER_REQUEST) (data): `MAX_SESSIONS_PER_REQUEST = 100`. Cap on the number of sessions one request may declare on a device; split a larger batch across several calls.

- [PendingIngestionFile](/reference/python-sdk/roboto/experimental/sessions/record#roboto.experimental.sessions.record.PendingIngestionFile) (class): A file in a session that is ingestable and not ingested yet.

- [Session](/reference/python-sdk/roboto/experimental/sessions/session#roboto.experimental.sessions.session.Session) (class): An operational time window of a Device.

- [SessionDeclaration](/reference/python-sdk/roboto/experimental/sessions/operations#roboto.experimental.sessions.operations.SessionDeclaration) (class): One session to create on a device, with the files composing it.

- [SessionFile](/reference/python-sdk/roboto/experimental/sessions/operations#roboto.experimental.sessions.operations.SessionFile) (class): One already-uploaded file that belongs to a session, and the topic data it carries.

- [SessionFileRecord](/reference/python-sdk/roboto/experimental/sessions/record#roboto.experimental.sessions.record.SessionFileRecord) (class): Wire-format row for one file a Session holds, and the part of the file it holds.

- [SessionFileView](/reference/python-sdk/roboto/experimental/sessions/record#roboto.experimental.sessions.record.SessionFileView) (class): One row of the `GET /v1/sessions/id/<session_id>/files` response: a file's place in a Session joined with display fields of the file itself.

- [SessionIngestionState](/reference/python-sdk/roboto/experimental/sessions/record#roboto.experimental.sessions.record.SessionIngestionState) (class): Where a session's ingestion stands.

- [SessionIngestionStatus](/reference/python-sdk/roboto/experimental/sessions/record#roboto.experimental.sessions.record.SessionIngestionStatus) (class): Where a session stands in ingestion, with the files it is still waiting for.

- [SessionIngestionSummariesRequest](/reference/python-sdk/roboto/experimental/sessions/operations#roboto.experimental.sessions.operations.SessionIngestionSummariesRequest) (class): Request body for `POST /v1/sessions/ingestion/summaries`.

- [SessionIngestionSummariesResponse](/reference/python-sdk/roboto/experimental/sessions/operations#roboto.experimental.sessions.operations.SessionIngestionSummariesResponse) (class): Response of `POST /v1/sessions/ingestion/summaries`.

- [SessionIngestionSummary](/reference/python-sdk/roboto/experimental/sessions/record#roboto.experimental.sessions.record.SessionIngestionSummary) (class): Where one session's ingestion stands, in counts: what a sessions list shows per row.

- [SessionRecord](/reference/python-sdk/roboto/experimental/sessions/record#roboto.experimental.sessions.record.SessionRecord) (class): Wire-format row for a session: an operational time window of a Device such as a drone flight, a vehicle drive, or a robot run.

- [SessionStatus](/reference/python-sdk/roboto/experimental/sessions/record#roboto.experimental.sessions.record.SessionStatus) (class): Whether a session is still receiving files.

- [SkipWaitingRequest](/reference/python-sdk/roboto/experimental/sessions/operations#roboto.experimental.sessions.operations.SkipWaitingRequest) (class): Request body for `POST /v1/sessions/id/<session_id>/ingestion/skip`.

- [SkipWaitingResponse](/reference/python-sdk/roboto/experimental/sessions/record#roboto.experimental.sessions.record.SkipWaitingResponse) (class): Response of `POST /v1/sessions/id/<session_id>/ingestion/skip`.

- [SkippedIngestionFile](/reference/python-sdk/roboto/experimental/sessions/record#roboto.experimental.sessions.record.SkippedIngestionFile) (class): A file in a session that is ingestable and not ingested, which the session no longer waits for.
