Amazon Braket QDMI Device Implementation
Project description
Amazon Braket QDMI Device
Amazon Braket implementation of the Quantum Device Management Interface (QDMI) specification.
Overview
This library enables any QDMI-compliant quantum software to run on Amazon Braket quantum devices without code changes. Simply link against this library instead of another QDMI implementation, and your OpenQASM circuits will execute on Amazon Braket simulators (and soon real quantum hardware).
What is QDMI?
QDMI (Quantum Device Management Interface) is a standardized C API for quantum devices, developed among others by MQSC. It provides a vendor-neutral interface for:
- Querying device properties (e.g., qubit count, connectivity, gate sets)
- Submitting quantum circuits (e.g., OpenQASM 2.0/3.0)
- Managing QDMI job lifecycle (create, submit, monitor, retrieve results)
- Accessing qubit and gate information (e.g., T1/T2 times, fidelities)
What is Amazon Braket?
TODO
Terminology
Important: This library uses QDMI terminology, which differs from AWS Braket:
| QDMI Term | AWS Braket Equivalent | Description |
|---|---|---|
| Job | QuantumTask | A single quantum circuit execution with specified shots |
| Device | Device | Quantum processor or simulator |
| Session | BraketClient | Connection to AWS Braket service |
Not supported: AWS Braket "Hybrid Jobs" (combined classical and quantum workflows) are not supported by this library. This library only handles QuantumTasks (pure quantum circuit execution).
Supported Amazon Braket Devices
This implementation currently supports submitting jobs to simulator and gate-based Amazon Braket devices. Additionally, support for querying properties (e.g., qubit count, gate set) is implemented for:
| Device Type | Examples |
|---|---|
| Simulators | AWS SV1 (State Vector), AWS DM1 (Density Matrix), AWS TN1 (Tensor Network) |
| Gate-based QPUs | IQM Garnet, IQM Emerald |
Quick Start
Prerequisites
- C++20 compatible compiler
- CMake 3.24 or later
- AWS Credentials configured (see Configuration section below)
Note: Dependencies (AWS SDK for C++, QDMI) are automatically downloaded and built by CMake during the configuration step.
Configuration
AWS Credentials:
This library supports two methods for providing AWS credentials:
Method 1: Credentials File (Recommended for Multi-User Scenarios):
Use the QDMI AUTHFILE parameter to specify a credentials file path:
#include <amazon-braket-qdmi-device/constants.hpp>
AMAZON_BRAKET_QDMI_Device_Session session;
AMAZON_BRAKET_QDMI_device_session_alloc(&session);
// Set credentials file before initialization
const char* credsFile = "/path/to/credentials";
AMAZON_BRAKET_QDMI_device_session_set_parameter(
session, QDMI_DEVICE_SESSION_PARAMETER_AUTHFILE,
strlen(credsFile) + 1, credsFile);
// Configure device and initialize
const char* deviceArn = "arn:aws:braket:::device/quantum-simulator/amazon/sv1";
AMAZON_BRAKET_QDMI_device_session_set_parameter(
session, QDMI_DEVICE_SESSION_PARAMETER_BASEURL,
strlen(deviceArn) + 1, deviceArn);
AMAZON_BRAKET_QDMI_device_session_init(session);
Credentials File Format (Standard AWS INI Format):
[default]
aws_access_key_id=AKIAIOSFODNN7EXAMPLE
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
# Optional for temporary credentials
aws_session_token=IQoJb3JpZ2luX2VjEOT//////////...
Note: The credentials file should contain only one profile section. The parser reads the first profile found. This method allows different sessions to use different credentials within the same process.
Method 2: Direct Parameters:
Use QDMI session parameters to specify credentials programmatically:
#include <amazon-braket-qdmi-device/constants.hpp>
// Set credentials directly via QDMI parameters
const char* accessKey = "AKIAIOSFODNN7EXAMPLE";
AMAZON_BRAKET_QDMI_device_session_set_parameter(
session, QDMI_DEVICE_SESSION_PARAMETER_USERNAME,
strlen(accessKey) + 1, accessKey);
const char* secretKey = "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY";
AMAZON_BRAKET_QDMI_device_session_set_parameter(
session, QDMI_DEVICE_SESSION_PARAMETER_PASSWORD,
strlen(secretKey) + 1, secretKey);
// Optional: session token for temporary credentials (STS, SSO)
const char* sessionToken = "IQoJb3JpZ2luX2VjEOT//////////...";
AMAZON_BRAKET_QDMI_device_session_set_parameter(
session, QDMI_DEVICE_SESSION_PARAMETER_TOKEN,
strlen(sessionToken) + 1, sessionToken);
Available Credential Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
QDMI_DEVICE_SESSION_PARAMETER_AUTHFILE |
char* |
No | Path to AWS credentials file (INI format) |
QDMI_DEVICE_SESSION_PARAMETER_USERNAME |
char* |
No | AWS Access Key ID |
QDMI_DEVICE_SESSION_PARAMETER_PASSWORD |
char* |
No | AWS Secret Access Key |
QDMI_DEVICE_SESSION_PARAMETER_TOKEN |
char* |
No | AWS Session Token (for temporary credentials) |
Device Configuration:
Configure the device using QDMI session parameters:
#include <amazon-braket-qdmi-device/constants.hpp>
// Configure session parameters before initialization
const char* deviceArn = "arn:aws:braket:eu-north-1::device/qpu/iqm/Garnet";
AMAZON_BRAKET_QDMI_device_session_set_parameter(
session, QDMI_DEVICE_SESSION_PARAMETER_BASEURL,
strlen(deviceArn) + 1, deviceArn);
Configuration Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
QDMI_DEVICE_SESSION_PARAMETER_BASEURL |
char* |
Yes | Amazon Braket device ARN |
QDMI_DEVICE_SESSION_PARAMETER_REGION |
char* |
No | AWS region override (extracted from ARN by default) |
QDMI_DEVICE_SESSION_PARAMETER_RESERVATION_ARN |
char* |
No | Braket reservation ARN used for status reporting and inherited by jobs unless a job override is set |
Note: AWS authentication is handled via:
QDMI_DEVICE_SESSION_PARAMETER_AUTHFILEfor credentials files (see AWS Credentials section)QDMI_DEVICE_SESSION_PARAMETER_USERNAME,QDMI_DEVICE_SESSION_PARAMETER_PASSWORD,QDMI_DEVICE_SESSION_PARAMETER_TOKENfor direct credentials
Job Configuration
Each QDMI job (which becomes an Amazon Braket QuantumTask) requires S3 storage configuration for results. Configure using job-level parameters:
#include <amazon-braket-qdmi-device/constants.hpp>
// Create and configure a job
AMAZON_BRAKET_QDMI_Device_Job job;
AMAZON_BRAKET_QDMI_device_session_create_device_job(session, &job);
// Set S3 bucket (required)
const char* s3Bucket = "my-braket-results";
AMAZON_BRAKET_QDMI_device_job_set_parameter(
job, QDMI_DEVICE_JOB_PARAMETER_OUTPUTS3BUCKET,
strlen(s3Bucket) + 1, s3Bucket);
// Set S3 prefix (optional - auto-generates timestamp-based prefix if not set)
const char* s3Prefix = "my-experiment/run-42/";
AMAZON_BRAKET_QDMI_device_job_set_parameter(
job, QDMI_DEVICE_JOB_PARAMETER_OUTPUTS3PREFIX,
strlen(s3Prefix) + 1, s3Prefix);
Job Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
QDMI_DEVICE_JOB_PARAMETER_PROGRAM |
char* |
Yes | OpenQASM circuit source |
QDMI_DEVICE_JOB_PARAMETER_PROGRAMFORMAT |
QDMI_Program_Format |
No | QASM2 or QASM3; default QASM3 |
QDMI_DEVICE_JOB_PARAMETER_SHOTSNUM |
size_t |
No | Number of shots; defaults to 100 |
QDMI_DEVICE_JOB_PARAMETER_OUTPUTS3BUCKET |
char* |
Yes | S3 bucket for quantum task results |
QDMI_DEVICE_JOB_PARAMETER_OUTPUTS3PREFIX |
char* |
No | S3 prefix for results |
QDMI_DEVICE_JOB_PARAMETER_RESERVATION_ARN |
char* |
No | Braket reservation ARN for time window |
Installation
The library uses CMake for building and installation. The workflow mirrors standard CMake practices:
Step 1: Build the Library:
# Clone the repository
git clone https://github.com/munich-quantum-software/amazon-braket-qdmi-device.git
cd amazon-braket-qdmi-device
# Configure
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
# Build
cmake --build build --config Release
Step 2: Install the Library:
# Install to a prefix (e.g., ~/.local or /usr/local)
cmake --install build --prefix /path/to/install
Step 3: Use in Your Project:
In your application's CMakeLists.txt:
cmake_minimum_required(VERSION 3.24)
project(MyQuantumApp)
# Find the installed library
find_package(amazon-braket-qdmi-device REQUIRED)
# Link against your executable
add_executable(my_app main.cpp)
target_link_libraries(my_app amazon-braket-qdmi-device)
Configure your project with:
cmake -S . -B build -DCMAKE_PREFIX_PATH=/path/to/install
cmake --build build
CMake Options
| Option | Default | Description |
|---|---|---|
BUILD_AMAZON_BRAKET_TESTS |
ON |
Build test suite (requires Google Test) |
USE_INSTALLED_AMAZON_BRAKET_QDMI_DEVICE |
OFF |
Use installed library instead of build |
CMAKE_PREFIX_PATH |
- | Path to dependencies (AWS SDK, QDMI) |
Usage
Example Program
#include <amazon_braket_qdmi/device.h>
#include <amazon-braket-qdmi-device/constants.hpp>
#include <cstring>
#include <iostream>
#include <vector>
int main() {
// Initialize the library
AMAZON_BRAKET_QDMI_device_initialize();
// Create session
AMAZON_BRAKET_QDMI_Device_Session session;
AMAZON_BRAKET_QDMI_device_session_alloc(&session);
// Configure credentials (required)
const char* credsFile = "/path/to/credentials";
AMAZON_BRAKET_QDMI_device_session_set_parameter(
session, QDMI_DEVICE_SESSION_PARAMETER_AUTHFILE,
strlen(credsFile) + 1, credsFile);
// Configure device ARN (required)
const char* deviceArn = "arn:aws:braket:::device/quantum-simulator/amazon/sv1";
AMAZON_BRAKET_QDMI_device_session_set_parameter(
session, QDMI_DEVICE_SESSION_PARAMETER_BASEURL,
strlen(deviceArn) + 1, deviceArn);
// Initialize session (connects to Amazon Braket)
AMAZON_BRAKET_QDMI_device_session_init(session);
// Query device properties
size_t qubits;
AMAZON_BRAKET_QDMI_device_session_query_device_property(
session, QDMI_DEVICE_PROPERTY_QUBITSNUM,
sizeof(qubits), &qubits, nullptr);
std::cout << "Device has " << qubits << " qubits\n";
// Create a quantum job
AMAZON_BRAKET_QDMI_Device_Job job;
AMAZON_BRAKET_QDMI_device_session_create_device_job(session, &job);
// Configure S3 bucket for results (required)
const char* s3Bucket = "my-amazon-braket-bucket";
AMAZON_BRAKET_QDMI_device_job_set_parameter(
job, QDMI_DEVICE_JOB_PARAMETER_OUTPUTS3BUCKET,
strlen(s3Bucket) + 1, s3Bucket);
// Configure job parameters
size_t shots = 1000;
AMAZON_BRAKET_QDMI_device_job_set_parameter(
job, QDMI_DEVICE_JOB_PARAMETER_SHOTSNUM,
sizeof(shots), &shots);
QDMI_Program_Format format = QDMI_PROGRAM_FORMAT_QASM3;
AMAZON_BRAKET_QDMI_device_job_set_parameter(
job, QDMI_DEVICE_JOB_PARAMETER_PROGRAMFORMAT,
sizeof(format), &format);
// Submit a Bell state circuit
const char* circuit = R"(OPENQASM 3.0;
qubit[2] q;
bit[2] c;
h q[0];
cnot q[0], q[1];
c[0] = measure q[0];
c[1] = measure q[1];
)";
AMAZON_BRAKET_QDMI_device_job_set_parameter(
job, QDMI_DEVICE_JOB_PARAMETER_PROGRAM,
strlen(circuit) + 1, circuit);
AMAZON_BRAKET_QDMI_device_job_submit(job);
AMAZON_BRAKET_QDMI_device_job_wait(job, 60000); // 60s timeout
// Check results
QDMI_Job_Status status;
AMAZON_BRAKET_QDMI_device_job_check(job, &status);
if (status == QDMI_JOB_STATUS_DONE) {
std::cout << "Job completed successfully\n";
size_t keysSize = 0;
size_t valuesSize = 0;
AMAZON_BRAKET_QDMI_device_job_get_results(
job, QDMI_JOB_RESULT_HIST_KEYS, 0, nullptr, &keysSize);
AMAZON_BRAKET_QDMI_device_job_get_results(
job, QDMI_JOB_RESULT_HIST_VALUES, 0, nullptr, &valuesSize);
std::vector<char> keys(keysSize);
std::vector<size_t> counts(valuesSize / sizeof(size_t));
AMAZON_BRAKET_QDMI_device_job_get_results(
job, QDMI_JOB_RESULT_HIST_KEYS, keysSize, keys.data(), nullptr);
AMAZON_BRAKET_QDMI_device_job_get_results(
job, QDMI_JOB_RESULT_HIST_VALUES, valuesSize, counts.data(), nullptr);
std::cout << "Shot counts: {";
const char* key = keys.data();
for (size_t i = 0; i < counts.size(); ++i) {
std::cout << (i == 0 ? "" : ", ") << '"' << key << "\": " << counts[i];
key += std::strlen(key) + 1;
}
std::cout << "}\n";
}
// Cleanup
AMAZON_BRAKET_QDMI_device_job_free(job);
AMAZON_BRAKET_QDMI_device_session_free(session);
AMAZON_BRAKET_QDMI_device_finalize();
return 0;
}
API Reference
Device Status
The library maps Amazon Braket device states to QDMI status values.
The current UTC time must be inside a window for the device to be reported
as idle.
If the session has QDMI_DEVICE_SESSION_PARAMETER_RESERVATION_ARN set,
public execution windows are ignored
because the session targets a reserved window.
| Amazon Braket Status | QDMI Status | Description |
|---|---|---|
ONLINE (in window, queue < 5) |
QDMI_DEVICE_STATUS_IDLE |
Device is available and ready to accept quantum tasks. |
ONLINE (outside window or queue ≥ 5) |
QDMI_DEVICE_STATUS_BUSY |
Device accepts queued work but is not currently idle. |
ONLINE (reservation set, queue < 5) |
QDMI_DEVICE_STATUS_IDLE |
Device is treated as available through the reservation rather than the public execution window. |
OFFLINE |
QDMI_DEVICE_STATUS_MAINTENANCE |
Device is temporarily unavailable. For example, it could be offline due to scheduled maintenance, upgrades, or operational issues. |
RETIRED |
QDMI_DEVICE_STATUS_OFFLINE |
Device is permanently decommissioned. Task submission is blocked. |
Query the current status using:
QDMI_Device_Status status;
AMAZON_BRAKET_QDMI_device_session_query_device_property(
session, QDMI_DEVICE_PROPERTY_STATUS,
sizeof(status), &status, nullptr);
Supported QDMI Values
Other standard QDMI values return QDMI_ERROR_NOTSUPPORTED.
Device Properties
| Property | Notes |
|---|---|
QDMI_DEVICE_PROPERTY_NAME |
Braket device name |
QDMI_DEVICE_PROPERTY_VERSION |
Library device version |
QDMI_DEVICE_PROPERTY_STATUS |
Current Braket device status |
QDMI_DEVICE_PROPERTY_LIBRARYVERSION |
QDMI version |
QDMI_DEVICE_PROPERTY_QUBITSNUM |
Number of qubits |
QDMI_DEVICE_PROPERTY_SITES |
Qubit handles |
QDMI_DEVICE_PROPERTY_OPERATIONS |
Gate handles |
QDMI_DEVICE_PROPERTY_COUPLINGMAP |
Flat source/target site pairs |
Site Properties
| Property | Notes |
|---|---|
QDMI_SITE_PROPERTY_INDEX |
Site id |
QDMI_SITE_PROPERTY_NAME |
Site name |
QDMI_SITE_PROPERTY_T1 |
When Braket reports it |
QDMI_SITE_PROPERTY_T2 |
When Braket reports it |
Operation Properties
| Property | Notes |
|---|---|
QDMI_OPERATION_PROPERTY_NAME |
Gate name |
QDMI_OPERATION_PROPERTY_QUBITSNUM |
Gate arity |
Job Properties
| Property | Notes |
|---|---|
QDMI_DEVICE_JOB_PROPERTY_PROGRAMFORMAT |
Current program format |
QDMI_DEVICE_JOB_PROPERTY_PROGRAM |
Current program source |
QDMI_DEVICE_JOB_PROPERTY_SHOTSNUM |
Current shot count |
Job Results
| Result | Notes |
|---|---|
QDMI_JOB_RESULT_SHOTS |
Comma-separated shot bitstrings |
QDMI_JOB_RESULT_HIST_KEYS |
Null-separated histogram keys |
QDMI_JOB_RESULT_HIST_VALUES |
size_t counts matching histogram keys |
Lifecycle Functions
| Function | AWS SDK Counterpart | Description |
|---|---|---|
AMAZON_BRAKET_QDMI_device_initialize() |
Aws::InitAPI() |
Initialize the library (call once at startup) |
AMAZON_BRAKET_QDMI_device_finalize() |
Aws::ShutdownAPI() |
Cleanup resources (call once at shutdown) |
Session Management
| Function | AWS SDK Counterpart | Description |
|---|---|---|
AMAZON_BRAKET_QDMI_device_session_alloc() |
(internal allocation) | Allocate a new session |
AMAZON_BRAKET_QDMI_device_session_set_parameter() |
(store session config) | Set credentials, device ARN, and region |
AMAZON_BRAKET_QDMI_device_session_init() |
BraketClient + GetDevice() |
Initialize session and connect to device |
AMAZON_BRAKET_QDMI_device_session_free() |
BraketClient destructor |
Free session resources |
AMAZON_BRAKET_QDMI_device_session_query_device_property() |
(parse GetDevice JSON) | Query device properties |
AMAZON_BRAKET_QDMI_device_session_query_site_property() |
(parse GetDevice JSON) | Query qubit properties |
AMAZON_BRAKET_QDMI_device_session_query_operation_property() |
(parse GetDevice JSON) | Query gate properties |
Job Management (QDMI Jobs → AWS QuantumTasks)
| Function | AWS SDK Counterpart | Description |
|---|---|---|
AMAZON_BRAKET_QDMI_device_session_create_device_job() |
(internal allocation) | Create a new QDMI job |
AMAZON_BRAKET_QDMI_device_job_set_parameter() |
(store job config) | Set job parameters (circuit, shots, format) |
AMAZON_BRAKET_QDMI_device_job_query_property() |
(return stored values) | Query job format, program, and shots |
AMAZON_BRAKET_QDMI_device_job_submit() |
CreateQuantumTask() |
Submit QDMI job as AWS QuantumTask |
AMAZON_BRAKET_QDMI_device_job_check() |
GetQuantumTask() |
Check quantum task status |
AMAZON_BRAKET_QDMI_device_job_wait() |
(poll GetQuantumTask()) |
Wait for quantum task completion |
AMAZON_BRAKET_QDMI_device_job_get_results() |
S3Client::GetObject() |
Retrieve measurement results from S3 |
AMAZON_BRAKET_QDMI_device_job_cancel() |
CancelQuantumTask() |
Cancel a running quantum task |
AMAZON_BRAKET_QDMI_device_job_free() |
(internal cleanup) | Free job resources |
Testing
To run the test suite:
# Build with tests enabled (default)
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
# Set required environment variables for credentials and S3 bucket
export AWS_S3_BUCKET="my-braket-results-bucket"
# Set credentials - choose one method:
# Method 1: Credentials file (recommended for local development)
export AWS_CREDENTIALS_FILE="/path/to/credentials"
# Method 2: Direct credentials (recommended for CI/CD with secrets)
export AWS_ACCESS_KEY_ID="your_access_key_id"
export AWS_SECRET_ACCESS_KEY="your_secret_access_key"
export AWS_SESSION_TOKEN="your_session_token" # Optional
# Run tests
ctest --test-dir build --output-on-failure
Test Configuration:
-
Device ARNs: Hardcoded directly in test code (e.g.,
arn:aws:braket:::device/quantum-simulator/amazon/sv1)- Device ARNs are public identifiers and don't need to be secrets
- Tests use various devices to verify functionality
-
Credentials: Read from environment variables and passed to QDMI parameters
- Method 1:
AWS_CREDENTIALS_FILE→ passed toQDMI_DEVICE_SESSION_PARAMETER_AUTHFILE - Method 2:
AWS_ACCESS_KEY_ID+AWS_SECRET_ACCESS_KEY+AWS_SESSION_TOKEN(optional) → passed to respective QDMI parameters - Method 1 is recommended for local development
- Method 2 is recommended for CI/CD pipelines where credentials are stored as secrets
- Method 1:
-
S3 Bucket: Read from
AWS_S3_BUCKETenvironment variable- Passed to
QDMI_DEVICE_JOB_PARAMETER_OUTPUTS3BUCKETin job tests
- Passed to
Note: The library itself does not read environment variables directly. Tests read env vars for sensitive data (credentials, S3 bucket) and call QDMI set parameter functions, which is the same pattern your production code should use.
Project Structure
amazon-braket-qdmi-device/
├── CMakeLists.txt # Build configuration
├── README.md # This file
├── include/
│ └── amazon-braket-qdmi-device/
│ └── device.hpp # Public API header (QDMI implementation)
├── src/
│ └── device.cpp # Implementation (QDMI↔Amazon Braket)
└── test/
└── test_device.cpp # Integration tests
Architecture
┌─────────────────────────────────────────────────────────────────────┐
│ Your Application │
│ (QDMI-compliant code) │
└─────────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────┐
│ Amazon Braket QDMI Device │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ QDMI Functions │ AWS SDK Calls │ │
│ ├─────────────────────────────┼───────────────────────────────┤ │
│ │ device_session_init() │ BraketClient::GetDevice() │ │
│ │ device_job_submit() │ CreateQuantumTask() │ │
│ │ device_job_check() │ GetQuantumTask() │ │
│ │ device_job_get_results() │ S3Client::GetObject() │ │
│ └─────────────────────────────┴───────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────┐
│ Amazon Braket │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ AWS SV1 │ | AWS DM1 │ | AWS TN1 | ... │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
└─────────────────────────────────────────────────────────────────────┘
Support
For issues related to:
- This library: Open an issue on this repository
- QDMI specification: See QDMI repository
- Amazon Braket: See Amazon Braket documentation
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file amazon_braket_qdmi-1.0.1.tar.gz.
File metadata
- Download URL: amazon_braket_qdmi-1.0.1.tar.gz
- Upload date:
- Size: 75.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fcec77761b77923057c605f7e0a41c746bf4564e2b40d0f5dc07e45d6f0bf290
|
|
| MD5 |
4618949659b6c8390a598ba996275df1
|
|
| BLAKE2b-256 |
8a0b93a53e02809b7a14027394097ebce88332ba24da6fb89f5258ade10997b2
|
Provenance
The following attestation bundles were made for amazon_braket_qdmi-1.0.1.tar.gz:
Publisher:
cd.yml on munich-quantum-software/amazon-braket-qdmi-device
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
amazon_braket_qdmi-1.0.1.tar.gz -
Subject digest:
fcec77761b77923057c605f7e0a41c746bf4564e2b40d0f5dc07e45d6f0bf290 - Sigstore transparency entry: 1963824264
- Sigstore integration time:
-
Permalink:
munich-quantum-software/amazon-braket-qdmi-device@19f6d9341615ae510e71faed02fd9790f7e967e7 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/munich-quantum-software
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
cd.yml@19f6d9341615ae510e71faed02fd9790f7e967e7 -
Trigger Event:
release
-
Statement type:
File details
Details for the file amazon_braket_qdmi-1.0.1-py310-none-win_arm64.whl.
File metadata
- Download URL: amazon_braket_qdmi-1.0.1-py310-none-win_arm64.whl
- Upload date:
- Size: 1.2 MB
- Tags: Python 3.10, Windows ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ba55a2be5af79381d15bc25c42f266f1a1940f94f7317d18a253ea81b4557191
|
|
| MD5 |
a7a7cb0a13adea83b4b7d0140fb77d8e
|
|
| BLAKE2b-256 |
3f23935d4eaa6551c9471ef8beffa51b97527a5589d2c4d6042d11524797f353
|
Provenance
The following attestation bundles were made for amazon_braket_qdmi-1.0.1-py310-none-win_arm64.whl:
Publisher:
cd.yml on munich-quantum-software/amazon-braket-qdmi-device
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
amazon_braket_qdmi-1.0.1-py310-none-win_arm64.whl -
Subject digest:
ba55a2be5af79381d15bc25c42f266f1a1940f94f7317d18a253ea81b4557191 - Sigstore transparency entry: 1963826958
- Sigstore integration time:
-
Permalink:
munich-quantum-software/amazon-braket-qdmi-device@19f6d9341615ae510e71faed02fd9790f7e967e7 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/munich-quantum-software
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
cd.yml@19f6d9341615ae510e71faed02fd9790f7e967e7 -
Trigger Event:
release
-
Statement type:
File details
Details for the file amazon_braket_qdmi-1.0.1-py310-none-win_amd64.whl.
File metadata
- Download URL: amazon_braket_qdmi-1.0.1-py310-none-win_amd64.whl
- Upload date:
- Size: 1.2 MB
- Tags: Python 3.10, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
512ceedd74ece795cd69c898639dbeb40d2fbd96cefc97e61d706aa359684dc3
|
|
| MD5 |
b208f86dee3ce82a4758dd0f8bec5074
|
|
| BLAKE2b-256 |
05a1dfb5a1055677423168dde082dea99e370b81c4a35ba44fa0e45852e2c7b2
|
Provenance
The following attestation bundles were made for amazon_braket_qdmi-1.0.1-py310-none-win_amd64.whl:
Publisher:
cd.yml on munich-quantum-software/amazon-braket-qdmi-device
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
amazon_braket_qdmi-1.0.1-py310-none-win_amd64.whl -
Subject digest:
512ceedd74ece795cd69c898639dbeb40d2fbd96cefc97e61d706aa359684dc3 - Sigstore transparency entry: 1963826404
- Sigstore integration time:
-
Permalink:
munich-quantum-software/amazon-braket-qdmi-device@19f6d9341615ae510e71faed02fd9790f7e967e7 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/munich-quantum-software
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
cd.yml@19f6d9341615ae510e71faed02fd9790f7e967e7 -
Trigger Event:
release
-
Statement type:
File details
Details for the file amazon_braket_qdmi-1.0.1-py310-none-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: amazon_braket_qdmi-1.0.1-py310-none-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 12.0 MB
- Tags: Python 3.10, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ab88b960b63a8f1c8dcbe4f91fbacf5d1603e9cd40d032d575f63fd069bd9721
|
|
| MD5 |
04a51337c587c72f92ca803e9bbab099
|
|
| BLAKE2b-256 |
96068807e5e2e4da9081f592828989a57a8307806180481e16eb47308749d8af
|
Provenance
The following attestation bundles were made for amazon_braket_qdmi-1.0.1-py310-none-musllinux_1_2_x86_64.whl:
Publisher:
cd.yml on munich-quantum-software/amazon-braket-qdmi-device
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
amazon_braket_qdmi-1.0.1-py310-none-musllinux_1_2_x86_64.whl -
Subject digest:
ab88b960b63a8f1c8dcbe4f91fbacf5d1603e9cd40d032d575f63fd069bd9721 - Sigstore transparency entry: 1963826720
- Sigstore integration time:
-
Permalink:
munich-quantum-software/amazon-braket-qdmi-device@19f6d9341615ae510e71faed02fd9790f7e967e7 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/munich-quantum-software
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
cd.yml@19f6d9341615ae510e71faed02fd9790f7e967e7 -
Trigger Event:
release
-
Statement type:
File details
Details for the file amazon_braket_qdmi-1.0.1-py310-none-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: amazon_braket_qdmi-1.0.1-py310-none-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 11.7 MB
- Tags: Python 3.10, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a258ed7102051bcad3e548f3ae4402c0f4f7fbd9d9824e2c80f92d9fd3047aaa
|
|
| MD5 |
55a0b5b494e4f5090f456c510287e443
|
|
| BLAKE2b-256 |
eff39f88848386b11b4c6184ea14e0c1751fb50a6753cea84cf9574076819974
|
Provenance
The following attestation bundles were made for amazon_braket_qdmi-1.0.1-py310-none-musllinux_1_2_aarch64.whl:
Publisher:
cd.yml on munich-quantum-software/amazon-braket-qdmi-device
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
amazon_braket_qdmi-1.0.1-py310-none-musllinux_1_2_aarch64.whl -
Subject digest:
a258ed7102051bcad3e548f3ae4402c0f4f7fbd9d9824e2c80f92d9fd3047aaa - Sigstore transparency entry: 1963825537
- Sigstore integration time:
-
Permalink:
munich-quantum-software/amazon-braket-qdmi-device@19f6d9341615ae510e71faed02fd9790f7e967e7 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/munich-quantum-software
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
cd.yml@19f6d9341615ae510e71faed02fd9790f7e967e7 -
Trigger Event:
release
-
Statement type:
File details
Details for the file amazon_braket_qdmi-1.0.1-py310-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: amazon_braket_qdmi-1.0.1-py310-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 11.0 MB
- Tags: Python 3.10, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c10141ac03b12a5fcc335c35a857dad8543b39aff18d00a65c8f535184d59054
|
|
| MD5 |
82c9a198281a5236d4aabcf8d6803ffc
|
|
| BLAKE2b-256 |
43948503a4e6f51a97e40e3ad5409d5d2af7076ac24478f5fa16811844ea39df
|
Provenance
The following attestation bundles were made for amazon_braket_qdmi-1.0.1-py310-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
cd.yml on munich-quantum-software/amazon-braket-qdmi-device
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
amazon_braket_qdmi-1.0.1-py310-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
c10141ac03b12a5fcc335c35a857dad8543b39aff18d00a65c8f535184d59054 - Sigstore transparency entry: 1963826097
- Sigstore integration time:
-
Permalink:
munich-quantum-software/amazon-braket-qdmi-device@19f6d9341615ae510e71faed02fd9790f7e967e7 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/munich-quantum-software
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
cd.yml@19f6d9341615ae510e71faed02fd9790f7e967e7 -
Trigger Event:
release
-
Statement type:
File details
Details for the file amazon_braket_qdmi-1.0.1-py310-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: amazon_braket_qdmi-1.0.1-py310-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 10.3 MB
- Tags: Python 3.10, manylinux: glibc 2.27+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b6adbb7e494e35f3b0f3de526b7e1f8057741ab605e6d3a7caeca165df53d631
|
|
| MD5 |
66a918520e31e7d3db14fb59ea1f66fc
|
|
| BLAKE2b-256 |
998f5620075c1a0a16bedce198a7706839ba9b4b975dfbc2d9b1834d53cd3095
|
Provenance
The following attestation bundles were made for amazon_braket_qdmi-1.0.1-py310-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:
Publisher:
cd.yml on munich-quantum-software/amazon-braket-qdmi-device
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
amazon_braket_qdmi-1.0.1-py310-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl -
Subject digest:
b6adbb7e494e35f3b0f3de526b7e1f8057741ab605e6d3a7caeca165df53d631 - Sigstore transparency entry: 1963825776
- Sigstore integration time:
-
Permalink:
munich-quantum-software/amazon-braket-qdmi-device@19f6d9341615ae510e71faed02fd9790f7e967e7 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/munich-quantum-software
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
cd.yml@19f6d9341615ae510e71faed02fd9790f7e967e7 -
Trigger Event:
release
-
Statement type:
File details
Details for the file amazon_braket_qdmi-1.0.1-py310-none-macosx_11_0_x86_64.whl.
File metadata
- Download URL: amazon_braket_qdmi-1.0.1-py310-none-macosx_11_0_x86_64.whl
- Upload date:
- Size: 5.0 MB
- Tags: Python 3.10, macOS 11.0+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
76334a4aa3b5d65c6b257e5c6e558e02f1d43299c2f6c3214e48c0296cf60106
|
|
| MD5 |
9617d6a5064a3bb4a43b92d222e57a79
|
|
| BLAKE2b-256 |
e9e1bca6ceb3a04e0d8fe3b83e3dd4ffdcaed08069808d87ff89cab7a9c7528b
|
Provenance
The following attestation bundles were made for amazon_braket_qdmi-1.0.1-py310-none-macosx_11_0_x86_64.whl:
Publisher:
cd.yml on munich-quantum-software/amazon-braket-qdmi-device
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
amazon_braket_qdmi-1.0.1-py310-none-macosx_11_0_x86_64.whl -
Subject digest:
76334a4aa3b5d65c6b257e5c6e558e02f1d43299c2f6c3214e48c0296cf60106 - Sigstore transparency entry: 1963825202
- Sigstore integration time:
-
Permalink:
munich-quantum-software/amazon-braket-qdmi-device@19f6d9341615ae510e71faed02fd9790f7e967e7 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/munich-quantum-software
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
cd.yml@19f6d9341615ae510e71faed02fd9790f7e967e7 -
Trigger Event:
release
-
Statement type:
File details
Details for the file amazon_braket_qdmi-1.0.1-py310-none-macosx_11_0_arm64.whl.
File metadata
- Download URL: amazon_braket_qdmi-1.0.1-py310-none-macosx_11_0_arm64.whl
- Upload date:
- Size: 4.6 MB
- Tags: Python 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ac3a15912f6682f53abcb751995f81b6d38ca6481d7d32afb4a557893a5c8517
|
|
| MD5 |
cef53e2ec977d1a275427f8d484e679e
|
|
| BLAKE2b-256 |
cb6e9881c26022f6aac1b90554351aa02036fda1f4e3ecde37ee98d50ceb8ea8
|
Provenance
The following attestation bundles were made for amazon_braket_qdmi-1.0.1-py310-none-macosx_11_0_arm64.whl:
Publisher:
cd.yml on munich-quantum-software/amazon-braket-qdmi-device
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
amazon_braket_qdmi-1.0.1-py310-none-macosx_11_0_arm64.whl -
Subject digest:
ac3a15912f6682f53abcb751995f81b6d38ca6481d7d32afb4a557893a5c8517 - Sigstore transparency entry: 1963824607
- Sigstore integration time:
-
Permalink:
munich-quantum-software/amazon-braket-qdmi-device@19f6d9341615ae510e71faed02fd9790f7e967e7 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/munich-quantum-software
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
cd.yml@19f6d9341615ae510e71faed02fd9790f7e967e7 -
Trigger Event:
release
-
Statement type: