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.5.2.tar.gz (53.3 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.5.2-py3-none-any.whl (68.4 kB view details)

Uploaded Python 3

File details

Details for the file cmtqoutilities-0.5.2.tar.gz.

File metadata

  • Download URL: cmtqoutilities-0.5.2.tar.gz
  • Upload date:
  • Size: 53.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.1

File hashes

Hashes for cmtqoutilities-0.5.2.tar.gz
Algorithm Hash digest
SHA256 61b29b555608e821b38db3b09221b1a1b5c3e74c2948ecd453ff56d18611722a
MD5 a9e160a75c3167de518b8af6ccc0f828
BLAKE2b-256 881b8657fdd9dd945c864740a753bbb25bcd3e21429adc13c005621fae950d29

See more details on using hashes here.

File details

Details for the file cmtqoutilities-0.5.2-py3-none-any.whl.

File metadata

  • Download URL: cmtqoutilities-0.5.2-py3-none-any.whl
  • Upload date:
  • Size: 68.4 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.5.2-py3-none-any.whl
Algorithm Hash digest
SHA256 05293bbb522bb6f942852ff974b3b74cbc2abf370df6d3f135ffb7f73f03ec3a
MD5 5af0caf0a6dc1355396d5de1cc766ffb
BLAKE2b-256 ba29c6a061e19477b85aa13057f1caaa3856a52ab39612f943a579225132c8d3

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