Skip to main content

Workspace-defined automation for quantum instrument action-outcome loops

Project description

Quailbot

Quailbot header

QUAIL stands for Quantum Uncertain Action-Outcome Instrument Loop.

Quailbot is a workspace-defined automation system for long-running action-outcome loops over external CLI surfaces and optional GUI fallback targets.

Quickstart

For direct-command work, use a clean dedicated Conda environment and install Quailbot into that active interpreter:

conda create -n quailbot python=3.11 -y
conda activate quailbot
python -m pip install -U pip setuptools wheel
python -m pip install -e D:\path\to\quailbot
where.exe quailbot

From the repository root, python -m pip install -e . is equivalent.

This is the recommended local toolized mode for source checkouts: it installs the quailbot command into the active Python environment instead of requiring a repo-local virtual environment launcher. where.exe quailbot verifies that Windows resolves the command from the environment you just activated.

On Windows, do not assume py -3.11 will work unless py -0p shows a registered Python 3.11 runtime. If the Windows launcher points at the wrong interpreter, keep using the environment's python -m pip ... command instead.

Editable installs pick up normal Python source edits on the next run.

Re-run python -m pip install -e . after changes to:

  • pyproject.toml dependencies or packaging metadata,
  • console-script entry points,
  • moving, renaming, or replacing the checkout,
  • package data or other install-time resources.

Check the runtime surface:

quailbot doctor
quailbot host init
quailbot host run
quailbot hub init
quailbot hub serve

Start the human-first launcher:

quailbot run

Bare quailbot run is the human-first launcher path. The launcher can reopen the last workspace, use the local starter workspace, accept another workspace path, or open calibration first.

Open a specific workspace interactively:

quailbot run --workspace D:\path\to\workspace.json

Run a local headless task against a workspace:

quailbot run --workspace D:\path\to\workspace.json --task "Set the requested values, verify the readbacks, and collect the requested scan."

Headless --task runs require an explicit --workspace <path>.

Open the workspace calibration UI:

quailbot calibrate --workspace D:\path\to\workspace.json

Calibration remains where workspace definition and refinement happen.

If no workspace is supplied, quailbot calibrate creates a writable starter copy under %AppData%\Quailbot\local\workspace.json and opens that file.

Command surface

quailbot host init|run|start|stop|status|logs
quailbot hub init|serve|status
quailbot run
quailbot run --workspace <path>
quailbot run --workspace <path> --task "..."
quailbot monitor --job <job_id>
quailbot calibrate [--workspace <path>] [--check]
quailbot doctor [host|hub|workspace --path <path>]

The headless run --task path prints the produced session artifact path on stdout so it can be inspected after the run. The interactive path keeps the local Textual operator UI available without requiring the host or hub services.

Runtime data locations

Quailbot keeps installed runtime state out of the repository root:

Surface Default location
Host service %ProgramData%\Quailbot\host\
Hub bridge %AppData%\Quailbot\hub\
Local direct runs and settings %AppData%\Quailbot\local\

These roots hold configs, sessions, logs, mirrors, and local settings. Normal usage should not require PowerShell launchers or repo-root session folders.

Workspaces

The workspace remains the automation contract. It defines:

  • external CLI parameters and actions Quailbot may use,
  • optional GUI anchors and regions for fallback operations,
  • linked observables used for post-action readback,
  • provider and run settings used by local or hosted execution.

Calibration is the only place where external CLI capabilities are imported into a workspace. Runtime commands execute the already-approved capabilities from the workspace rather than inventing a new CLI contract.

Diagnostics

Use quailbot doctor for a read-only status report. It prints structured JSON checks for host, hub, local runtime paths, and workspace validity when a path is supplied.

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

quailbot-0.1.1.tar.gz (225.6 kB view details)

Uploaded Source

Built Distribution

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

quailbot-0.1.1-py3-none-any.whl (183.1 kB view details)

Uploaded Python 3

File details

Details for the file quailbot-0.1.1.tar.gz.

File metadata

  • Download URL: quailbot-0.1.1.tar.gz
  • Upload date:
  • Size: 225.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.5

File hashes

Hashes for quailbot-0.1.1.tar.gz
Algorithm Hash digest
SHA256 9cfa3505117ba06dad398bdf1a44eec6859fa1525d9f9767f75adf2808df65a0
MD5 9025c006d221069cc1c0ef4b6ca17c9c
BLAKE2b-256 8f5e14a52021efbccb6b285bd67c853671fef52e713b68a007856cff87bb635f

See more details on using hashes here.

File details

Details for the file quailbot-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: quailbot-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 183.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.5

File hashes

Hashes for quailbot-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2a223155528126b31a392605a4ac47bd1510e9062932f39e806c8354c0ce5796
MD5 2ce60e902e7a8efb39054c9ac988094d
BLAKE2b-256 95f1fbf01b4eadfa5f87926eea3490393374392e77b6f1a45f24a4fd8764998e

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