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 ScalewayProvider, you need to have an access token and a project_id

from pulser_scaleway import ScalewayProvider

qaas_connection = ScalewayProvider(
    project_id=os.environ["PULSER_SCALEWAY_PROJECT_ID"],
    secret_key=os.environ["PULSER_SCALEWAY_SECRET_KEY"],
)

Alternatively, the ScalewayProvider 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 ScalewayProvider

qaas_connection = ScalewayProvider()

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.4.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.4-py3-none-any.whl (11.5 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for pulser_scaleway-0.1.4.tar.gz
Algorithm Hash digest
SHA256 3e0ee11a4b23b56bdbd0a500c82695e096023f8185d4da0d4cc56828c94a1220
MD5 6780227297d696e8c2183105542351ee
BLAKE2b-256 9a127ddd372c7d40ddd5c4c8f0cf8a988945b93a510b15b40ac65cb926aec52c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pulser_scaleway-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 fdc36b976ac2bd792986aba36e61fd20097e3081d3e03d6c42f1810256740257
MD5 4241ba81c434e73e0b79e51bdbca39e5
BLAKE2b-256 6af8e4b106692595611088a92ea4d2c6061728060153749d6f27755b19ec2149

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