Metadata-Version: 2.4
Name: qiskit-superstaq
Version: 0.5.51
Summary: The Qiskit module that provides tools and access to Superstaq.
Author-email: Superstaq development team <superstaq@infleqtion.com>
License: Apache-2.0
Project-URL: homepage, https://github.com/Infleqtion/client-superstaq
Requires-Python: >=3.9.0
Description-Content-Type: text/markdown
Requires-Dist: general-superstaq~=0.5.51
Requires-Dist: qiskit>=1.3.0
Requires-Dist: symengine~=0.13.0
Provides-Extra: dev
Requires-Dist: checks-superstaq~=0.5.51; extra == "dev"
Provides-Extra: examples
Requires-Dist: matplotlib>=3.7.0; extra == "examples"
Requires-Dist: notebook>=6.5.5; extra == "examples"
Requires-Dist: pylatexenc>=2.0; extra == "examples"
Requires-Dist: qiskit-ibm-runtime>=0.27.0; extra == "examples"

# `qiskit-superstaq`

![qiskit-superstaq's default workflow](https://github.com/Infleqtion/client-superstaq/actions/workflows/ci.yml/badge.svg)

This package is used to access Superstaq via a Web API through [Qiskit](https://qiskit.org/). Qiskit programmers
can take advantage of the applications, pulse level optimizations, and write-once-target-all
features of Superstaq with this package.

`qiskit-superstaq` is [available on PyPI](https://pypi.org/project/qiskit-superstaq/) and can be installed with:

```
pip install qiskit-superstaq
```

Please note that Python version `3.9` or higher is required. See installation instructions [here](https://github.com/Infleqtion/client-superstaq#readme).

### Creating and submitting a circuit through qiskit-superstaq

```python
import qiskit
import qiskit_superstaq as qss

token = "Insert superstaq token that you received from https://superstaq.infleqtion.com"

superstaq = qss.superstaq_provider.SuperstaqProvider(token)

backend = superstaq.get_backend("ibmq_brisbane_qpu")
qc = qiskit.QuantumCircuit(2, 2)
qc.h(0)
qc.cx(0, 1)
qc.measure(0, 0)
qc.measure(1, 1)

print(qc)

# Submitting a circuit to IBM's Brisbane QPU. Providing the "dry-run" method parameter instructs Superstaq to simulate the circuit, and is available to free trial users.
job = backend.run(qc, shots=100, method="dry-run")
print(job.result().get_counts())
```
