A Python library for quantum programming using Quil.
Clone or download
mpharrigan Refactor get_qc helper functions (#731)
* _get_qvm_based_on_real_device and name things to be similar

* Factor out QVM construction

* _get_qvm_with_topology

* move connection all the way down

* Fix

* Formatting

* Docstrings

* Fix behavior

* Tests
Latest commit 0eb85e0 Dec 11, 2018



A library for easily generating Quil programs to be executed using the Rigetti Forest platform. pyQuil is licensed under the Apache 2.0 license.

Build Status Documentation Status

Please note: To make full use of our SDK, in addition to installing pyQuil, you'll need to download quilc and the QVM, which will allow you to compile and simulate programs on your local machine. If you'd like to run programs on our quantum computers, you'll need to sign up for Quantum Cloud Services.


Documentation is hosted at http://pyquil.readthedocs.io/en/latest/


You can install pyQuil as a conda package (recommended):

conda install -c -conda-forge pyquil

or using pip:

pip install pyquil

To instead install pyQuil from source, clone this repository, cd into it, and run:

pip install -e .

See the Getting Started Guide to start writing quantum programs!


Join the public Forest Slack channel at http://slack.rigetti.com.

The following projects have been contributed by community members:

Developing PyQuil

To make changes to PyQuil itself see DEVELOPMENT.md for instructions on development and testing.

How to cite pyQuil and Forest

If you use pyQuil, Grove, or other parts of the Rigetti Forest stack in your research, please cite it as follows:


  title={A Practical Quantum Instruction Set Architecture},
  author={Smith, Robert S and Curtis, Michael J and Zeng, William J},
  journal={arXiv preprint arXiv:1608.03355},


R. Smith, M. J. Curtis and W. J. Zeng, "A Practical Quantum Instruction Set Architecture," (2016), 
  arXiv:1608.03355 [quant-ph], https://arxiv.org/abs/1608.03355