Skip to main content

Aria Client SDK API Reference

Overview

This page provides a list of Project Aria Client SDK's Python APIs. There is one global function in this API. Classes appear next in alphabetical order, then enums in alphabetical order.

Global Functions & Methods

See Level in the Enums section.

FunctionTypeDescription
set_log_level(level: Level)NoneSets the SDK logging verbosity.

Classes

Generally, classes in the API maintain state about configurations and processes like streaming and recording. Concerns about security, networking, synchronization, and physical connections are all managed through classes described in this section.

Some classes have properties and methods, some classes have only properties. Properties can be read-only or read-write. Methods are primarily for side-effect, with return type None, with a few exceptions.

aria.sdk.BaseStreamingClientObserver

MethodTypeDescription
on_streaming_client_failure(reason: ErrorCode, message: str)NoneRetrieve streaming failure.
on_image_received(image_and_record: projectaria_tools.core.sensor_data.ImageDataAndRecord)NoneRetrieve image data streamed from rgb, slam1, slam2 or eye-tracking camera sensors.
on_audio_received(audio_and_record: projectaria_tools.core.sensor_data.AudioDataAndRecord)NoneRetrieve audio data streamed from microphone sensors.
on_magneto_received(magneto_data: projectaria_tools.core.sensor_data.MotionData)NoneRetrieve magnetometer data streamed from magnetometer sensor.
on_baro_received(baro_data: projectaria_tools.core.sensor_data.BarometerData)NoneRetrieve barometer data streamed from barometer sensor.
on_imu_received(motion_data: List[projectaria_tools.core.sensor_data.MotionData], imu_idx: int)NoneRetrieve imu data streamed from IMU1 and IMU2 sensors. Use imu_idx to determine the IMU.

aria.sdk.DdsRpcEnabledStatus

