Skip to content

Commit

Permalink
Merge pull request #84 from pasqal-io/release
Browse files Browse the repository at this point in the history
v0.1.0 release
  • Loading branch information
HGSilveri committed Feb 10, 2021
2 parents d7d59b2 + cde384b commit 287b1da
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 29 deletions.
42 changes: 26 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,42 +1,52 @@
# Pulser

A framework for interacting with [Pasqal][pasqal] devices at the **pulse** level.
Pulser is a framework for composing, simulating and executing **pulse** sequences for neutral-atom quantum devices.

Pulser is a library that allows for writing sequences of pulses representing the
behaviour of some Pasqal processor prototypes.
Pulser documentation is available at https://pulser.readthedocs.io.

- The user can define one or several channels to target the qubits in the device.
- A basis can be chosen to represent the transition levels of the Rydberg atom-arrays setup.
- Channels can be local or global depending on the application. In the local case,
a phase-shift option is included to reduce complexity
- There's a visualization routine for ease of use.
The source code can be found at https://github.com/pasqal-io/Pulser.

The pulse sequences can then be read and operated by real Pasqal devices or
emulated (using [QuTiP][qutip] libraries).
## Overview of Pulser

Pulser is designed to let users create experiments that are tailored to specific neutral atom devices,
like those developed at [Pasqal][pasqal].
This reduces the level of abstraction and gives you maximal flexibility and control over the behaviour of the relevant physical parameters, within the bounds set by the chosen device.

Consequently, Pulser breaks free from the paradigm of digital quantum computing
and also allows the creation of **analog** quantum simulations, outside of the
scope of traditional quantum circuit approaches. Whatever the type of experiment
or paradigm, if it can be done on the device, it can be done with Pulser.

Additionally, Pulser features built-in tools for classical simulation (using [QuTiP][qutip] libraries) to aid in the development and testing of new pulse sequences.

## Installation

To install Pulser from source, do the following from within the repository
after cloning it:
To install the latest release of ``pulser``, have Python 3.7.0 or higher installed, then use ``pip``:

```bash
pip install pulser
```

If you wish to **install Pulser from source** instead, do the following from within this repository after cloning it:

```bash
pip install -e .
```

## Testing
### Development Requirements (Optional)

To run the test suite, after installation first run the following to install
development requirements:
To run the tutorials or the test suite locally, after installation first run the following to install the development requirements:

```bash
pip install -r requirements.txt
```

Then, do the following to run the test suite and report test coverage:
Then, you can do the following to run the test suite and report test coverage:

```bash
pytest --cov pulser
```


[pasqal]: https://pasqal.io/
[qutip]: https://qutip.org/
11 changes: 5 additions & 6 deletions docs/source/installation.rst
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
Installation
==============

..
Stable version
-----------------
To install the latest release of ``pulser``, have Python 3.7.0 or higher
installed, then use ``pip``: ::
Stable version
-----------------
To install the latest release of ``pulser``, have Python 3.7.0 or higher
installed, then use ``pip``: ::

pip install pulser
pip install pulser


Latest version
Expand Down
11 changes: 4 additions & 7 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,27 +16,24 @@

setup(
name="pulser",
version="0.0.1",
version="0.1.0",
install_requires=[
"matplotlib",
"numpy",
"scipy",
"qutip",
],
packages=find_packages(),
include_package_data=True,
description="A pulse-level composer for Pasqal's quantum devices.",
description="A pulse-level composer for neutral-atom quantum devices.",
long_description=open("README.md").read(),
long_description_content_type="text/markdown",
author="Pulser Development Team",
python_requires=">=3.7.0",
license="Apache 2.0",
classifiers=[
"Development Status :: 2 - Pre-Alpha",
"Development Status :: 3 - Alpha",
"Programming Language :: Python :: 3",
"Operating System :: MacOS",
"Operating System :: Unix",
"Operating System :: Microsoft :: Windows",
"Topic :: Scientific/Engineering",
],
url="https://github.com/pasqal-io/Pulser",
)

0 comments on commit 287b1da

Please sign in to comment.