Skip to main content

Python tools for Jaqal (extras)

Project description

JaqalPaq-Extras

JaqalPaq-Extras contains extensions to the JaqalPaq python package, which itself is used to parse, manipulate, emulate, and generate quantum assembly code written in Jaqal (Just another quantum assembly language). The purpose of JaqalPaq-Extras is to facilitate the conversion of programs written in other quantum assembly languages into Jaqal circuit objects in JaqalPaq. JaqalPaq-Extras is supported on a "best effort" basis, and quality cannot be guaranteed.

Because some other quantum assembly languages do not support explicit scheduling like Jaqal does, JaqalPaq-Extras also contains some basic quantum circuit scheduling routines. Furthermore, to facilitate execution on the QSCOUT (Quantum Scientific Computing Open User Testbed) platform, JaqalPaq-Extras also includes extensions for third-party quantum software toolchains that support the QSCOUT hardware model (including its native gate set and scheduling constraints). In summary, JaqalPaq-Extras contains the following functionalities:

  • Conversion of quantum assembly data structures into JaqalPaq circuit objects from:
  • Basic routines for scheduling unscheduled quantum assembly programs.
  • Extensions to these packages above, as needed, to support to the QSCOUT hardware model.

Installation

JaqalPaq-Extras is available on GitLab. It requires JaqalPaq to be installed first, which is also available on GitLab. JaqalPaq-Extras requires JaqalPaq itself be installed first. Both JaqalPaq and its extensions can be installed with pip:

pip install jaqalpaq
pip install jaqalpaq-extras

If only the scheduler will be used, there are no other dependencies. However, to make use of the transpiler subpackages, one or more other software toolchains must be installed. As of this writing, all five supported toolchains can be installed via pip as follows, with the supported versions of these packages indicated:

pip install qiskit>=0.27.0,<0.28.0
pip install pyquil>=2.21.0,<3.0.0
pip install cirq>=0.11.0,<0.12.0
pip install projectq>=0.5.1,<0.7.0
pip install pytket>=0.5.6,<0.13.0

Additionally, a gate-set specification is required for all of the transpiler subpackages. Currently, we provide the QSCOUT native gate models, which is also available on GitLab and can be installed via pip:

pip install qscout-gatemodels

Documentation

Online documentation is hosted on Read the Docs.

License

Apache 2.0

Questions?

For help and support, please contact qscout@sandia.gov.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

test-JaqalPaq-extras-0.0.1.1.0.0rc2.tar.gz (33.9 kB view details)

Uploaded Source

Built Distribution

test_JaqalPaq_extras-0.0.1.1.0.0rc2-py2.py3-none-any.whl (48.1 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file test-JaqalPaq-extras-0.0.1.1.0.0rc2.tar.gz.

File metadata

  • Download URL: test-JaqalPaq-extras-0.0.1.1.0.0rc2.tar.gz
  • Upload date:
  • Size: 33.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.4.2 requests/2.25.1 setuptools/52.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.9.2

File hashes

Hashes for test-JaqalPaq-extras-0.0.1.1.0.0rc2.tar.gz
Algorithm Hash digest
SHA256 5e8345b30be42ce231b2adcf3a15dff8b506b005434d0054bde7bb072c67f23c
MD5 c76a6d6623508a1baab5d63e6bb94227
BLAKE2b-256 452810ec61a0529d2aa08e6fef2830fe828a4cdbe436da628dbc0d26a339a9ec

See more details on using hashes here.

File details

Details for the file test_JaqalPaq_extras-0.0.1.1.0.0rc2-py2.py3-none-any.whl.

File metadata

  • Download URL: test_JaqalPaq_extras-0.0.1.1.0.0rc2-py2.py3-none-any.whl
  • Upload date:
  • Size: 48.1 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.4.2 requests/2.25.1 setuptools/52.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.9.2

File hashes

Hashes for test_JaqalPaq_extras-0.0.1.1.0.0rc2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 42b4f6763dfcb2c8354b090256b5a3b0686a3bc45be1e65f0ef2c77c89ef9ac5
MD5 b7d92da7a48c425df28e1414b2eb153d
BLAKE2b-256 55be976af507f060a3d9106a9c33b1b5832a0f7ebd25b6490722d807cba2ab10

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page