Skip to main content

QCoDeS compatible driver for the OPX+ from Quantum Machines

Project description

arbok_driver

QCoDeS compatible driver for the OPX+ from Quantum Machines Arbok is taylored for routines using the Quantum Machines OPX(+) quantum control hardware.

Installation

To install the arbok python module locally follow the steps below

1) Clone github repository

git clone https://github.com/andncl/arbok_driver.git

2) Prepare conda environment

We create an empty conda environment to avoid interference with other python packages and to manage package dependencies for measurements. Remember to fix the python version as shown below when creating the environment, since some of the modules are not yet compatible with the latest 3.12.

conda create --name <your_env_name> python=3.12
conda activate <your_env_name>
conda install pip

3) Go to repo folder and install local arbok module

pip install -e .

**Do not forget the dot after '-e' **. Arbok should now install all its requirements automatically. If you need additional packages, install them in your new environment called <your_env_name>

4) Install git hooks

Install the git hook so that your notebooks are stripped before committing.

To do this with Microsoft :

.\tools\git.hooks\setupMicrosoft.ps1

To do this with Linux :

./tools/git.hooks/setupLinux.sh

Optional 1) Adding your environment to ipykernel

I recommend running measurements from jupyter lab, which is automatically installed when executing 3). To pick the environment you just created within the jupyter lab application, add it to the ipython kernel.

python -m ipykernel install --user --name <your_env_name>

Optional 2) Live plotting and data inspection with plottr

Data inslection and live plotting can be done with the plottr-inpectr module. To launch it open a terminal and activate your conda environment...

conda activate <your-env-name>

... and launch plottr

plottr-inspectr --dbpath <path-to-your-database>

The data inspector is now running independently of all measurement while beiong connected to the selected database. Select auto-update intervals to have new measurements displayed in real time

Tutorial: Launch jupyter-lab to run measurements

Jupyter notebooks are a very convenient way of cinducting measurements. Code cells can be run one after another data analysis can be done concurrently to measurements. Keeping measurements in notbooks also guaratees a clear separation between the underlying code base and the configuration files of devices and sequences.

Again activate your conda environment and launch jupyterlab

For example to run the first tutorial:

jupyter lab docs/1_parameterizing_sequences.ipynb

Re-launching an existing arbok session

If all running applications have been closed for example when the hosting PC is being restarted, a previously run arbok session can be easily restarted in a few steps.

1) Launching the jupyter notebook

Activate your conda install environment that you created initally. If you are unsure what the name of your environment is type conda env list. After that launch jupyter lab as shown below. To simplyfy navigation, launch jupyter in the directory where your notebooks are saved.

conda activate <your-env-name>
jupyter lab

2) Launching plottr-inspectr

Exactly as described above!

Todos:

  • validators in custom parameter classes for times (4ns -> 1 qm-cycle)
  • change the way to create sweeps!
    • sset list of dicts -> list entry per axis, dict entry per param
    • sweeps should be properties with setters for save measurement management
  • TESTS!
    • issue: stubbing OPX/ errors raised by instrument

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

arbok_driver-1.1.1.1.tar.gz (160.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

arbok_driver-1.1.1.1-py3-none-any.whl (67.3 kB view details)

Uploaded Python 3

File details

Details for the file arbok_driver-1.1.1.1.tar.gz.

File metadata

  • Download URL: arbok_driver-1.1.1.1.tar.gz
  • Upload date:
  • Size: 160.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for arbok_driver-1.1.1.1.tar.gz
Algorithm Hash digest
SHA256 2810d1af60467373fb25d014257fbbc1d6de870e944ac5299916af51b9ccec3e
MD5 08e51065e9ca7e400005ed29f87e1734
BLAKE2b-256 3dd553bff1a04b192315b4fd69ae8336c4a3bbd2620c7756803a9c5f22212ec4

See more details on using hashes here.

File details

Details for the file arbok_driver-1.1.1.1-py3-none-any.whl.

File metadata

  • Download URL: arbok_driver-1.1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 67.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for arbok_driver-1.1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c4d401a6bf187ecc0d61c8c9e67e8455c9c57c86f882aa4d6c489a7588cf9fea
MD5 2fd75844aa85c59c9be6e2d7569791ff
BLAKE2b-256 e3984f7dece595a937deb29f9de9efd78c8dd68ef3f286f124f62bf16c37913f

See more details on using hashes here.

Supported by

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