Metadata-Version: 2.4
Name: qrmi
Version: 0.26.3
Classifier: Programming Language :: C
Classifier: Programming Language :: Rust
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: MacOS
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Scientific/Engineering :: Physics
Requires-Dist: python-dotenv
Requires-Dist: python-dateutil
Requires-Dist: qiskit-alice-bob-provider ; extra == 'alice-bob'
Requires-Dist: qrmi[ibm,pasqal,iqm] ; extra == 'all'
Requires-Dist: sphinx>=9.1.0 ; extra == 'docs'
Requires-Dist: sphinx-autobuild>=2025.8.25 ; extra == 'docs'
Requires-Dist: shibuya>=2026.5.19 ; extra == 'docs'
Requires-Dist: sphinx-design>=0.7.0 ; extra == 'docs'
Requires-Dist: sphinx-tabs>=3.5.0 ; extra == 'docs'
Requires-Dist: sphinx-contributors>=0.3.0 ; extra == 'docs'
Requires-Dist: sphinx-copybutton>=0.5.2 ; extra == 'docs'
Requires-Dist: sphinx-togglebutton>=0.4.5 ; extra == 'docs'
Requires-Dist: qiskit-ibm-runtime>=0.30.0 ; extra == 'ibm'
Requires-Dist: qiskit-qasm3-import ; extra == 'ibm'
Requires-Dist: iqm-client[qiskit]~=35.0.0,<36.0 ; extra == 'iqm'
Requires-Dist: qiskit-ibm-runtime<0.46 ; extra == 'iqm'
Requires-Dist: oqtopus-client ; extra == 'oqtopus'
Requires-Dist: qiskit-pasqal-provider>=0.5.0 ; extra == 'pasqal'
Requires-Dist: pulser-core>=1.9.0 ; extra == 'pasqal'
Provides-Extra: alice-bob
Provides-Extra: all
Provides-Extra: docs
Provides-Extra: ibm
Provides-Extra: iqm
Provides-Extra: oqtopus
Provides-Extra: pasqal
License-File: LICENSE.txt
Summary: Quantum Resource Management Interface(QRMI)
Keywords: quantum-computing,quantum-programming-language,qiskit,pulser,slurm,slurm-job-scheduler,slurm-workload-manager,python,rust
Author: Alice and Bob, IBM, Pasqal SAS and UKRI-STFC (Hartree Centre)
Author-email: qiskit@us.ibm.com
License-Expression: Apache-2.0
Requires-Python: >=3.11
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: API Reference, https://qiskit-community.github.io/qrmi/development/api_references/index.html
Project-URL: Documentation, https://qiskit-community.github.io/qrmi/
Project-URL: Homepage, https://qiskit-community.github.io/qrmi/
Project-URL: Issues, https://github.com/qiskit-community/qrmi/issues
Project-URL: Repository, https://github.com/qiskit-community/qrmi

# Quantum Resource Management Interface (QRMI)

