Metadata-Version: 2.4
Name: pulser-pasqal
Version: 0.20.7
Summary: A Pulser extension to execute pulse-level sequences on Pasqal backends.
Home-page: https://github.com/pasqal-io/pasqal-cloud
Author: Pulser Development Team
Maintainer: Pasqal Cloud Services
Maintainer-email: pcs@pasqal.io
License: Apache 2.0
Classifier: Development Status :: 3 - Alpha
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pasqal-cloud==0.20.7
Requires-Dist: pulser-core>=1.6
Requires-Dist: backoff~=2.2
Dynamic: author
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license
Dynamic: license-file
Dynamic: maintainer
Dynamic: maintainer-email
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# pulser-pasqal

[Pulser](https://pypi.org/project/pulser/) is a framework for composing, simulating and executing **pulse** sequences
for neutral-atom quantum devices.

This is the `pulser-pasqal` extension, which provides the functionalities needed to execute `pulser` sequences
on [Pasqal](https://portal.pasqal.cloud/)'s backends.

## Installation

The standard Pulser installation,

```bash
pip install pulser
```

will automatically install `pulser-pasqal`. If you wish to install it on its own, you can also run

```bash
pip install pulser-pasqal
```

Note that `pulser-core` is a requirement of `pulser-pasqal`, so it will be installed if it hasn't been already.

## Quickstart

pulser-pasqal provides two ways to connect to Pasqal Cloud services:

1. **Direct connection** using `PasqalCloud` with username/password authentication
2. **OVH integration** using `OVHConnection` with token authentication for OVH customers

### Using PasqalCloud

```python
from pulser_pasqal import PasqalCloud
from pulser import QPUBackend

# Authenticate with Pasqal Cloud
connection = PasqalCloud(username="YOUR_USERNAME", password="YOUR_PASSWORD", project_id="YOUR_PROJECT")

# Build a pulser sequence
...

# Submit and retrieve results
backend = QPUBackend(sequence, connection)
job = backend.run(wait=True)
results = job.results
print(results)
```

### OVH Integration

```python
from pulser_pasqal import OVHConnection
from pulser import QPUBackend

# Initiate the appropriate OVH connection
connection = OVHConnection()

# Build a pulser sequence
...

# Submit and retrieve results
backend = QPUBackend(sequence, connection)
job = backend.run(wait=True)
results = job.results
print(results)
```
