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.0.tar.gz (347.4 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.0-py3-none-any.whl (137.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: anolis_workbench-0.11.0.tar.gz
  • Upload date:
  • Size: 347.4 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.0.tar.gz
Algorithm Hash digest
SHA256 ed578a505c1d722c657444a8d519c6ffa6f92454cf9331f37f0217500f57ffab
MD5 dfe83b8f976ee524c9913fc934fdf4f4
BLAKE2b-256 af736332ec0a2bc84f578c0754cb240c618c49ddc6503b0c01024d1066a64ae2

See more details on using hashes here.

Provenance

The following attestation bundles were made for anolis_workbench-0.11.0.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.0-py3-none-any.whl.

File metadata

File hashes

Hashes for anolis_workbench-0.11.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c3605d328f8dff2a5646b0c318fbf6093af37047dc3549b0021fd970a6d100dc
MD5 755dde1f012c2ce9cf538ca470ada567
BLAKE2b-256 e2e053ab3110c92f5d76912595378aa38dbab0ea860ea2234c68f39a5bfc3e3d

See more details on using hashes here.

Provenance

The following attestation bundles were made for anolis_workbench-0.11.0-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