Skip to main content

API for all cmtqo devices

Project description

cmtqoutilities

PyPI

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 Operator class
  • 📡 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cmtqoutilities-0.6.0.tar.gz (53.7 kB view details)

Uploaded Source

Built Distribution

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

cmtqoutilities-0.6.0-py3-none-any.whl (68.8 kB view details)

Uploaded Python 3

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

Hashes for cmtqoutilities-0.6.0.tar.gz
Algorithm Hash digest
SHA256 5485e5281894916b1787d7e05fc9670358f9b38176743a2d1dee5be1242772cd
MD5 60c706241d793875d623a299a2c1be6c
BLAKE2b-256 ebcc06c055716e56e02512f7c8f492f7ef20c0de5e0412bbf8bffd2be775bd09

See more details on using hashes here.

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

Hashes for cmtqoutilities-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 45bb1f2f6e280c12fe12efe3c4b3866e76fd7d3aa80d6a494711a3a8575dd5ca
MD5 8843e96a0cabd3e55eef2380f1829782
BLAKE2b-256 994773609f1bceadf28c393d949ed9344e36f1f85ff8d1c2c624c3dbe1973148

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