[![License](https://img.shields.io/github/license/qiskit-community/qrmi.svg?)](https://opensource.org/licenses/Apache-2.0) <!--- long-description-skip-begin -->
[![Current Release](https://img.shields.io/github/release/qiskit-community/qrmi.svg?)](https://github.com/qiskit-community/qrmi/releases)
![Platform](https://img.shields.io/badge/%F0%9F%92%BB_Platform-Linux%20%7C%20macOS-blue)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/qrmi)
[![manylinux: 2_28](https://img.shields.io/badge/manylinux-2__28-blue.svg?logo=linux&logoColor=white)](https://github.com/pypa/manylinux)
[![C99](https://img.shields.io/badge/C-C99-blue.svg?logo=c&logoColor=white)](https://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf)
[![Lua 5.4+](https://img.shields.io/badge/lua-5.4%2B-blue.svg?logo=lua&logoColor=white)](https://www.lua.org/manual/5.4/)
[![Minimum rustc 1.91](https://img.shields.io/badge/rustc-1.91+-blue.svg)](https://rust-lang.github.io/rfcs/2495-min-rust-version.html)
[![Downloads](https://img.shields.io/pypi/dm/qrmi.svg)](https://pypi.org/project/qrmi/)
[![Downloads](https://static.pepy.tech/badge/qrmi)](https://pepy.tech/project/qrmi) <!--- long-description-skip-end -->
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.20650771.svg)](https://doi.org/10.5281/zenodo.20650771)
[![arXiv](https://img.shields.io/badge/arXiv-2506.10052-b31b1b.svg)](https://arxiv.org/abs/2506.10052)
[![CI](https://github.com/qiskit-community/qrmi/actions/workflows/on-schedule.yml/badge.svg)](https://github.com/qiskit-community/qrmi/actions/workflows/on-schedule.yml)

> [!IMPORTANT]
> **Deprecation notice (since v0.23.0)**
>
> The IBM Qiskit Runtime Service API has been renamed to the IBM Quantum Compute Service API. Resource names and environment variable prefixes
> have changed accordingly. Legacy names remain supported until **November 21, 2026**. See the [migration guide](https://github.com/qiskit-community/qrmi/blob/main/docs/migration/0.23.0.md) for details.

The *Quantum Resource Management Interface* (QRMI) is a vendor-agnostic library for high-performance compute (HPC) systems to access, control, and monitor the behavior of quantum computational resources. It acts as a thin middleware layer that abstracts away the complexities associated with controlling quantum resources through a set of simple APIs. Written in Rust, this interface also exposes Python, C and Lua APIs for ease of integration into nearly any computational environment.

The source code to build and deploy QRMI is available [here](https://github.com/qiskit-community/qrmi).

An optional `task_runner` command line tool to execute quantum payloads against quantum hardware is included in the Python package. For more information, read the documentation available [here](https://qiskit-community.github.io/qrmi/examples/task_runner/TASK_RUNNER.html#task-runner).

## Installation

### Python

We encourage installing QRMI via ``pip``:

```bash
pip install qrmi
```

To use a specific quantum resource, install QRMI with the corresponding optional dependencies:

```bash
pip install "qrmi[ibm]"       # Include dependencies for IBM
pip install "qrmi[iqm]"       # Include dependencies for IQM
pip install "qrmi[pasqal]"    # Include dependencies for Pasqal
pip install "qrmi[alice-bob]" # Include dependencies for Alice and Bob
pip install "qrmi[oqtopus]"   # Include dependencies for OQTOPUS
pip install "qrmi[all]"       # Include dependencies for all quantum resources except `alice-bob`
```

Or combine multiple resources:

```bash
pip install "qrmi[ibm,pasqal]"
```

> [!NOTE]
> `ibm` and `iqm` extras cannot be installed together, as they depend on incompatible versions of Qiskit.

> [!NOTE]
> `alice-bob` cannot be installed alongside `ibm` or `iqm`, as it depends on Qiskit versions earlier than 2.0.

Pip will handle all dependencies automatically and you will always install the latest (and most thoroughly tested) version.

To install from source, follow the instructions in the [documentation](https://qiskit-community.github.io/qrmi/getting_started/INSTALLATION.html).

### Standalone C library

Prebuilt binaries for Linux (glibc 2.28 compatible) on x86_64, ppc64le, and aarch64 platforms are available for download from the repository's [Releases](https://github.com/qiskit-community/qrmi/releases/latest) tab.

To install from source, follow the instructions in the [documentation](https://qiskit-community.github.io/qrmi/getting_started/INSTALLATION.html#building-core-qrmi-libraries).

## Getting Started

You can explore the full range of example code [here](https://qiskit-community.github.io/qrmi/examples/index.html). Each example directory includes a README containing more details.

One example of QRMI usage in a compute infrastructure project is the Slurm plugin for quantum resources. QRMI is used in these Slurm plugins to control quantum resources during the lifecycle of a Slurm job. You can find full details of the implementation of Quantum SPANK plugins for Slurm [here](https://github.com/qiskit-community/spank-plugins).

## Citing QRMI

QRMI is the work of [many people](https://github.com/qiskit-community/qrmi/graphs/contributors) who contribute
to the project at different levels. If you use QRMI, please consider citing the associated overview paper, ["Quantum resources in resource management systems"](https://arxiv.org/abs/2506.10052). This helps support the continued development and visibility of the repository. The BibTeX citation handle can be found in the [BibTeX](CITATION.bib) file.

> [!NOTE]
> We expect multiple versions of the overview paper to be released as the project evolves.

## Contribution Guidelines

If you'd like to contribute to QRMI, please take a look at our
[Contribution Guidelines](https://qiskit-community.github.io/qrmi/development/CONTRIBUTING.html).

By participating, you are expected to uphold our [Code of Conduct](https://qiskit-community.github.io/qrmi/additional_resources/CODE_OF_CONDUCT.html).

We use [GitHub Issues](https://github.com/qiskit-community/qrmi/issues) for tracking requests and bugs.

For further questions, comments and discussion, please consider [joining the Qiskit Slack community](https://qisk.it/join-slack).

## Frequently Asked Questions

A list of frequently asked questions is maintained [here](https://qiskit-community.github.io/qrmi/additional_resources/FAQ.html).

## References and Acknowledgements

1. Quantum SPANK plugins for Slurm https://github.com/qiskit-community/spank-plugins
2. Slurm Documentation https://slurm.schedmd.com/
3. Qiskit https://www.ibm.com/quantum/qiskit
4. IBM Quantum https://www.ibm.com/quantum
5. Pasqal https://pasqal.com
6. STFC The Hartree Centre, https://www.hartree.stfc.ac.uk. This work was supported by the Hartree National Centre for Digital Innovation (HNCDI) programme.
7. Rensselaer Polytechnic Institute, Center for Computational Innovation, https://cci.rpi.edu/
8. Alice & Bob https://alice-bob.com/

