Skip to main content

Anolis commissioning workbench with handoff export tooling.

Project description

anolis-workbench

Commissioning shell repository for Anolis.

Repository structure:

  1. anolis_workbench/core — pure domain library (projects, renderer, launcher, exporter, validators, paths)
  2. anolis_workbench/server — unified HTTP server (Compose + Commission + Operate /v0/* proxy)
  3. anolis_workbench/cli — CLI entry points (anolis-workbench, anolis-package, anolis-validate)

Developer references:

  1. Contributing guide: CONTRIBUTING.md
  2. Changelog: CHANGELOG.md

Quick Start

Download and run (recommended)

Desktop app (recommended for commissioning):

Download the latest Tauri desktop installer from Releases. Run the installer — the desktop wrapper bundles the Python runtime and starts automatically.

CLI / server via PyPI:

pip install anolis-workbench
anolis-workbench          # starts the commissioning server
anolis-package <project>  # build a handoff package
anolis-validate <pkg>     # validate a handoff package

Requires Python 3.11+. Open http://127.0.0.1:3010 in a browser after starting.

Build from source (contributors)

uv sync --locked --extra dev
./start.sh

Or via module entry point:

python -m anolis_workbench.server.app

Windows launcher: start.cmd.

CLI

Build handoff package:

anolis-package <project-name> [output.anpkg]

Validate handoff package:

anolis-validate <package.anpkg>
# or
python contracts/validate-handoff-packages.py <package.anpkg>

Frontend Tests

cd frontend
npm run test:unit:coverage
npm run test:components:coverage

The Vitest lanes enforce coverage thresholds for frontend/src/lib/*.

Desktop Wrapper

A native Tauri wrapper now lives under desktop/.

Runtime model:

  1. Tauri launches a frozen Python sidecar.
  2. Sidecar serves Workbench at http://127.0.0.1:3010.
  3. WebView consumes the same localhost HTTP/SSE surface as browser mode.

Important system requirement:

  • Port 3010 is reserved by the desktop wrapper. If another process is bound to that port, desktop startup fails with a native error dialog.

Desktop workflows/docs:

  1. Desktop release workflow: .github/workflows/desktop-release.yml
  2. Desktop wrapper source: desktop/src-tauri/
  3. Desktop handoff guide: docs/release-desktop-handoff.md

Repository Contracts

  1. Runtime HTTP snapshot: contracts/runtime-http.openapi.v0.yaml
  2. Workbench API OpenAPI: contracts/workbench-api.openapi.v1.yaml
  3. Handoff/control baselines: docs/contracts/*.md
  4. Runtime config schema: anolis_workbench/schemas/runtime-config.schema.json
  5. Machine profile schema: anolis_workbench/schemas/machine-profile.schema.json

Handoff Docs

  1. Commissioning handoff runbook: docs/commissioning-handoff-runbook.md
  2. Handoff package v1 format: docs/contracts/handoff-package-v1.md
  3. PyPI/OIDC release handoff: docs/release-pypi-handoff.md
  4. Desktop release handoff: docs/release-desktop-handoff.md

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

anolis_workbench-0.11.1.tar.gz (348.2 kB view details)

Uploaded Source

Built Distribution

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

anolis_workbench-0.11.1-py3-none-any.whl (137.8 kB view details)

Uploaded Python 3

File details

Details for the file anolis_workbench-0.11.1.tar.gz.

File metadata

  • Download URL: anolis_workbench-0.11.1.tar.gz
  • Upload date:
  • Size: 348.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for anolis_workbench-0.11.1.tar.gz
Algorithm Hash digest
SHA256 3363a7418a98a1998e808f4b417b3eef383e197f9bb4d94fd385e06365a7eaf4
MD5 2321460620d0238e1c4d15df4b933d44
BLAKE2b-256 b2911a0962b4a23f120d87cde1154dc3cdfcfd1902a11e29d4e5161c5cc51896

See more details on using hashes here.

Provenance

The following attestation bundles were made for anolis_workbench-0.11.1.tar.gz:

Publisher: release.yml on anolishq/anolis-workbench

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file anolis_workbench-0.11.1-py3-none-any.whl.

File metadata

File hashes

Hashes for anolis_workbench-0.11.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3ea6d233cd060a3540fca86237d20011e51228506ffea094d73b22a34dc60be2
MD5 37d8979dfd8fcd22bbd83706ed17712c
BLAKE2b-256 01768b0e8054e1e416aa674d1b53245a3509fec66d8031e1f42352470beb908c

See more details on using hashes here.

Provenance

The following attestation bundles were made for anolis_workbench-0.11.1-py3-none-any.whl:

Publisher: release.yml on anolishq/anolis-workbench

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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