# Fire Opal RIKEN Client
This is the Fire Opal client integration for RIKEN quantum computing infrastructure using a gRPC client.
## Architecture Overview
- **Client**: Qiskit `SamplerV2` implementation that sends circuits to Fire Opal server for optimization
- **Server**: gRPC service that performs Fire Opal preprocessing/postprocessing
## Usage
Here is a small example of how to use the Fire Opal RIKEN client with Qiskit. This will communicate with a gRPC server to perform Fire Opal pre-processing on a quantum circuit before executing it on the `ibm_kobe` backend. Once the job is complete, results post-processed by Fire Opal will be returned from the `job.result()` call.
```python
import os
from qiskit import QuantumCircuit
from qiskit.providers import BackendV2
from fireopalrikenclient.sampler import FireOpalSampler
from fireopalrikenclient.utils.client import FireOpalClient
# Create circuit.
circuit = QuantumCircuit(2)
circuit.h(0)
circuit.cx(0, 1)
circuit.measure_all()
# Create gRPC client with server address stored in an environment variable.
os.environ["FIRE_OPAL_GRPC_SERVER_ADDRESS"] = "localhost:50051" # Update to server address
# Create sampler with Fire Opal preprocessing.
service = QiskitRuntimeService(token="...", instance="...", channel="ibm_quantum_platform")
sampler = FireOpalSampler(mode=service.backend("ibm_kobe"))
# Run with Fire Opal optimization.
sampler_pub = (circuit, None, 1024)
job = sampler.run([sampler_pub])
result = job.result()
```
Raw data
{
"_id": null,
"home_page": null,
"name": "qctrl-fire-opal-riken-client",
"maintainer": "Q-CTRL",
"docs_url": null,
"requires_python": "<3.13,>=3.11",
"maintainer_email": "support@q-ctrl.com",
"keywords": "black opal, boulder opal, fire opal, ironstone opal, nisq, open controls, q control, q ctrl, q-control, q-ctrl, qcontrol, qctrl, quantum, quantum algorithms, quantum circuits, quantum coding, quantum coding software, quantum computing, quantum control, quantum control software, quantum control theory, quantum engineering, quantum error correction, quantum firmware, quantum fundamentals, quantum navigation, quantum sensing, qubit, qudit, riken",
"author": "Q-CTRL",
"author_email": "support@q-ctrl.com",
"download_url": "https://files.pythonhosted.org/packages/4f/1c/c4b480f55407674ffe1d93d434c93a283c6184aa83c72f78fd9483de929c/qctrl_fire_opal_riken_client-0.1.0.tar.gz",
"platform": null,
"description": "# Fire Opal RIKEN Client\n\nThis is the Fire Opal client integration for RIKEN quantum computing infrastructure using a gRPC client.\n\n## Architecture Overview\n\n- **Client**: Qiskit `SamplerV2` implementation that sends circuits to Fire Opal server for optimization\n- **Server**: gRPC service that performs Fire Opal preprocessing/postprocessing\n\n## Usage\n\nHere is a small example of how to use the Fire Opal RIKEN client with Qiskit. This will communicate with a gRPC server to perform Fire Opal pre-processing on a quantum circuit before executing it on the `ibm_kobe` backend. Once the job is complete, results post-processed by Fire Opal will be returned from the `job.result()` call.\n\n```python\nimport os\nfrom qiskit import QuantumCircuit\nfrom qiskit.providers import BackendV2\nfrom fireopalrikenclient.sampler import FireOpalSampler\nfrom fireopalrikenclient.utils.client import FireOpalClient\n\n# Create circuit.\ncircuit = QuantumCircuit(2)\ncircuit.h(0)\ncircuit.cx(0, 1)\ncircuit.measure_all()\n\n# Create gRPC client with server address stored in an environment variable.\nos.environ[\"FIRE_OPAL_GRPC_SERVER_ADDRESS\"] = \"localhost:50051\" # Update to server address\n\n# Create sampler with Fire Opal preprocessing.\nservice = QiskitRuntimeService(token=\"...\", instance=\"...\", channel=\"ibm_quantum_platform\")\nsampler = FireOpalSampler(mode=service.backend(\"ibm_kobe\"))\n\n# Run with Fire Opal optimization.\nsampler_pub = (circuit, None, 1024)\njob = sampler.run([sampler_pub])\nresult = job.result()\n```\n",
"bugtrack_url": null,
"license": "https://q-ctrl.com/terms",
"summary": "Fire Opal RIKEN client",
"version": "0.1.0",
"project_urls": {
"Documentation": "https://docs.q-ctrl.com",
"Facebook": "https://www.facebook.com/qctrl",
"GitHub": "https://github.com/qctrl",
"Homepage": "https://q-ctrl.com",
"LinkedIn": "https://www.linkedin.com/company/q-ctrl/",
"Source": "https://github.com/qctrl/fire-opal-riken-client",
"X": "https://x.com/qctrlHQ",
"YouTube": "https://www.youtube.com/qctrl"
},
"split_keywords": [
"black opal",
" boulder opal",
" fire opal",
" ironstone opal",
" nisq",
" open controls",
" q control",
" q ctrl",
" q-control",
" q-ctrl",
" qcontrol",
" qctrl",
" quantum",
" quantum algorithms",
" quantum circuits",
" quantum coding",
" quantum coding software",
" quantum computing",
" quantum control",
" quantum control software",
" quantum control theory",
" quantum engineering",
" quantum error correction",
" quantum firmware",
" quantum fundamentals",
" quantum navigation",
" quantum sensing",
" qubit",
" qudit",
" riken"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "a3b29f79f7381d008bf1b7f22162811f648bad7bd637194ac31461f0372a9d62",
"md5": "e8e1b436619e663b46e31f3d7588d926",
"sha256": "6a74ff16f4d0da086eb1d764ba30b55628ec62e6d79c275630b1e50a8b87d2ad"
},
"downloads": -1,
"filename": "qctrl_fire_opal_riken_client-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e8e1b436619e663b46e31f3d7588d926",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.13,>=3.11",
"size": 73000,
"upload_time": "2025-10-23T02:01:44",
"upload_time_iso_8601": "2025-10-23T02:01:44.425053Z",
"url": "https://files.pythonhosted.org/packages/a3/b2/9f79f7381d008bf1b7f22162811f648bad7bd637194ac31461f0372a9d62/qctrl_fire_opal_riken_client-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4f1cc4b480f55407674ffe1d93d434c93a283c6184aa83c72f78fd9483de929c",
"md5": "51b6a182749b5cb48f4acaf2fc220437",
"sha256": "c6b91739cc27a53c29d475f24b2d65e8d3a8bfeeddeeca911a97f69957e979e2"
},
"downloads": -1,
"filename": "qctrl_fire_opal_riken_client-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "51b6a182749b5cb48f4acaf2fc220437",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.13,>=3.11",
"size": 66860,
"upload_time": "2025-10-23T02:01:45",
"upload_time_iso_8601": "2025-10-23T02:01:45.725734Z",
"url": "https://files.pythonhosted.org/packages/4f/1c/c4b480f55407674ffe1d93d434c93a283c6184aa83c72f78fd9483de929c/qctrl_fire_opal_riken_client-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-23 02:01:45",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "qctrl",
"github_project": "fire-opal-riken-client",
"github_not_found": true,
"lcname": "qctrl-fire-opal-riken-client"
}