Skip to content

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 bytes object
  • 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.