Skip to main content

Hugpy Fleet — Core arm

hugpy-fleet is the headless fleet console for Hugpy Core. It discovers the installed Core endpoint without a role prompt or environment variable and mirrors the same Wrapper-owned knobs exposed by hugpy-harness.

hugpy-harness controls one Wrapper; hugpy-fleet controls the fleet through Core. Both depend on hugpy-terminal and the shared settings contract. Neither arm depends on the other arm or on a local inference engine. Flask stays at Core's external API boundary; Core's internal services use its own store and headless primitives directly.

Headless use

hugpy-fleet endpoint
hugpy-fleet status
hugpy-fleet workers
hugpy-fleet models
hugpy-fleet schema --worker ae
hugpy-fleet settings --worker ae
hugpy-fleet settings --worker ae --model MODEL
hugpy-fleet settings --worker ae --model MODEL --set '{"ctx":8192}'

Commands return JSON. --base URL optionally overrides the address while retaining Core identity. An unavailable Core does not fall back to a Wrapper. A null setting restores inheritance. Pair reads identify Core's stored mirror; confirmed writes carry the owning Wrapper's readback.

from hugpy_fleet import Fleet
fleet = Fleet()
print(fleet.workers())
# fleet.settings('ae', model='MODEL', changes={'ctx': 8192})

Interactive and session clients

hugpy-fleet tui, hugpy-fleet chat, hugpy-fleet sessions and hugpy-fleet serve use the shared terminal runtime bound to Core. Core's Station console launches hugpy-fleet tui. The default Fleet journal is .hugpy_fleet/chat; an existing journal can be selected explicitly.

The standalone Debian package bundles the wheels for offline installation into /opt/hugpy-fleet/venv. Core also bundles Fleet in its own runtime. Build with installers/debian/build.sh OUTPUT, then install the explicit .deb.

Fleet models, Wrapper Harness and GPU Workers console

/models [ENGINE|all] (also /model) displays the complete fleet model catalog, including all tasks, worker copies and central libraries. Tab cycles the engine filter and typing searches the table. Enter offers compatible chat/task actions or opens controls on a chosen Wrapper. Fleet-wide chat selections use normal Core routing; they clear a prior session-specific Wrapper target.

/wrappers [WORKER] (also /wrapper) selects a registered Wrapper and mirrors its Harness model browser and shared settings through Core. Its catalog is exactly what that Wrapper advertises, including any central library it exposes. F3/F4/F6/F7 open the shared quant, MoE/4-bit, allocation and context controls. F8 switches Wrapper; F9 opens its allocation in the GPU Workers console. F2 opens model settings. Selecting a model here records the selected worker in the session and sends Core's alloc.worker target on subsequent chat calls.

/console [WORKER] (also /compute) opens the interactive GPU Workers console. A persistent worker selector sits beside clickable Models, GPU, RAM, Swap, CPU, Storage, Activity and Settings tabs. Narrow terminals use a compact worker bar. The action bar exposes settings, + Model, Free VRAM, Free RAM, refresh and the worker actions menu.

Model cells use the existing Harness dropdowns, checkboxes and context/placement sliders. Allocated, pin, quant, placement, MoE/4-bit, context, residency and measured memory columns are selectable with Left/Right; the model name stays visible while secondary columns scroll. Serving, Allocated, Local and All fleet filters keep allocation state distinct from model availability.

  • Model (or L) opens the UI-style multi-select allocation table. It shows storage relative to the chosen worker (hot/shared/central/none), central verification, Wrapper fit verdicts, every advertised task, engine, serving size, trained context and other allocations. Search and task/drive/fit filters retain checked models. Click headers or press S to sort; Left/Right scrolls columns with names fixed. Space/Enter checks a row; A selects eligible visible rows; F9 or Allocate applies the checked group. Models allocated elsewhere stay locked until B deliberately allows duplicates; archived models always stay locked. I shows copy paths and fit or refusal details. Each assignment uses Core's existing endpoint and readback; partial failures remain checked with their own reasons. Allocation designates routing; loading and file placement happen when called. Escape cancels unapplied selections and returns to the console.

