Skip to main content

A Qiskit package to connect to Scaleway Quantum as a Service

Project description

Scaleway provider for Qiskit

Qiskit Scaleway is a Python package to run quantum circuits on Scaleway infrastructure, providing access to:

  • AQT ion-trapped quantum computers and emulators
  • IQM superconducting quantum computers and emulators
  • Quobly electron spin based quantum processors and emulators
  • Aer state vector and tensor network multi-GPU emulators
  • Qsim NISQ emulators
  • CUDA-Q emulators by NVIDIA
  • QPerfect emulators by QPerfect

To run circuits over Quandela QPUs provided by Scaleway, you must use Perceval SDK through the Scaleway provider.

To run sequence over Pasqal QPUs provided by Scaleway, you must use Pulser SDK through the Scaleway provider.

More info on the Quantum service web page.

Installation

We encourage installing Scaleway provider via the pip tool (a Python package manager):

pip install qiskit-scaleway

Getting started

To instantiate the ScalewayProvider, you need to have an access token and a project_id

from qiskit import QuantumCircuit
from qiskit_scaleway import ScalewayProvider

provider = ScalewayProvider(
    project_id="<your-scaleway-project-id>",
    secret_key="<your-scaleway-secret-key>",
)

Alternatively, the Scaleway Provider can discover your access token from environment variables:

export QISKIT_SCALEWAY_PROJECT_ID="project_id"
export QISKIT_SCALEWAY_SECRET_KEY="token"

Then you can instantiate the provider without any arguments:

from qiskit import QuantumCircuit
from qiskit_scaleway import ScalewayProvider

provider = ScalewayProvider()

Now you can have access to the supported backends:

# List all operational backends
backends = provider.backends(operational=True)
print(backends)

# List all backends with a minimum number of qbits
backends = provider.backends(min_num_qubits=35)
print(backends)

# Retrieve a backend by providing search criteria. The search must have a single match
backend = provider.get_backend("EMU-CUDAQ-4H100SXM") # Or any gate-based compatible QPU

Define a quantum circuit and run it

# Define a quantum circuit that produces a 4-qubit GHZ state.
qc = QuantumCircuit(4)
qc.h(0)
qc.cx(0, 1)
qc.cx(0, 2)
qc.cx(0, 3)
qc.measure_all()

## DO NOT USE TRANSPILATION
## Transpilation is done server side on QaaS service

# Create and send a job to a new QPU's session (or on an existing one)
# Custom noise models are also supported
result = backend.run(qc, method="statevector", shots=1000).result()

if result.success:
    print(result.get_counts())
else:
    print(result.to_dict()["error"])

Development

This repository is at its early stage and is still in active development. If you are looking for a way to contribute please read CONTRIBUTING.md.

Reach us

We love feedback. Feel free to reach us on Scaleway Slack community, we are waiting for you on #opensource..

License

License Apache 2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qiskit_scaleway-0.3.13.tar.gz (22.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

qiskit_scaleway-0.3.13-py3-none-any.whl (40.4 kB view details)

Uploaded Python 3

File details

Details for the file qiskit_scaleway-0.3.13.tar.gz.

File metadata

  • Download URL: qiskit_scaleway-0.3.13.tar.gz
  • Upload date:
  • Size: 22.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for qiskit_scaleway-0.3.13.tar.gz
Algorithm Hash digest
SHA256 b98e14fc370fd0b44dff900a9d9c917e619ee9adb273fe471432f390e5a99155
MD5 aec32a07a0c95643fed3afe785ee89be
BLAKE2b-256 622707c20178e054a7ff00ea16536dfd276abdd4af72867a0a411cf83c5288f2

See more details on using hashes here.

File details

Details for the file qiskit_scaleway-0.3.13-py3-none-any.whl.

File metadata

File hashes

Hashes for qiskit_scaleway-0.3.13-py3-none-any.whl
Algorithm Hash digest
SHA256 e5b4cbe43d0a4957056e25013562c0bca2e8001b7c2f9e7501db1e7b3c1c6460
MD5 631b4cf8596ef71252c0c7792853ac8d
BLAKE2b-256 5003cae064a1f4680023a089b9592b98af2cd2706127dbbb597007fa01b3d53b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page