Skip to main content

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_AUTHFILE for credentials files (see AWS Credentials section)
  • QDMI_DEVICE_SESSION_PARAMETER_USERNAME, QDMI_DEVICE_SESSION_PARAMETER_PASSWORD, QDMI_DEVICE_SESSION_PARAMETER_TOKEN for 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 to QDMI_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
  • S3 Bucket: Read from AWS_S3_BUCKET environment variable

    • Passed to QDMI_DEVICE_JOB_PARAMETER_OUTPUTS3BUCKET in job tests

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:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

amazon_braket_qdmi-1.0.1.tar.gz (75.4 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

amazon_braket_qdmi-1.0.1-py310-none-win_arm64.whl (1.2 MB view details)

Uploaded Python 3.10Windows ARM64

amazon_braket_qdmi-1.0.1-py310-none-win_amd64.whl (1.2 MB view details)

Uploaded Python 3.10Windows x86-64

amazon_braket_qdmi-1.0.1-py310-none-musllinux_1_2_x86_64.whl (12.0 MB view details)

Uploaded Python 3.10musllinux: musl 1.2+ x86-64

amazon_braket_qdmi-1.0.1-py310-none-musllinux_1_2_aarch64.whl (11.7 MB view details)

Uploaded Python 3.10musllinux: musl 1.2+ ARM64

amazon_braket_qdmi-1.0.1-py310-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (11.0 MB view details)

Uploaded Python 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

amazon_braket_qdmi-1.0.1-py310-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (10.3 MB view details)

Uploaded Python 3.10manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

amazon_braket_qdmi-1.0.1-py310-none-macosx_11_0_x86_64.whl (5.0 MB view details)

Uploaded Python 3.10macOS 11.0+ x86-64

amazon_braket_qdmi-1.0.1-py310-none-macosx_11_0_arm64.whl (4.6 MB view details)

Uploaded Python 3.10macOS 11.0+ ARM64

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

Hashes for amazon_braket_qdmi-1.0.1.tar.gz
Algorithm Hash digest
SHA256 fcec77761b77923057c605f7e0a41c746bf4564e2b40d0f5dc07e45d6f0bf290
MD5 4618949659b6c8390a598ba996275df1
BLAKE2b-256 8a0b93a53e02809b7a14027394097ebce88332ba24da6fb89f5258ade10997b2

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file amazon_braket_qdmi-1.0.1-py310-none-win_arm64.whl.

File metadata

File hashes

Hashes for amazon_braket_qdmi-1.0.1-py310-none-win_arm64.whl
Algorithm Hash digest
SHA256 ba55a2be5af79381d15bc25c42f266f1a1940f94f7317d18a253ea81b4557191
MD5 a7a7cb0a13adea83b4b7d0140fb77d8e
BLAKE2b-256 3f23935d4eaa6551c9471ef8beffa51b97527a5589d2c4d6042d11524797f353

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file amazon_braket_qdmi-1.0.1-py310-none-win_amd64.whl.

File metadata

File hashes

Hashes for amazon_braket_qdmi-1.0.1-py310-none-win_amd64.whl
Algorithm Hash digest
SHA256 512ceedd74ece795cd69c898639dbeb40d2fbd96cefc97e61d706aa359684dc3
MD5 b208f86dee3ce82a4758dd0f8bec5074
BLAKE2b-256 05a1dfb5a1055677423168dde082dea99e370b81c4a35ba44fa0e45852e2c7b2

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file amazon_braket_qdmi-1.0.1-py310-none-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for amazon_braket_qdmi-1.0.1-py310-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ab88b960b63a8f1c8dcbe4f91fbacf5d1603e9cd40d032d575f63fd069bd9721
MD5 04a51337c587c72f92ca803e9bbab099
BLAKE2b-256 96068807e5e2e4da9081f592828989a57a8307806180481e16eb47308749d8af

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file amazon_braket_qdmi-1.0.1-py310-none-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for amazon_braket_qdmi-1.0.1-py310-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a258ed7102051bcad3e548f3ae4402c0f4f7fbd9d9824e2c80f92d9fd3047aaa
MD5 55a0b5b494e4f5090f456c510287e443
BLAKE2b-256 eff39f88848386b11b4c6184ea14e0c1751fb50a6753cea84cf9574076819974

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

File hashes

Hashes for amazon_braket_qdmi-1.0.1-py310-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c10141ac03b12a5fcc335c35a857dad8543b39aff18d00a65c8f535184d59054
MD5 82c9a198281a5236d4aabcf8d6803ffc
BLAKE2b-256 43948503a4e6f51a97e40e3ad5409d5d2af7076ac24478f5fa16811844ea39df

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

File hashes

Hashes for amazon_braket_qdmi-1.0.1-py310-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b6adbb7e494e35f3b0f3de526b7e1f8057741ab605e6d3a7caeca165df53d631
MD5 66a918520e31e7d3db14fb59ea1f66fc
BLAKE2b-256 998f5620075c1a0a16bedce198a7706839ba9b4b975dfbc2d9b1834d53cd3095

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file amazon_braket_qdmi-1.0.1-py310-none-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for amazon_braket_qdmi-1.0.1-py310-none-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 76334a4aa3b5d65c6b257e5c6e558e02f1d43299c2f6c3214e48c0296cf60106
MD5 9617d6a5064a3bb4a43b92d222e57a79
BLAKE2b-256 e9e1bca6ceb3a04e0d8fe3b83e3dd4ffdcaed08069808d87ff89cab7a9c7528b

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file amazon_braket_qdmi-1.0.1-py310-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for amazon_braket_qdmi-1.0.1-py310-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ac3a15912f6682f53abcb751995f81b6d38ca6481d7d32afb4a557893a5c8517
MD5 cef53e2ec977d1a275427f8d484e679e
BLAKE2b-256 cb6e9881c26022f6aac1b90554351aa02036fda1f4e3ecde37ee98d50ceb8ea8

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page