Resource tabs show per-card GPU use, driver/external/Wrapper memory, individual PIDs, resident model panels, CPU assignments, swap, drive roles/budgets, transfer switches and request activity. Settings fields edit in place through the shared menus and limit sliders. Worker actions include refresh, unload, free RAM, restart, wildcard routing, pools and admission. These are explicit actions; browsing makes no configuration changes.

Click a control or use Tab to focus workers, tabs, content and the action bar. [ / ] switches worker. Enter/Space activates the selected control. F2 opens worker settings, F3 quant, F4 MoE/4-bit, F6 placement, F7 context, F8 the Wrapper Harness, F5 refresh and F1 navigation help. Escape closes a menu or returns focus to workers; Q returns directly to chat. Actions use Core's existing allocation and Wrapper-confirmed settings paths.

The main terminal resource pane has an Auto-route checkbox above highlighted Wrapper selectors. Auto-route is on by default: requests use general fleet routing, while Wrapper highlights filter resource visibility. Turn Auto-route off to restrict inference and task requests to the highlighted Worker batch. Switching modes preserves the selection. In manual mode the batch contains the selected Worker IDs; it does not automatically expand when another Worker joins. Selecting none pauses sending only in manual mode. All toggles the whole view or manual batch. Choices and routing mode persist per session.

Click a checkbox, or use Ctrl-R, Left/Right and Space; Down enters resource details and W returns to the selectors. Explicitly selecting a Wrapper model turns Auto-route off and targets that Wrapper. Core enforces manual selection before residency, allocation and wildcard ranking. /observe remains an independent observation filter. Direct single-Wrapper sessions retain their existing target.

/settings [WORKER] opens the shared Harness settings editor for the selected Wrapper, with Connections, Auto, Model, Worker, Central and Drives tabs. The initial visit asks which Wrapper to edit. The Wrapper choice is shared while this terminal is open. Escape returns to chat; F2 settings return to their model browser. All views keep the configured Core endpoint; clients do not connect directly to the registered loopback Wrapper URLs.

Browsing does not load a model. Settings saves require Wrapper readback; allocation and pin changes require Core readback. Stage/free requests are submitted actions whose eventual result is observed on refresh. Measured residency is distinguished from reported load state in the console table.

Headless equivalents:

hugpy-fleet compute --worker ae
hugpy-fleet models --worker ae --query Qwen
hugpy-fleet resources --worker ae
hugpy-fleet drives --worker ae
hugpy-fleet detail --worker ae --model MODEL
hugpy-fleet settings --worker ae
hugpy-fleet settings --worker ae --model MODEL
hugpy-fleet action assign --worker ae --model MODEL

Actions are explicit mutations; reads do not trigger inference. Shared clients unwrap Core's standard result response envelope before reading inventory or confirming writes. Worker resource/plan reads carry Core-mirror provenance.

Metadata

Release files for hugpy-fleet 0.2.13

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hugpy-fleet 0.2.13
File Size Uploaded Provenance
hugpy_fleet-0.2.13.tar.gz 6.3 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for hugpy-fleet 0.2.13
File Interpreter ABI Platform
hugpy_fleet-0.2.13-py3-none-any.whl Python 3 none any Details

Total release size: 13.1 kB

Release files / hugpy_fleet-0.2.13.tar.gz

Download URL hugpy_fleet-0.2.13.tar.gz
Size 6.3 kB
Tags Source
SHA-256 checksum
How to use checksums
2d10015a4aa9a35d625b764ce8516fd5b00e9659199a397aab47353089a864e9
BLAKE2b-256 checksum
How to use checksums
4537d24c2c9c9495d5b1c9af2cc90de7db29db2bd03da6c6de95c16d4084f576
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / hugpy_fleet-0.2.13-py3-none-any.whl

Download URL hugpy_fleet-0.2.13-py3-none-any.whl
Size 6.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2c1032d8784826fa99fd855f0cad91f0669ad1e457286e039ee9a1961d8523f3
BLAKE2b-256 checksum
How to use checksums
bb7c6137bcc543689a85534733ac610fb1e56262d0d1b107dd81f390477e2ac9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Security for hugpy-fleet 0.2.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page