Skip to main content

hugpy-engine

hugpy-engine is the standalone boundary for Hugpy's complete inference path:

prompt/messages
    -> model discovery and resolution
    -> RAM/VRAM allocation and admission
    -> engine and runner selection/loading
    -> generation and continuation
    -> streamed events or a completed reply

The package is split by responsibility:

  • catalog — discovered models, task/media/default model resolution;
  • allocation — feasible modes, default placement, spill and admission plans;
  • engines — native llama.cpp discovery and GGUF runner lifecycle;
  • runtime — request resolution, execution, runner caching and eviction;
  • query — prompt/messages to streamed events, text, or QueryResult;
  • backend — the injection contract joining those layers to an implementation.

The package imports CPU-only: import hugpy_engine never loads llama_cpp, torch, transformers or peft. Those arrive through extras and are imported by the runner that needs them:

extra provides
hugpy-engine[gguf] in-process GGUF inference via llama-cpp-python
hugpy-engine[transformers] the transformers text-generation runner
hugpy-engine[finetune] PEFT adapter loading
hugpy-engine[index] the optional Postgres model index

The default backend is the in-process LocalBackend (hugpy_engine.backends), built from the engine's own catalog, allocation, native-engine and dispatch modules; configure_backend(...) / backend_scope(...) swap in another InferenceBackend (a fake in tests, a remote proxy in a thin client).

from hugpy_engine import query_sync

reply = query_sync("Explain tensor parallelism", model_key="my-model")

Async callers use await query(...). stream_query(...) yields engine events; query_result(...) retains request ID, finish reason, usage, and timings.

Seams (what the engine asks of the packages above it)

  • hugpy_engine.placement — Protocols + get_*()/set_*() providers for everything the engine asks about the fleet (worker registry and key forms, worker HTTP transport/breaker, eviction telemetry ledger, blocklist, model metrics, priority groups). Null defaults mean "no fleet"; hugpy_fleet implements them and the server wires them.
  • hugpy_engine.tasks — the task-runner registry. Media and video runners plug in with register_task(task, runner=..., build_request=..., frameworks=(...), extra=..., source=...); FRAMEWORK_RUNNERS, MODEL_REQUEST_BUILDERS and KNOWN_TASKS_REGISTRY in hugpy_engine.resolvers.categories are live views over it. Packages may also expose a hugpy_engine.tasks entry point (a zero-arg register function); the engine loads those on first use.
  • hugpy_engine.catalog_bridge — installs the engine's registry as hugpy_storage's catalog source, the hot cache as its serve-path hook, and refreshes discovery on hugpy_control.bus catalog.changed events. LocalBackend installs it lazily.
  • hugpy_engine.name_match — the pure eliminate-then-rank name pipeline (resolve_name, Candidate) that assure_model_key uses; the oracle re-exports it.

Release files for hugpy-engine 0.2.2

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-engine 0.2.2
File Size Uploaded
hugpy_engine-0.2.2.tar.gz 631.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for hugpy-engine 0.2.2
File Interpreter ABI Platform
hugpy_engine-0.2.2-py3-none-any.whl Python 3 none any Details

Total release size: 1.2 MB

Release files / hugpy_engine-0.2.2.tar.gz

Download URL hugpy_engine-0.2.2.tar.gz
Size 631.8 kB
Tags Source
SHA-256 checksum
How to use checksums
59e46fc3629e1bfa937ed0cb920d410d875616fda109c150506d56608fe4430c
BLAKE2b-256 checksum
How to use checksums
51813634868a9d0a7e2966b7ec306e7e2a2fc43f9414e69bb313d76a80044fff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.12

Release files / hugpy_engine-0.2.2-py3-none-any.whl

Download URL hugpy_engine-0.2.2-py3-none-any.whl
Size 546.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
aa2ccbc85d77a94c869da5da3d75f77b917b6576eee6af679a5fcef062723ac3
BLAKE2b-256 checksum
How to use checksums
2c09ebd7d763175b072af5d4d9892920376b00d6719f777f22eda53c2c4d2380
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.12

Release history Release notifications | RSS feed

This release

0.2.2 This release

2 release files

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