Payload Software Update

Payload software update service gRPC client.

This is used by Spot payloads to coordinate updates of their own software with Spot.

class bosdyn.client.payload_software_update.PayloadSoftwareUpdateClient[source]

Bases: BaseClient

A client for payloads to coordinate software updates with a robot.

default_service_name = 'payload-software-update'
service_type = 'bosdyn.api.PayloadSoftwareUpdateService'
send_current_software_info(package_name: str, version: SoftwareVersion | list[int], release_date: float | Timestamp | datetime, build_id: str, **kwargs)[source]

Send version information about the currently installed payload software to Spot.

Parameters:
  • package_name – Name of the package, e.g., “coreio”

  • version – Current semantic version of the installed software.

  • release_date – Release date of the currently installed software.

  • build_id – Unique identifier of the build.

Returns:

The response object from Spot. Currently this message

contains no information other than a standard response header.

Return type:

SendCurrentVersionInfoResponse

Raises:

RpcError – Problem communicating with the robot.

send_current_software_info_async(package_name: str, version: SoftwareVersion | list[int], release_date: float | Timestamp | datetime, build_id: str, **kwargs)[source]

Async version of send_current_software_info().

Parameters:
  • package_name – Name of the package, e.g., “coreio”

  • version – Current semantic version of the installed software.

  • release_date – Release date of the currently installed software.

  • build_id – Unique identifier of the build.

Returns:

The response object from Spot. Currently this message

contains no information other than a standard response header.

Return type:

SendCurrentVersionInfoResponse

Raises:

RpcError – Problem communicating with the robot.

get_available_updates(package_names: str | list[str], **kw_args)[source]

Get a list of package information for the named package(s).

Parameters:

package_names – The package name or list of package names to query.

Returns:

The response object from Spot containing the

version info for packages cached by Spot.

Return type:

GetAvailableSoftwareUpdatesResponse

Raises:

RpcError – Problem communicating with the robot.

get_available_updates_async(package_names: str | list[str], **kw_args)[source]

Async version of get_available_updates().

Parameters:

package_names – The package name or list of package names to query.

Returns:

The response object from Spot containing the

version info for packages cached by Spot.

Return type:

GetAvailableSoftwareUpdatesResponse

Raises:

RpcError – Problem communicating with the robot.

send_installation_status(package_name: str, status: <google.protobuf.internal.enum_type_wrapper.EnumTypeWrapper object at 0x7f110d08bd90>, error_code: <google.protobuf.internal.enum_type_wrapper.EnumTypeWrapper object at 0x7f110d08b040>, **kw_args)[source]

Send a status update of a payload software installation operation to Spot.

Parameters:
  • package_name – Name of the package being updated

  • status – Status code of installation operation

  • error_code – Error code of the installation operation, or ERROR_NONE if no error has been encountered.

Returns:

The response object from Spot. Currently this message

contains nothing beyond a standard response header.

Return type:

SendSoftwareUpdateStatusResponse

Raises:

RpcError – Problem communicating with the robot.

send_installation_status_async(package_name: str, status: <google.protobuf.internal.enum_type_wrapper.EnumTypeWrapper object at 0x7f110d08bd90>, error_code: <google.protobuf.internal.enum_type_wrapper.EnumTypeWrapper object at 0x7f110d08b040>, **kw_args)[source]

Async version of send_installation_status().

Parameters:
  • package_name – Name of the package being updated

  • status – Status code of installation operation

  • error_code – Error code of the installation operation, or ERROR_NONE if no error has been encountered.

Returns:

The response object from Spot. Currently this message

contains nothing beyond a standard response header.

Return type:

SendSoftwareUpdateStatusResponse

Raises:

RpcError – Problem communicating with the robot.

static make_info_request(package_name: str, version: SoftwareVersion, release_date: float | Timestamp | datetime, build_id: str)[source]

Make a SendCurrentVersionInfoRequest message using the supplied information.

Parameters:
  • package_name – Name of the package, e.g., “coreio”

  • version – Current semantic version of the installed software.

  • release_date – Release date of the currently installed software.

  • build_id – Unique identifier of the build.

Returns:

Message communicating to Spot the version information

of the currently installed payload software.

Return type:

SendCurrentVersionInfoRequest