COMET
Control and Measurement Toolkit
A Qutie powered rapid development tool for creating graphical measurement desktop applications for scientific laboratory use. Inspired by QCoDeS, Lantz, Slave, FluidLab and Dash.
Getting started
Dependencies
COMET depends on PyVISA for instrument communication and Qutie for the graphical user interface. It runs on both Linux and Windows operating systems.
Install
Install from GitHub using pip
pip install git+https://github.com/hephy-dd/comet.git@0.13.2
Quick start
COMET provides a basic application window and a set of modules for instrument communication and threaded processes.
The following minimal example registers a VISA compatible instrument, a callback action and invokes the application’s main window providing a layout with a text field and a button.
import comet
from comet import ui
# Create application
app = comet.Application("example")
app.title = "Example"
app.width = 460
app.height = 240
# Register a VISA resource
app.resources.add("instr", comet.Resource("ASRL2::INSTR", visa_library="@sim"))
# Load stored resource settings (optional)
app.resources.load_settings()
# Define a callback
def on_update():
with app.resources.get("instr") as instr:
idn_text.value = instr.query("*IDN?")
# Create read-only text input
idn_text = ui.Text(readonly=True)
# Create read button with on-click callback
read_button = ui.Button("Read IDN", clicked=on_update)
# Create window layout
app.layout = ui.Column(
ui.Row(
idn_text,
read_button
),
ui.Spacer()
)
# Run event loop
app.run()
About the project
COMET is © 2019-2021 by Bernhard Arnold, Institute of High Energy Physics, Austrian Academy of Sciences.
License
COMET is licensed under the GNU General Public License Version 3.