roboto.domain.files.record
Module Contents
DirectoryRecord
Bases: pydantic.BaseModel
Wire-transmissible representation of a directory within a dataset.
DirectoryRecord represents a logical directory structure within a dataset, containing metadata about the directory’s location and contents. Directories are used to organize files hierarchically within datasets.
Directory records are typically returned when browsing dataset contents or when performing directory-based operations like bulk deletion.
Parameters
data AnyAttributes
DirectoryRecord.association_id
DirectoryRecord.created
DirectoryRecord.created_by
DirectoryRecord.description
DirectoryRecord.directory_id
DirectoryRecord.metadata
DirectoryRecord.modified
DirectoryRecord.modified_by
DirectoryRecord.org_id
DirectoryRecord.origination
DirectoryRecord.parent_id
DirectoryRecord.relative_path
DirectoryRecord.status
DirectoryRecord.storage_type
DirectoryRecord.tags
DirectoryRecord.upload_id
FSType
Bases: roboto.compat.StrEnum
File system type enum
Attributes
FSType.Directory
FSType.File
FSType.Link
A pointer to one version of another file, which may live under a different dataset, device, or org.
A link stores no object of its own. Its record’s uri is roboto://file/<target_file_id>?v=<version> and its size is 0; downloading it fetches the target at that version.
FileRecord
Bases: pydantic.BaseModel
Wire-transmissible representation of a file in the Roboto platform.
FileRecord contains all the metadata and properties associated with a file, including its location, status, ingestion state, and user-defined metadata. This is the data structure used for API communication and persistence.
FileRecord instances are typically created by the platform during file import or upload operations, and are updated as files are processed and modified. The File domain class wraps FileRecord to provide a more convenient interface for file operations.
Parameters
data AnyAttributes
FileRecord.association_id
Properties
FileRecord.bucket
Name of the bucket holding this file’s object.
Raises
This record is a link, which stores no object.
Return type
Attributes
FileRecord.created
FileRecord.created_by
FileRecord.description
FileRecord.device_id
FileRecord.file_id
FileRecord.ingestable
Whether this file is meant to be ingested: its path matched one of its org’s ingestion rules when this version was created or when the file was last renamed or moved, or it has since been partly or fully ingested. A file that is ingestable and ingestion_status not_ingested is awaiting ingestion.
FileRecord.ingestion_status
Properties
FileRecord.is_link
Whether this record is a link to another file rather than a file with an object of its own.
FileRecord.key
Key of this file’s object within bucket.
Raises
This record is a link, which stores no object.
Return type
Attributes
FileRecord.metadata
FileRecord.modified
FileRecord.modified_by
FileRecord.name
FileRecord.org_id
FileRecord.origination
FileRecord.parent_id
FileRecord.relative_path
FileRecord.size
FileRecord.status
FileRecord.storage_type
FileRecord.tags
FileRecord.upload_id
FileRecord.uri
FileRecord.version
FileStatus
Bases: roboto.compat.StrEnum
Enumeration of possible file status values in the Roboto platform.
File status tracks the lifecycle state of a file from initial upload through to availability for use. This status is managed automatically by the platform and affects file visibility and accessibility.
The typical file lifecycle is: Reserved → Available → (optionally) Deleted.
Attributes
FileStatus.Available
File upload is complete and the file is ready for use.
Files with this status are visible in dataset listings, searchable through the query system, and available for download and processing by actions.
FileStatus.Deleted
File is marked for deletion and is no longer accessible.
Files with this status are not visible in listings and cannot be accessed. This status may be temporary during the deletion process.
FileStatus.Reserved
File upload has been initiated but not yet completed.
Files with this status are not yet available for use and are not visible in dataset listings. This is the initial status when an upload begins.
FileStorageType
Bases: roboto.compat.StrEnum
Enumeration of file storage types in the Roboto platform.
Storage type indicates how the file was added to the platform and affects access patterns and permissions. This information is used internally for credential management and access control.
Attributes
FileStorageType.S3Imported
File was imported from a read-only customer-managed S3 bucket.
These files remain in the customer’s bucket and are accessed using customer-provided credentials. The customer retains full control over the file storage and access permissions.
FileStorageType.S3Uploaded
File was uploaded to a Roboto-managed or customer read/write bucket.
These files were explicitly uploaded through the Roboto platform to either a Roboto-managed bucket or a customer’s bring-your-own read/write bucket. Access is managed through Roboto’s credential system.
FileTag
Bases: enum.Enum
Enumeration of system-defined file tag types.
These tags are used internally by the platform for indexing and organizing files. They are automatically applied during file operations and should not be manually modified by users.
Attributes
FileTag.AssociationId
Tag containing the ID of the dataset, device, or org a file is associated with.
FileTag.CommonPrefix
Tag containing the common path prefix for files in a batch operation.
FileTag.DatasetId
Tag containing the ID of the dataset that contains this file.
Deprecated in favour of AssociationId, which names a file’s dataset, device, or org alike. The platform still sets it on its own server-side copies of dataset files.
FileTag.TransactionId
Tag containing the transaction ID for files uploaded in a batch.
IngestionStatus
Bases: roboto.compat.StrEnum
Enumeration of file ingestion status values in the Roboto platform.
Ingestion status tracks whether a file’s data has been processed and extracted into topics for analysis and visualization. This status determines what platform features are available for the file and whether it can trigger automated workflows.
File ingestion happens as a post-upload processing step. Roboto supports many common robotics log formats (ROS bags, MCAP files, ULOG files, etc.) out-of-the-box. Custom ingestion actions can be written for other formats.
When writing custom ingestion actions, be sure to update the file’s ingestion status to mark it as fully ingested. This enables triggers and other automated workflows that depend on complete ingestion.
Ingested files have first-class visualization support and can be queried through the topic data system.
Attributes
IngestionStatus.Ingested
All topics from this file have been fully processed and recorded.
Files with this status have complete topic data available for visualization, analysis, and querying. They are eligible for post-ingestion triggers and automated workflows that depend on complete data extraction.
IngestionStatus.NotIngested
No topics from this file have been processed or recorded.
Files with this status have not undergone data extraction. They cannot be visualized through the topic system and are not eligible for topic-based triggers or analysis workflows.
IngestionStatus.PartlyIngested
Some but not all topics from this file have been processed.
Files with this status have at least one topic record but ingestion is incomplete. Some visualization and analysis features may be available, but the file is not yet eligible for post-ingestion triggers.
is_directory()
Parameters
record Union[FileRecord, DirectoryRecord]Return type
is_file()
Parameters
record Union[FileRecord, DirectoryRecord]Return type