Metadata-Version: 2.4
Name: tno.quantum.devices
Version: 1.0.1
Summary: Devices
Author-email: TNO Quantum Code Lab <tnoquantum@tno.nl>
Maintainer-email: TNO Quantum Code Lab <tnoquantum@tno.nl>
License-Expression: Apache-2.0
Project-URL: Homepage, https://github.com/TNO-Quantum/
Project-URL: Documentation, https://github.com/TNO-Quantum/
Project-URL: Source, https://github.com/TNO-Quantum/devices
Keywords: TNO,Quantum,Devices
Platform: any
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Typing :: Typed
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pennylane
Requires-Dist: pennylane-qiskit
Requires-Dist: tno.quantum.utils
Provides-Extra: tests
Requires-Dist: pytest>=8.1.1; extra == "tests"
Requires-Dist: pytest-cov>=4.1.0; extra == "tests"
Provides-Extra: ibm
Requires-Dist: qiskit>=2; extra == "ibm"
Requires-Dist: qiskit-ibm-runtime; extra == "ibm"
Requires-Dist: qiskit-ibm-provider; extra == "ibm"
Provides-Extra: azure
Requires-Dist: qiskit>=2; extra == "azure"
Requires-Dist: azure-core; extra == "azure"
Requires-Dist: azure-identity; extra == "azure"
Requires-Dist: azure-quantum[qiskit]>=3.5.0; extra == "azure"
Requires-Dist: azure-storage-blob; extra == "azure"
Dynamic: license-file

# TNO Quantum: Devices

TNO Quantum provides generic software components aimed at facilitating the development
of quantum applications.

The devices package provides a consistent way to configure and instantiate PennyLane devices,
including local devices and remote backends from IBM Quantum Platform and Azure Quantum.

## Documentation

Documentation of the `tno.quantum.devices` package can be found [here](https://tno-quantum.github.io/documentation/).

## Install

Easily install the `tno.quantum.devices` package using pip:

```console
$ python -m pip install tno.quantum.devices
```

## Usage

The `tno.quantum.devices` package can be used as shown in the following example.

```python
from tno.quantum.devices import DeviceConfig

# Get a list of supported items
sorted(DeviceConfig.supported_items())
# ['default.clifford', 'default.gaussian', 'default.mixed', ...]

# Create a device
config = DeviceConfig("default.qubit", options={"wires": 5})
config.get_instance()
# <default.qubit device (wires=5) at 0x7b9fd6fc7770>

# Create an IBM device using "ibm.remote"
config = DeviceConfig("ibm.remote", options={"backend_name": "ibm_aachen", "wires": 5})
config.get_instance()
# <IBMDevice device (wires=5) at 0x7b9ffcfa5f30>

# Create an Azure device using "azure.remote"
config = DeviceConfig(
    "azure.remote", options={"backend_name": "rigetti_cepheus", "wires": 5}
)
config.get_instance()
# <AzureDevice device (wires=5) at 0x7b9fdcbba9e0>
```

## (End)use limitations

The content of this software may solely be used for applications that comply with international export control laws.
