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-0.0.0.tar.gz (160.0 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-0.0.0-py3-none-any.whl (67.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for arbok_driver-0.0.0.tar.gz
Algorithm Hash digest
SHA256 a14153eb64a54d50bab710fe07d62a3e6c6d36d430c02c05c1022813981aaf50
MD5 61744b98f5d431c7780807a83fed9a63
BLAKE2b-256 bcceb6fa50061be3a0e23e9418b0631cbbe06e81afbe7d72eb82b08f003aa105

See more details on using hashes here.

File details

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

File metadata

  • Download URL: arbok_driver-0.0.0-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.11.10

File hashes

Hashes for arbok_driver-0.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 984d9b5316ed64d0965b6ad2dded6d4ee60b8235fef4d47b3b11e8e0444a6f36
MD5 a4565aab2bf1457cd6c2121640882289
BLAKE2b-256 3526589c01f0a47c845676b8610e0452ff6389c60b8409296b11afc914c1f9df

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