Metadata-Version: 2.4
Name: roro-quantum
Version: 0.3.0
Summary: RoRo Quantum SDK — run circuits on the RoRo quantum cloud with an API key
Author: RoRo Quantum
License: MIT
Project-URL: Homepage, https://roroquantum.com
Project-URL: Documentation, https://roroquantum.com/docs/
Project-URL: Source, https://github.com/mgolcu00/roroqs
Project-URL: Issues, https://github.com/mgolcu00/roroqs/issues
Keywords: quantum,qiskit,quantum-computing,roro
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Physics
Classifier: Typing :: Typed
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: httpx>=0.27
Provides-Extra: qiskit
Requires-Dist: qiskit>=1.0; extra == "qiskit"

# roro-quantum (Python SDK)

Run quantum circuits on the [RoRo Quantum](https://roroquantum.com) cloud with an API key.

```bash
pip install roro-quantum            # REST client
pip install "roro-quantum[qiskit]"  # + Qiskit BackendV2 provider
```

## Quickstart

```python
from roro import RoRoClient
from qiskit import QuantumCircuit

qc = QuantumCircuit(2, 2)
qc.h(0); qc.cx(0, 1)
qc.measure_all()

roro = RoRoClient(api_key="qcs_live_…")
job = roro.submit_run("roro.sim.sv", shots=5000, circuit=qc, wait=True)
print(job["status"], job["counts"])   # completed {'00': 2500, '11': 2500}
```

You can also pass raw QASM 2.0 via `qasm=...` instead of `circuit=...`.

## Qiskit provider

```python
from qiskit import QuantumCircuit
from roro.provider import RoRoProvider

qc = QuantumCircuit(2, 2)
qc.h(0); qc.cx(0, 1); qc.measure_all()

backend = RoRoProvider(api_key="qcs_live_…").get_backend("roro.sim.sv")
result = backend.run(qc, shots=5000).result()
print(result.get_counts())
```

## API

| Method | Description |
|--------|-------------|
| `RoRoClient(api_key, base_url=…)` | Create a client |
| `.machines()` | List available targets |
| `.submit_run(target, shots=1024, qasm=None, circuit=None)` | Submit a run |
| `.runs(limit=None, offset=None)` / `.run(id)` | List runs (newest first; paginate with `limit` 1–200 + `offset`, omit for full history) / fetch one |

Errors raise `roro.RoRoError` (with `.status`). Get your API key in the
[console](https://console.roroquantum.com). Full docs: <https://roroquantum.com/docs/>.
