Skip to main content

A Pulser-compatible package to connect to Scaleway Quantum as a Service

Project description

Scaleway provider for Pulser

Scaleway provider implementation to use neutral atoms based quantum computers.

Pulser Scaleway is a Python package to run quantum sequence on Scaleway infrastructure, providing access to Pasqal neutral atom quantum computers.

More info on the Quantum service web page.

Installation

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

pip install pulser-scaleway

Getting started

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

from pulser_scaleway import ScalewayQuantumService

qaas_connection = ScalewayQuantumService(
    project_id=os.environ["PULSER_SCALEWAY_PROJECT_ID"],
    secret_key=os.environ["PULSER_SCALEWAY_SECRET_KEY"],
    url=os.getenv("PULSER_SCALEWAY_API_URL"),
)

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

export PULSER_SCALEWAY_PROJECT_ID="project_id"
export PULSER_SCALEWAY_SECRET_KEY="token"

Then you can instantiate the provider without any arguments:

from pulser_scaleway import ScalewayQuantumService

qaas_connection = ScalewayQuantumService()

Now you have access to the supported backends and can design your pulse sequence. See the technical documentation on how to write a sequence.

# Retrieve all QPU devices (emulated or real)
devices = qaas_connection.fetch_available_devices()
fresnel_device = devices["pasqal_fresnel"]

# Create a register of trapped atoms before performing operation on them
register = Register.square(5, 5).with_automatic_layout(fresnel_device)

# Declare the sequence of pulses to perform on the register
sequence = Sequence(register, fresnel_device)
sequence.declare_channel("rydberg_global", "rydberg_global")
t = sequence.declare_variable("t", dtype=int)

amp_wf = BlackmanWaveform(t, np.pi)
det_wf = RampWaveform(t, -5, 5)
sequence.add(Pulse(amp_wf, det_wf, 0), "rydberg_global")

# Declare a backend based on the sequence and remote connection
backend = QPUBackend(sequence=sequence, connection=qaas_connection)

# Run jobs with different arguments over the same sequence and register
results = backend.run(
    job_params=[
        {"runs": 100, "variables": {"t": 1000}},
        {"runs": 20, "variables": {"t": 2000}},
    ],
    wait=True,
)

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

pulser_scaleway-0.1.3.tar.gz (10.1 kB view details)

Uploaded Source

Built Distribution

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

pulser_scaleway-0.1.3-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

File details

Details for the file pulser_scaleway-0.1.3.tar.gz.

File metadata

  • Download URL: pulser_scaleway-0.1.3.tar.gz
  • Upload date:
  • Size: 10.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.23

File hashes

Hashes for pulser_scaleway-0.1.3.tar.gz
Algorithm Hash digest
SHA256 cef652be6d8a58616b2318ee69ae7c360ffbc8cc09b673d40f92ada448351cbe
MD5 794776f58672012ea8146336abdea443
BLAKE2b-256 8a18fce59ca01a76689655143447b13e7817960a35a0ea5b922221457384a2b7

See more details on using hashes here.

File details

Details for the file pulser_scaleway-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for pulser_scaleway-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 e197e3c6adedc4799e4dc358055f38b477da95928161389aa33290d2db40f0ad
MD5 510f3e844b3f6130c2624529428f3004
BLAKE2b-256 d34cccbcad28fa8f88376ab3b61dfe97fbf1b60d3f235b4608d0157d07043f75

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