Metadata-Version: 2.1
Name: qctrl-pyquil
Version: 0.0.2
Summary: Q-CTRL pyQuil Adapter
Home-page: https://github.com/qctrl/python-pyquil
License: Apache-2.0
Keywords: quantum,computing,open source,engineering,pyquil
Author: Q-CTRL
Author-email: support@q-ctrl.com
Requires-Python: >=3.6.4,<3.8
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Topic :: Scientific/Engineering :: Physics
Classifier: Topic :: Scientific/Engineering :: Visualization
Classifier: Topic :: Software Development :: Embedded Systems
Classifier: Topic :: System :: Distributed Computing
Requires-Dist: numpy (>=1.16,<2.0)
Requires-Dist: pyquil (>=2.9,<3.0)
Requires-Dist: qctrl-open-controls (>=3.0.0,<4.0.0)
Requires-Dist: scipy (>=1.3,<2.0)
Requires-Dist: toml (>=0.10.0,<0.11.0)
Project-URL: Repository, https://github.com/qctrl/python-pyquil
Description-Content-Type: text/markdown

# Q-CTRL pyQuil Adapter

The aim of the Q-CTRL pyQuil Adapter package is to provide export functions allowing
users to deploy established error-robust quantum control protocols from the
open literature and defined in Q-CTRL Open Controls on Rigetti quantum hardware 
and simulators.

Anyone interested in quantum control is welcome to contribute to this project.


## Table of Contents

- [Installation](#installation)
- [Usage](#usage)
- [Contributing](#contributing)
- [Credits](#credits)
- [License](#license)

## Installation

Q-CTRL pyQuil Adapter can be installed through `pip` or from source. We recommend
the `pip` distribution to get the most recent stable release. If you want the
latest features then install from source.

### Requirements

To use Q-CTRL pyQuil Adapter you will need an installation of Python. We
recommend using the [Anaconda](https://www.anaconda.com/) distribution of
Python. Anaconda includes standard numerical and scientific Python packages
which are optimally compiled for your machine. Follow the [Anaconda
Installation](https://docs.anaconda.com/anaconda/install/) instructions and
consult the [Anaconda User
guide](https://docs.anaconda.com/anaconda/user-guide/) to get started.

We use interactive jupyter notebooks for our usage examples. The Anaconda
python distribution comes with editors for these files, or you can [install the
jupyter notebook editor](https://jupyter.org/install) on its own.

### Using PyPi

Use `pip` to install the latest version of Q-CTRL pyQuil Adapter.

```shell
pip install qctrl-pyquil
```

### From Source

The source code is hosted on
[Github](https://github.com/qctrl/python-pyquil). The repository can be
cloned using

```shell
git clone git@github.com:qctrl/python-pyquil.git
```

Once the clone is complete, you have two options:

1. Using setup.py

   ```shell
   cd python-pyquil
   python setup.py develop
   ```

   **Note:** We recommend installing using `develop` to point your installation
   at the source code in the directory where you cloned the repository.

1. Using Poetry

   ```shell
   cd python-pyquil
   ./setup-poetry.sh
   ```

   **Note:** if you are on Windows, you'll need to install
   [Poetry](https://poetry.eustace.io) manually, and use:

   ```bash
   cd python-pyquil
   poetry install
   ```

Once installed via one of the above methods, test your installation by running
`pytest`
in the `python-pyquil` directory.

```shell
pytest
```

## Usage

See the [Jupyter notebooks](https://github.com/qctrl/notebooks/tree/master/qctrl-open-controls).

## Contributing

For general guidelines, see [Contributing](https://github.com/qctrl/.github/blob/master/CONTRIBUTING.md).

### Building documentation

Documentation generation relies on [Spinx](http://www.sphinx-doc.org). Automated builds are done by [Read The Docs](https://readthedocs.com).

To build locally:

1. Ensure you have used one of the install options above.
1. Execute the make file from the docs directory:

    If using Poetry:

    ```bash
    cd docs
    poetry run make html
    ```

    If using setuptools:

    ```bash
    cd docs
    # Activate your virtual environment if required
    make html
    ```

The generated HTML will appear in the `docs/_build/html` directory.

## Credits

See
[Contributors](https://github.com/qctrl/python-pyquil/graphs/contributors).

## License

See [LICENSE](LICENSE).

