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.5.tar.gz (10.2 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.5-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for pulser_scaleway-0.1.5.tar.gz
Algorithm Hash digest
SHA256 e6b9ecae3dccd7cb446b2ff596ae1401d20909a2a02cc967d18518001ce8fba9
MD5 d1dcdbd22b5340cf71c2284b172b7cac
BLAKE2b-256 2144660d8d11b4839107c41ce801347e0cdaff44afad195ec1f58a9437d72b46

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pulser_scaleway-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 d076bb303163eff13a5ef98189d4a4d11dc2ed8674c5f7447f46f0d701412560
MD5 545fdc126dea86811a9940ef2f96c320
BLAKE2b-256 d3013488b23b6063bd3666cc6c2b8a27760c7be8b38131db1416cd273b244405

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