Skip to main content

Commutator Studios Python SDK

PyPI Version Python Versions License

Commutator SDK is the official Python client for the Commutator Studios quantum ecosystem. It provides a seamless, developer-friendly interface to integrate quantum workloads, optimization engines, and identity management natively into your Python tech stack.

By connecting to the Centralized API Gateway (commutator.app), this SDK handles authentication, rate-limiting, and billing checks automatically, allowing you to focus on building quantum-accelerated applications.


Features

  • Quantum Fleet Management: Discover, list, and check the status of available quantum backends (e.g., ibm_berlin, ibmq_qasm_simulator). Automatically synchronizes hardware catalog using the authenticated user's quantum provider credentials.
  • Hardware & Algorithmic Recommendations: Interface directly with cs-optimizer to get smart recommendations for hardware and optimization levels (e.g., VQE) before you run your circuits.
  • Job Execution & Polling: Submit quantum circuits, execute jobs on actual quantum hardware, and download results natively into Python objects.
  • Standardized Error Handling: Detailed, structured exceptions (APIError, ValidationError, AuthenticationError) for predictable and easy debugging.
  • ...and more!

Installation

The SDK requires Python 3.11+. You can install it directly from PyPI using pip:

pip install commutator-sdk

Quick Start

Here is a simple example showing how to authenticate, create a job, execute a circuit, and fetch the results.

1. Authentication

You can authenticate using your API Key or Username/Password.

from commutator.client import CommutatorClient

# Initialize the client (Environment is auto-detected)
client = CommutatorClient(api_key="your_api_key_here")

2. Submitting a Quantum Job

Submit your quantum circuit JSON and execute it on a selected backend.

import json
from commutator import ClassicalOptimizer

# 1. Create the Job
job = client.create_job(
    name="My First VQE Run",
    algorithm="VQE",
    file_path="circuit.json"
)
job_id = job["id"]
print(f"Job created successfully: {job_id}")

# 2. Execute the Job with Classical Numerical Optimizer (e.g. COBYLA or Simplex)
client.execute_job(
    job_id=job_id,
    backend="ibm_berlin",
    optimization_level=3,
    optimizer=ClassicalOptimizer.COBYLA  # or "cobyla" / ClassicalOptimizer.SIMPLEX
)
print("Job dispatched to the quantum backend!")

3. Optimizer Recommendations

Not sure which backend or optimization level to use? Ask the Recommendation Engine!

recommendations = client.optimizer.recommend(
    job_id="your_job_id",
    target_backends=["ibm_kingston", "ibm_brisbane"]  # Optional: omit to evaluate all fleet backends
)

print(f"Recommended Backend: {recommendations[0]['provider']}")

Error Handling & Exception Reference

When executing quantum simulation jobs, the SDK automatically inspects the API response errorCode and raises typed Python exceptions providing human-readable diagnostic remedies:

from commutator.client import CommutatorClient
from commutator.exceptions import (
    SimulationOOMError,
    SimulationTimeoutError,
    ProviderAuthenticationError,
    JobFailedError
)

client = CommutatorClient(api_key="your_api_key")

try:
    job_details = client.jobs.get(job_id="5bacd027-267d-4c8e-94c4-5348c48880b3")
except SimulationOOMError as e:
    print(f"❌ Memory Error [{e.error_code}]: {e.message}")
    print(f"💡 Actionable Remedy: {e.remedy}")
except SimulationTimeoutError as e:
    print(f"⏱️ Job Timed Out [{e.error_code}]: {e.message}")
    print(f"💡 Actionable Remedy: {e.remedy}")
except JobFailedError as e:
    print(f"⚠️ Job Execution Failed [{e.error_code}]: {e.message}")

Supported Exception Mapping

API errorCode Enum Raised SDK Exception Class Python Import Path
SIMULATION_OOM SimulationOOMError from commutator.exceptions import SimulationOOMError
SIMULATION_TIMEOUT SimulationTimeoutError from commutator.exceptions import SimulationTimeoutError
PROVIDER_AUTH_FAILED ProviderAuthenticationError from commutator.exceptions import ProviderAuthenticationError
OPTIMIZATION_DIVERGED OptimizationDivergedError from commutator.exceptions import OptimizationDivergedError
Fallback / System Faults JobFailedError from commutator.exceptions import JobFailedError

Advanced Usage

For comprehensive documentation, including detailed API reference, Identity Management (list_api_keys, get_audit_logs), and advanced configuration options, please refer to the official Commutator Studios Documentation.

License

Copyright © 2026 Commutator Studios GmbH. All rights reserved.

Metadata

Release files for commutator-sdk 0.2.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for commutator-sdk 0.2.7
File Size Uploaded Provenance Actions
commutator_sdk-0.2.7.tar.gz 16.9 kB Without provenance Details for commutator_sdk-0.2.7.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for commutator-sdk 0.2.7
File Interpreter ABI Platform Actions
commutator_sdk-0.2.7-py3-none-any.whl Python 3 none any Details for commutator_sdk-0.2.7-py3-none-any.whl

Total release size: 31.3 kB

Release files / commutator_sdk-0.2.7.tar.gz

Download URL commutator_sdk-0.2.7.tar.gz
Size 16.9 kB
Tags Source
SHA-256 checksum
How to use checksums
408e70e4b0bc012f9a236af56427a79f0a84d8ab216d2ff3e53a9fedd408846e
BLAKE2b-256 checksum
How to use checksums
6d6fa1ebf764512f4958aff87d5e429abacac20d273b16ff1aef203fc5379bb2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / commutator_sdk-0.2.7-py3-none-any.whl

Download URL commutator_sdk-0.2.7-py3-none-any.whl
Size 14.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fb34821df13b39d7ddec5e28b011beec06a4100fbefac777312cba572bdb025e
BLAKE2b-256 checksum
How to use checksums
53fe8bf10dd06f39e2e30436a950806b3ab4b0dc43aca60761849043f60558ab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.12.15

Security for commutator-sdk 0.2.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page