PropertyTypeDescription
stateDdsRpcState(read-only) State information about DDS RPC (https://www.omg.org/spec/DDS-RPC/)
strSharedSessionId(read-only) Shared Session uuid for synchronized recordings (see TimeSyncMode)

aria.sdk.Device

Methods

MethodTypeDescription
set_dds_rpc_enabled(enabled: bool, interface: StreamingInterface)NoneEnable or Disable a StreamingInterface to DDS RPC.
dds_rpc_new_session_id()strReturn a new session uuid for DDS RPC

Properties

PropertyTypeDescription
recording_managerRecordingManager(read-only) Recording capabilities
streaming_managerStreamingManager(read-only) Streaming capabilities
infoDeviceInfo(read-only) Device information such as device name and serial number
statusDeviceStatus(read-only) Device status such as battery level and device temperature
factory_calibration_jsonstr(read-only) Device factory calibration as JSON string
wifi_managerWifiManager(read-only) Aria Wi-Fi capabilities
dds_rpc_enabled_statusDdsRpcEnabledStatus(read-only) Status of DDS RPC for the device

aria.sdk.DeviceClient

Methods

MethodTypeDescription
create()DeviceClientCreate DeviceClient instance.
authenticate()NoneAuthenticate your client using the specified config.
connect()DeviceConnect to device via Wifi or via USB using the specified config. If setting both IP address and ADB path, ADB path is ignored.
disconnect(device: Device)NoneDisconnect Device instance from this client.
is_connected(device: Device)boolChecks whether connection with device is established.
set_client_config(config: DeviceClientConfig)NoneSets the config used to authenticate and connect this device as a client.

Properties

PropertyTypeDescription
usb_devicesList[Tuple[str, str]](read-only) List of currently connected USB devices
active_connectionsList[Device](read-only) Current active connected devices

aria.sdk.DeviceClientConfig

PropertyTypeDescription
ip_v4_addressstr(read-write) IP v4 address to use for connecting to the device via Wi-Fi
device_serialstr(read-write) Device serial number used when connecting to the device via USB (only necessary if multiple devices are plugged in)
adb_pathstr(read-write) Specify your own custom version of ADB.
reconnection_attemptsint(read-write) Number of reconnection attempts before time out; defaults to 2

aria.sdk.DeviceInfo

PropertyTypeDescription
boardstr(read-only) Device board name
bootloaderstr(read-only) Bootloader version
brandstr(read-only) Device brand name
devicestr(read-only) Manufacturer's name for the device
hoststr(read-only) Id string for the host
idstr(read-only) Id string for the device
manufacturerstr(read-only) Manufacturer name
modelstr(read-only) Model name
productstr(read-only) Product name
serialstr(read-only) Serial number
timeint(read-only) OS build timestamp
typestr(read-only) Type of the device
userstr(read-only) User name registered for the device

aria.sdk.DeviceStatus

PropertyTypeDescription
battery_levelint(read-only) Battery level
charger_connectedbool(read-only) USB charger cable state
chargingbool(read-only) Charging state
wifi_enabledbool(read-only) WiFi activation state
wifi_configuredbool(read-only) WiFi configuration state
wifi_connectedbool(read-only) WiFi connection state
wifi_ip_addressstr(read-only) WiFi IP address
wifi_device_namestr(read-only) WiFi device name
wifi_ssidstr(read-only) WiFi SSID name
logged_inbool(read-only) Companion App user login state
developer_modebool(read-only) Developer mode state
adb_enabledbool(read-only) ADB state
thermal_mitigation_triggeredbool(read-only) Indicate max level temperature has been reached triggering throttling
skin_temp_celsiusfloat(read-only) Device temperature
default_recording_profilestr(read-only) Default recording profile used when pressing the top right HW button
is_recording_allowedbool(read-only) Recording capability state
device_modeDeviceMode(read-only) Device mode

aria.sdk.Error

PropertyTypeDescription
codeint(read-only) Error code (not the ErrorCode enum)
messagestr(read-only) Human-readable error message

aria.sdk.RecordingConfig

PropertyTypeDescription
profile_namestr(read-write) Sensor's profile name for recording
time_sync_modeTimeSyncMode(read-write) Timesync mode for recording
timecode_triggerbool(read-write) True if this device triggers timecode synchronization

aria.sdk.RecordingManager

Methods

MethodTypeDescription
start_recording()NoneStart recording.
stop_recording()NoneStop recording.
sensors_calibration()strRetrieve the device calibration computed from the sensor profile used to record.

Properties

PropertyTypeDescription
recording_stateRecordingState(read-only) Fetch the current recording state.
recording_configRecordingConfig(read-write) Fetch or set recording parameters such as the sensor's profile.
recording_profilesList[str](read-only) Fetch a list of profile names that can be applied to a recording.
ticsync_statusTicSyncStatus(read-only) Fetch TICSync status for this recording session.

aria.sdk.StreamingClient

Methods

MethodTypeDescription
create()StreamingClientCreate StreamingClient instance.
subscribe(StreamingClient)NoneSubscribe the specified streaming client to data streamed from Aria.
unsubscribe()NoneUnsubscribe from data streamed from Aria.
is_subscribed()boolReturn True if the client is subscribed to data streamed from Aria.
set_streaming_client_observer(observer: StreamingClientObserver)NoneSet the observer to subscribe to the data streamed from Aria.

Property

PropertyTypeDescription
subscription_configStreamingSubscriptionConfig(read-write) Access the streaming subscription config for this streaming session.

aria.sdk.StreamingConfig

PropertyTypeDescription
security_optionsStreamingSecurityOptions(read-write) Security options used to start streaming
topic_prefixstr(read-write) A unique string to prefix all streamed data messages
profile_namestr(read-write) Sensors' profile name used to start streaming
streaming_interfaceStreamingInterface(read-write) Network interface used to start streaming
time_sync_modeTimeSyncMode(read-write) The timesync mode for this streaming session
timecode_triggerbool(read-write) True if this device triggers timecode synchronization

aria.sdk.StreamingManager

Methods

MethodTypeDescription
start_streaming()NoneStart streaming.
stop_streaming()NoneStop streaming.
sensors_calibration()strRetrieve the device calibration computed from the sensors profile used to stream.

Properties

PropertyTypeDescription
streaming_configStreamingConfig(read-write) Used to configure streaming parameters related to network interface, security, and sensor's profile.
streaming_stateStreamingState(read-only) Determine current streaming state.
ticsync_statusTicSyncStatus(read-only) TICSync status for this streaming session
streaming_clientStreamingClient(read-only) Return the StreamingClient object for this streaming session.

aria.sdk.StreamingSecurityOptions

PropertyTypeDescription
use_ephemeral_certsbool(read-write) Use ephemeral certs instead of persistent ones.
local_certs_root_pathstr(read-write) Local directory path where streaming certificates are stored

aria.sdk.StreamingSubscriptionConfig

PropertyTypeDescription
security_optionsStreamingSecurityOptions(read-write) Security options used to subscribe to an existing live secure stream
subscriber_data_typeStreamingDataType(read-write) Data types to subscribe to
message_queue_sizeint(read-write) Size for the message queue; A shorter queue size may be useful if the processing callback is always slow and you wish to process more recent data.
subscriber_namestr(read-write) Subscriber name
subscriber_topic_prefixstr(read-write) The topic used to prefix the existing live stream

aria.sdk.TicSyncStatus

PropertyTypeDescription
server_idstr(read-write) The uuid for the device if the device is a TICSync server
client_idstr(read-write) The uuid for the device if the device is a TICSync client
connection_qualityConnectionQuality(read-write) The connection quality for this TICSync session
synchronization_stabilitySynchronizationStability(read-write) The synchronization stability for this TICSync session

aria.sdk.WifiHotSpotStatus

PropertyTypeDescription
enabledbool(read_write) whether the device has enabled its Wi-Fi hotspot
ssidstr(read_write) the ssid of the hotspot for connecting devices
passphrasestr(read_write) the passphrase for connecting devices

aria.sdk.WifiManager

Methods

MethodTypeDescription
scan_wifi()NoneScan Wi-Fi networks nearby.
connect_wifi(ssid: str, password: str, auth: WifiAuthentication, hidden: bool, username: str, disable_other_networks: bool, skip_internet_check: bool)NoneConnect to Wi-Fi network with the given ssid, credentials, and options.
forget_wifi(ssid: str)NoneForget the Wi-Fi network with the given ssid.
set_device_hotspot_status(enabled: bool, band5GHz: bool = False, country_code: str = "US")NoneTurn on or off the Wi-Fi hotspot, defaulting to 2.4 GHz and country code "US".
keep_wifi_on(keep_on: bool)NoneTurn on or off the keep_on attribute of the Wi-Fi manager.

Properties

PropertyTypeDescription
device_hotspot_statusWifiHotSpotStatus(read-only) An enabled flag, an ssid, and a passphrase
wifi_statusWifiStatus(read-only) Information about available Wi-Fi networks

aria.sdk.WifiNetwork

PropertyTypeDescription
ssidstr(read-write) the ssid of the Wi-Fi network
authList[WifiAuthentication](read-write) authentication methods offered by the Wi-Fi network
signalOptional[int](read-write) signal strength in dBm (usually -30 to -100)

aria.sdk.WifiScanResult

PropertyTypeDescription
networksList[WifiNetwork](read-write) Networks in range
device_mac_addressstr(read-write) This device's MAC address in standard format

aria.sdk.WifiStatus

PropertyTypeDescription
enabledbool(read-write) Whether the device has enabled Wi-Fi networking
networkWifiNetwork(read-write) Information about the Wi-Fi network
reachabilityOptional[ReachabilityStatus](read-write) Reachability information about the Wi-Fi connection
known_networksList[WifiNetwork](read-write) Known Wi-Fi networks within range of this device

Enums

Enums specify choices or outcomes for various properties and methods in the classes such as modes, states, statuses, and types.

aria.sdk.CameraId

NameDescription
Slam1Slam camera 1 sensor
Slam2Slam camera 2 sensor
RgbRgb camera sensor
EyeTrackEye tracking camera sensors
InvalidUnknown camera sensor

aria.sdk.ConnectionQuality

NameDescription
UnknownNo connection-quality information ia available for this TICSync session.
GoodThe connection quality is good for this TICSync session.
MediumThe connection quality is acceptable for this TICSync session.
BadThe connection quality is bad for this TICSync session.

aria.sdk.DdsRpcState

NameDescription
OnDDS RPC is on for the current connection
OffDDS RPC is off for the current connection

aria.sdk.ErrorCode

NameDescription
ConnectionLostConnection has been lost.
AdbAn error occurred in the interface to Android.
UnknownErrorAn unknown error occurred.
BadRequestA bad request was made.
UnsupportedMethodAn unsupported method was called.
BatteryTooLowDevice battery is too low to continue.
BadArgumentAn invalid argument was passed to a method in the API.
AuthenticationFailureAuthentication failed for a device.
TimedOutA request timed out waiting for a response.
AlreadyInProgressThe requested operation is already in progress.
InternalErrorAn internal error was encountered.
WifiNoNetworkNo Wi-Fi network can be found in range of the device.
WifiInvalidAuthAuthentication failed on the Wi-Fi network.
BadAccessTokenA bad access token was passed.
DeviceWifiErrorThe device encountered a Wi-Fi error.
DeviceBleErrorAn error occurred with BLE (Bluetooth Low Energy).
WifiNoInternetNo Internet connection is available on this Wi-Fi connection.
WifiAuthTimeoutWi-Fi authentication or authorization failed.
WifiIpConfigFailIP configuration for Wi-Fi failed.
OperationNotAllowedThe requested operation is not allowed.
FailedToStartRecordingThe recording failed to start.
FailedToStopRecordingThe recording failed to stop.
RecordingInProgressRecording is already in progress.
NoRecordingInProgressRecording is not in progress.
InvalidRecordingProfileThe recording profile is invalid.
FailedToListRecordingsStored recordings could not be listed.
FwUpdateInProgressPort-forwarding update is in progress.
PrivacySwitchOnThe hardware privacy switch is in the ON position on the device.
RecordingNotFoundThe requested recording could not be found.
GpsRfcalInvalidGPS RF calibration is invalid.
InvalidDeviceCalibrationThe device calibration is invalid.
LowBatteryLevelThe device's battery level is critically low (warning).
LowDiskSpaceThe device's storage space is low (warning).
FailedToStartStreamingStreaming from or to the device failed to start.
FailedToStopStreamingStreaming from or to the device failed to stop.
UploadAlreadyStartedUploading to the device has already started.
UploadEmptyRecordingAn attempt was made to upload an empty recording.
UploadEmptyMetadataAn attempt was made to upload empty metadata.
UploadInvalidMetadataAn attempt was made to upload invalid metadata.
WifiConnectionFailedWi-Fi connection attempt failed.
TimecodeNotReceivedAn expected timecode synchronization message was not received.
NtpTimeSyncFailedSynchronization by NTP failed.
TicSyncWifiConfigFailedTICSync Wi-Fi configuration failed.
TicSyncStatusFailedTICSync status check failed.
InvalidStreamingInterfaceAn invalid StreamingInterface enum was specified.
UsbRndisConnectionFailedThe RNDIS specification failed for a USB connection.
UsbNcmConnectionFailedThe NCM specification failed for a USB connection.
PhoneGpsUpdateFailedThe device failed to update GPS.
DdsDiscoveryFailedDDS Discovery failed.
SharedSessionIdNotReceivedThe shared session id for synchronized recordings was not received.
ThumbnailNotFoundNo thumbnail was found for the specified recording.
DefaultRecordingProfileNotSetNo default recording profile has been set.
StreamingCertsInstallFailedFailed to install certificates for streaming.
StreamingCertsUninstallFailedFailed to un-install certificates for streaming.
StreamingCertsNotFoundStreaming certificates were not found.
DdsRpcSetEnabledFailedFailed to set DDS RPC.
DdsRpcGetSessionIdFailedFailed to fetch a session id for DDS RPC.
DdsRpcUpdateSessionIdFailedFailed o update the session id for DDS RPC.
WifiScanConfigFailedThe Wi-Fi scanning configuration failed.
StreamingNotAllowedStreaming is not allowed.
StreamingSetupFailedStreaming setup failed.
NewFilenameExistsA file with the specified name already exists on the device.
FileNotFoundA file with the specified name could not be found on the device.
InvalidFilenameThe specified filename is invalid on the device.
TlsClientCertsErrorThe TLS certificate on the device is invalid.

aria.sdk.Level

NameDescription
DisabledDisable all logs.
ErrorPrint only error logs.
WarningPrint warning and error logs.
InfoPrint info, warning, and error logs (default).
DebugPrint debug, info, warning, and error logs.
TracePrint all logs.

aria.sdk.ReachabilityStatus

NameDescription
OkThe Wi-Fi network has full reachability.
OculusServerUnreachableThe Oculus server is unreachable through this Wi-Fi network.
InternetUnreachableThe internet is unreachable through this Wi-Fi network.
RouterUnreachableThe router is unreachable for this Wi-Fi network.

aria.sdk.RecordingState

NameDescription
UnknownRecording state not known
NotStartedRecording not started
StartedRecording stopped
StreamingRecording in progress
StoppedRecording stopped

aria.sdk.StreamingDataType

NameDescription
UnknownUnknown streaming data type
RgbRgb sensor data
SlamSlam1 and Slam2 sensors data
EyeTrackEye tracking sensors data
AudioMicrophones data
ImuImu sensors data
MagnetoMagnetometer sensor data
BaroBarometer sensor data
TimeSyncTimesync data topic

aria.sdk.StreamingInterface

NameDescription
WifiStationStream through Wi-Fi router
UsbStream through USB cable

aria.sdk.StreamingStability

NameDescription
WarmingUpTICSync is still warming up.
StableTICSync has stabilized.

aria.sdk.StreamingState

NameDescription
UnknownStreaming state unknown
NotStartedStreaming not started
StartedStreaming started
StreamingStreaming in progress
StoppedStreaming stopped

aria.sdk.TimeSyncMode

NameDescription
NotEnabledTimesync is not enabled for this recording.
TimecodeTimecode timesync is enabled for this recording.
NtpNTP timesync is enable for this recording.
TicSyncClientTICSync is enabled for this recording and this device is a TICSync client.
TicSyncServerTICSync is enabled for this recording and this device is a TICSync server.

aria.sdk.WifiAuthentication

NameDescription
NoneNo authentication
EapEAP authentication
WpaWPA authentication
WepWEP authentication