Skip to content
@yaq-project

yaq

A modular and extensible instrument control framework.

Our logo

👋 Hello, and welcome to the GitHub home of the yaq project.

yaq---Yet Another acQuisition

We are building a modular and extensible instrument control framework on top of Apache Avro RPC. In human terms, this means we have designed a simple user-friendly interface to control scientific hardware (motors, sensors, etc) from Python. We already support lots of hardware, and more is being added all the time.

The yaq project has no official orchestration support. We don't have "smart" tools to define experimental scans and record data. Our only goal is to build an excelent interface for addressing hardware. Let yaq solve the annoying part (hardware interface support) while you focus on the fun part (your unique experiment). Write a simple script to try an interesting experiment. Use Jupyter to interact with your hardware. Use an existing project focused on orchestration e.g. Bluesky. Develop your own one-off application, e.g. Pressure Monitoring Reactor.

# minimal 2D scan---from scratch
import time
import yaqc
motor1 = yaqc.Client(port=38000)
motor2 = yaqc.Client(port=38001)
sensor = yaqc.Client(port=38002)
data = []
for m1 in range(-10, 10, 1):
    for m2 in range(0, 300, 5):
        motor1.set_position(m1)
        motor2.set_position(m2)
        for c in [motor1, motor2]:
            while c.busy():
                time.sleep(0.001)
        sensor.measure()
        while sensor.busy():
            time.sleep(0.001)
        reading = dict()
        reading["timestamp"] = time.time()
        reading["motor1"] = motor1.get_position()
        reading["motor2"] = motor2.get_position()
        reading.update(sensor.get_measured())
        data.append(reading)

Come join us!

Our website: https://yaq.fyi/

Chat room: https://matrix.to/#/#yaq:matrix.org

Community call: https://hackmd.io/team/yaq

Email listserve: https://groups.google.com/a/g-groups.wisc.edu/g/yaq

Publication: https://doi.org/10.1063/5.0135255

Pinned Loading

  1. yaq-fyi yaq-fyi Public

    Main website for yaq documentation.

    HTML 4 6

  2. yeps yeps Public

    yaq enhancement proposals

    HTML 2 2

  3. yaq-python yaq-python Public

    Repository for yaq core python packages.

    Python 6 5

  4. yaqd-cookiecutter-python yaqd-cookiecutter-python Public

    Cookiecutter template for making new yaq daemons using Python.

    Python 1 3

  5. yaq-traits yaq-traits Public

    Tooling for working with yaq traits.

    Python 2 3

  6. yaqd-control yaqd-control Public

    Command line tools for inspecting and controlling yaq daemons.

    Python 2 3

Repositories

Showing 10 of 61 repositories
  • yaqd-watchdog Public

    yaq daemons to set up "watchdog timer" rules

    yaq-project/yaqd-watchdog’s past year of commit activity
    Python 0 LGPL-3.0 1 3 2 Updated Sep 2, 2024
  • yaqd-vimbax Public

    Camera Daemons using the Vimba X API.

    yaq-project/yaqd-vimbax’s past year of commit activity
    Python 0 LGPL-3.0 0 0 1 Updated Sep 2, 2024
  • yaq-project/yaqd-thorlabs’s past year of commit activity
    Python 1 LGPL-3.0 3 4 7 Updated Sep 2, 2024
  • yaqd-zaber Public

    yaq daemons for Zaber Technologies products

    yaq-project/yaqd-zaber’s past year of commit activity
    Python 0 LGPL-3.0 2 1 1 Updated Sep 2, 2024
  • yaqd-vici Public

    yaq support for VICI hardware

    yaq-project/yaqd-vici’s past year of commit activity
    Python 0 LGPL-3.0 2 0 1 Updated Sep 2, 2024
  • yaqd-ti Public
    yaq-project/yaqd-ti’s past year of commit activity
    Python 0 LGPL-3.0 2 1 1 Updated Sep 2, 2024
  • yaqd-spectra-physics Public

    Daemons for interacting with Spectra-Physics lasers

    yaq-project/yaqd-spectra-physics’s past year of commit activity
    Python 0 LGPL-3.0 0 0 1 Updated Sep 2, 2024
  • yaqd-seek Public

    yaq daemons for Seek thermal cameras

    yaq-project/yaqd-seek’s past year of commit activity
    Python 3 LGPL-3.0 2 3 1 Updated Sep 2, 2024
  • yaq-project/yaqd-system-monitor’s past year of commit activity
    Python 0 LGPL-3.0 1 1 1 Updated Sep 2, 2024
  • yaq-project/yaqd-scpi’s past year of commit activity
    Python 0 LGPL-3.0 1 5 2 Updated Sep 2, 2024

Top languages

Loading…

Most used topics

Loading…