-
Notifications
You must be signed in to change notification settings - Fork 60
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
v0.1.0 release #84
Merged
v0.1.0 release #84
Changes from all commits
Commits
Show all changes
3 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm seeing
0.1.1
on TestPypi , is this relevant? I.e. does this version numbering correspond to the real Pypi numbering?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is the right one, I had to bump it up in TestPypi because I had to upload more than once and it doesn't let you repeat a version.