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.1.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.1.0-py3-none-any.whl (67.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: arbok_driver-0.1.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.1.0.tar.gz
Algorithm Hash digest
SHA256 59119d82ad94c1dd82c0849e94b02855169cea78a42a6fc932aabc1f722f17cf
MD5 b6905ad81d5f182bdb838281de765e7d
BLAKE2b-256 1e0eda60b5f586b709e215e3ca7e5d8b0930d48bd5fd1af72e34cb537beb43a2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: arbok_driver-0.1.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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d252a38d1ad40f5d8043b6cc963ccf8d53f06a43bb2f84a6522ecbf6260a59ae
MD5 17c351c93bb4ef7a272cfc83eec7f116
BLAKE2b-256 1e585b59685b8e0460a009766361beb4492df563f1f57603ba11a069204f46c1

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