API for all cmtqo devices
Project description
cmtqoutilities
cmtqoutilities is a Python toolkit that provides high-level APIs to control and automate a diverse range of laboratory hardware devices used in quantum optics and condensed matter experiments. The package offers abstraction layers for devices such as pressure controllers, serial interfaces, positioning stages, databases, and data acquisition tools.
🚀 Key Features
- 🧪 Experiment automation through a unified
Operatorclass - 📡 Instrument control for Zaber actuators, Numato relays, Picoscope oscilloscopes, Atto IDS3010 sensors, and more
- 🧾 Database integration for logging and tracking experimental metadata
- 🗃️ Filesystem and code snapshot utilities for reproducible research
- ⚙️ Cross-platform support for Windows and Unix-like systems
🧱 Module Overview
modOp.py
Defines the Operator class — a central controller for experiments, handling setup configuration, data and code paths, database connections, and version management.
database.py
Handles experimental metadata logging, MySQL interactions, and retrieval of recent or historical experiment data.
pressureControl.py
Provides an interface to communicate with pressure controllers over serial, supporting pressure reading and basic control commands.
zaber*.py
Multiple modules to control Zaber linear actuators (LRQ600, LSQ150, etc.), supporting movement, homing, and axis configuration.
numatoLabRL002.py
Enables control of Numato Lab USB relay modules for hardware switching tasks.
picoscope.py, ps4000a.py
Modules for acquiring data from PicoTech oscilloscopes (e.g. PS4000 series), integrating with the experiment automation flow.
attoIDS3010.py
Interface to Atto IDS3010 displacement sensors, providing sub-nanometer position measurement capabilities.
operatorManualSetup.py
Support functions for setting up manual experimental configurations, such as pre-alignment or testing.
📦 Installation
The modop infrastructure to run experiments is optimally enabled in the following way: Create a virtual environment as
python -m venv ~/.ve/modop
Then activate it and install the cmtqoutilities package
source ~/.ve/modop/bin/activate
pip install cmtqoutilities
or in a windows power shell
~/.ve/modop/Scripts/Activate.ps1
pip install cmtqoutilities
While still in the modop virtual environment install the kernel
python -m ipykernel install --user --name=modop --display-name "Python (modop)"
You can then develop in ipython notebooks and run the experiments with the mopdop infrastructure.
Requires Python 3.8 or higher. Dependencies include numpy, scipy, requests, pyserial, pymysql, nbconvert, jupyter, and hardware-specific libraries.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cmtqoutilities-0.6.0.tar.gz.
File metadata
- Download URL: cmtqoutilities-0.6.0.tar.gz
- Upload date:
- Size: 53.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5485e5281894916b1787d7e05fc9670358f9b38176743a2d1dee5be1242772cd
|
|
| MD5 |
60c706241d793875d623a299a2c1be6c
|
|
| BLAKE2b-256 |
ebcc06c055716e56e02512f7c8f492f7ef20c0de5e0412bbf8bffd2be775bd09
|
File details
Details for the file cmtqoutilities-0.6.0-py3-none-any.whl.
File metadata
- Download URL: cmtqoutilities-0.6.0-py3-none-any.whl
- Upload date:
- Size: 68.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
45bb1f2f6e280c12fe12efe3c4b3866e76fd7d3aa80d6a494711a3a8575dd5ca
|
|
| MD5 |
8843e96a0cabd3e55eef2380f1829782
|
|
| BLAKE2b-256 |
994773609f1bceadf28c393d949ed9344e36f1f85ff8d1c2c624c3dbe1973148
|