Datasets#
Use datasets when you want to upload input data once and reuse it across multiple jobs.
Create an upload session#
from qcentroid_sdk import QCentroidClient
client = QCentroidClient(
api_key="your-api-key",
)
upload = client.datasets.create_upload(
use_case_name="qcentroid-example-1-sum",
file_name="input.json",
description="Example dataset",
)
print(upload.file_identifier)
print(upload.upload_url)
Upload a dataset in one step#
result = client.datasets.upload(
use_case_name="qcentroid-example-1-sum",
file={"a": 2, "b": 3},
file_name="input.json",
description="Example dataset",
)
print(result.file_identifier)
Supported upload inputs#
The file argument in client.datasets.upload(...) accepts:
- a Python
dict - a Python
list - a
bytesobject - a file path as
str - a
pathlib.Path - a plain text string
Reuse a dataset#
After uploading a dataset, use its file_identifier to launch jobs:
job = client.jobs.run(
use_case_name="maxcut-academic",
dataset_id="your-file-identifier",
solvers=[{"name": "qcentroid-maxcut-random"}],
solvers_provider_params={"qcentroid-maxcut-random": {}},
num_shots=1,
max_exec_time_m=0,
)
Current API note#
Some dataset read endpoints may be exposed by the API but not fully implemented in every environment. The SDK surfaces those responses cleanly so your code can handle them explicitly.