Payloads Client - NVIDIA/clara-platform-python-client GitHub Wiki
This client can be utilized to create static payloads. Additionally this client can be utilized to upload and download payloads to/from clara jobs.
>>> from payloads_client import PayloadsClient
>>> import nvidia_clara.payload_types as payload_types
# Client Creation with IP and Port of running instance of Clara
>>> clara_ip_address = "10.0.0.1"
>>> clara_port = "30031"
>>> payload_client = PayloadsClient(target=clara_ip_address, port=clara_port)
# Create static Payload
>>> payload_details = payload_client.create_payload()
<payload_types.PayloadDetails object at 0x05F2CF28>
>>> payload_details.payload_id.value
'a27b8ab967f04582855b7cc4a702e6d3'
# Delete Payload
>>> payload_client.delete_payload(payload_id=payload_details.payload_id)
# Create BinaryIO stream object with write permissions and download from payload identifier: example_payload_identifier
>>> with open('output.dcm', 'wb') as wb:
... payload_client.download_from(payload_id=payload_types.PayloadId(example_payload_identifier),
... blob_name='./input/I114.dcm',
... dest_obj=wb)
# Uploading BinaryIO stream to a new blob
# Create BinaryIO stream with read permissions (for sake of example: reading previous output stream)
>>> with open('output.dcm', 'rb') as rb:
... payload_client.upload(payload_id=payload_types.PayloadId(example_payload_identifier),
... blob_name='./test/new_blob.dcm', file_object=rb)
# Get Details (including List of Files) of a Payload
>>> get_details = payload_client.get_details(payload_id=payload_types.PayloadId(example_payload_identifier))
<payload_types.PayloadDetails object at 0x0573DF28>
>>> file_details = get_details.file_details
[<clara_client.payload_types.PayloadFileDetails object at 0x05AFFF88>, <clara_client.payload_types.PayloadFileDetails object at 0x05AF1FE8>, ... ]
>>> file_details[0].mode
0
>>> file_details[0].name
'/input/I101.dcm'
>>> file_details[0].size
525414