qcs-sdk-python 0.21.22

Python bindings to qcs-sdk-rust
Documentation
import pytest

from qcs_sdk.qpu.translation import (
    TranslationError,
    translate,
    translate_async,
    get_quilt_calibrations,
    get_quilt_calibrations_async,
)


@pytest.mark.qcs_session
def test_translate(
    native_bitflip_program: str,
    quantum_processor_id: str,
):
    translated = translate(native_bitflip_program, 1, quantum_processor_id)
    assert translated.program


@pytest.mark.qcs_session
def test_translate_error(
    quantum_processor_id: str,
):
    with pytest.raises(TranslationError):
        translate("DECLARE --", 1, quantum_processor_id)


@pytest.mark.qcs_session
@pytest.mark.asyncio
async def test_translate_async(
    native_bitflip_program: str,
    quantum_processor_id: str,
):
    translated = await translate_async(native_bitflip_program, 1, quantum_processor_id)
    assert translated.program


@pytest.mark.qcs_session
def test_get_quilt_calibrations(
    quantum_processor_id: str,
):
    program = get_quilt_calibrations(quantum_processor_id)
    assert program


@pytest.mark.qcs_session
def test_get_quilt_calibrations_error():
    with pytest.raises(TranslationError):
        get_quilt_calibrations("--")


@pytest.mark.qcs_session
@pytest.mark.asyncio
async def test_get_quilt_calibrations(
    quantum_processor_id: str,
):
    program = await get_quilt_calibrations_async(quantum_processor_id)
    assert program


def test_translation_backend():
    from qcs_sdk.qpu.translation import TranslationBackend, TranslationOptions

    opts = TranslationOptions()
    assert opts.backend is None
    opts.use_backend_v1()
    assert opts.backend == TranslationBackend.V1
    opts.use_backend_v2()
    assert opts.backend == TranslationBackend.V2