Folder structure of the plugin

The source folder of the plugin contains sub-folders for both server and client-side code:

  1. Server-side: the steps subfolder contains the functions used in generated workflows as steps and the src subfolder contains further server-side auxiliary code (if any). Orquestra imports the main branch of the pennylane-orquestra repository on each workflow submission, so server-side changes merged into the main branch take effect immediately.

  2. Client-side: the pennylane_orquestra subfolder contains client-side code making up the PennyLane-Orquestra plugin.

Installation and tests

This plugin requires Python version 3.6 and above. PennyLane and the Quantum Engine CLI are also required. Installation of this plugin, as well as all dependencies, can be done using pip:

pip install pennylane-orquestra

To test that the PennyLane-Orquestra plugin is working correctly you can run

make test

in the source folder. Tests that involve submitting Orquestra workflows to test the end-to-end integration of the plugin can be run with make test-e2e.


Tests on the IBMQ device can only be run if an IBM Q authentication token is available via the IBMQX_TOKEN environment variable for the IBM Q experience.

If this is the case, running make test-e2e also executes tests on the orquestra.ibmq device. By default tests on the orquestra.ibmq device run with ibmq_qasm_simulator backend. At the time of writing this means that the test are “free”. Please verify that this is also the case for your account.

Further test cases for the steps used by the PennyLane-Orquestra plugin are located in steps/tests. To run these, Python version 3.9 and above is required along with the dependencies contained in the steps/requirements_for_tests.txt. Once these are available, running make test-steps will run the steps test suite.