Skip to main content

QAT-RPC

ZeroMQ-based RPC tooling for the OQC QAT (Quantum Assembly Toolchain) compiler and runtime. Enables remote execution of quantum programs (OpenQASM / QIR) through a client-server architecture with Prometheus metrics export.

Quick start

Starting the server

# In development (with Poetry)
poetry run qat_server

# Or directly via Python module
poetry run python -m qat_rpc.zmq.server

# After pip install (system-wide)
qat_server

The server is configured through environment variables:

Variable Description Default
RECEIVER_PORT ZMQ server port 5556
METRICS_PORT Prometheus exporter port 9250
QAT_CONFIG_PATH Path to QAT config file None - runs in echo mode
ENABLE_COMPILE_ENDPOINT Enable compile/execute endpoints true

Using the client

from qat_rpc.zmq import ZMQClient

client = ZMQClient()

# Compile and execute a program
results = client.execute_task(program, config)

# Or compile and execute separately
compiled = client.compile_program(program, config)
results = client.execute_compiled(compiled["package"], config)

# Query hardware information
version = client.api_version()
couplings = client.qpu_couplings()

CLI

# In development (with Poetry)
poetry run qat_comexe path/to/program.qasm --config '{"repeats": 100}'

# After pip install
qat_comexe path/to/program.qasm --config '{"repeats": 100}'

# QIR text or binary bitcode
poetry run qat_comexe path/to/program.ll
poetry run qat_comexe path/to/program.bc

# Pass a program string directly
poetry run qat_comexe "OPENQASM 2.0; ..." --host 192.168.1.10 --port 5556

Installation

We use Poetry for dependency management and require Python 3.10+.

poetry install

Development

Running checks

All checks are managed via Poe the Poet:

# Run all checks (format, lint, types, deps, licenses, vuln, test)
poetry run poe checks

# Individual tasks
poetry run poe format    # check formatting
poetry run poe lint      # ruff linting
poetry run poe types     # pyright type checking
poetry run poe test      # run tests
poetry run poe deps      # deptry + import-linter
poetry run poe vuln      # bandit + pip-audit

# Auto-fix formatting and lint issues
poetry run poe fix

Contributing

To take the first steps towards contributing to QAT-RPC, visit our contribution documents, which provides details about our process.

We also encourage new contributors to familiarise themselves with the code of conduct and to adhere to these expectations.

Assistance

For support, please reach out in the discussions tab of this repository or file an issue.

Licence

This code in this repository is licensed under the BSD 3-Clause Licence. Please see LICENSE for more information.

Feedback

Please let us know your feedback and any suggestions by reaching out in Discussions. Additionally, to report any concerns or code of conduct violations please use this form.

Metadata

Release files for qat-rpc 1.0.0

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

Source distribution (sdist)

Source distribution for qat-rpc 1.0.0
File Size Uploaded Provenance Actions
qat_rpc-1.0.0.tar.gz 17.2 kB With provenance Details for qat_rpc-1.0.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for qat-rpc 1.0.0
File Interpreter ABI Platform Actions
qat_rpc-1.0.0-py3-none-any.whl Python 3 none any Details for qat_rpc-1.0.0-py3-none-any.whl

Total release size: 37.3 kB

Release files / qat_rpc-1.0.0.tar.gz

Download URL qat_rpc-1.0.0.tar.gz
Size 17.2 kB
Tags Source
SHA-256 checksum
How to use checksums
aefeaa1941f942c9637505b55567439a6d47007b1a00e36b448fe2b2296dfec5
BLAKE2b-256 checksum
How to use checksums
c48ef8501e11327d704cd930472170b09540afa7ebdfafb675a714c126002f67
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 24, 2026.

Transparency log

Release files / qat_rpc-1.0.0-py3-none-any.whl

Download URL qat_rpc-1.0.0-py3-none-any.whl
Size 20.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5b3f0f25e06ccd84285a684615be4808e5f671d1d442bfc9fa1422b32c381a95
BLAKE2b-256 checksum
How to use checksums
7557b625b22bccf3a0d0211996f9a48397da354d9fdd0f40536f14e9cf00d465
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 24, 2026.

Transparency log

Security for qat-rpc 1.0.0

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for qat_rpc-1.0.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 24, 2026.

Transparency log

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