Skip to main content

huri-hub

huri hub: find and install HuRI modules, from the verified registry of huri-modules (registry.toml) and from the community (GitHub repositories tagged huri-module).

huri hub search gesture             # GitHub repositories tagged `huri-module`
huri hub list                       # modules supporting the installed huri-core
huri hub list --verified            # only the registry
huri hub list --core 0.5.0 --all    # another version; --all keeps unsupported ones
huri hub install stt                # pip-installs a verified module; never enables it
huri hub install servo --community  # an unreviewed one: only when asked explicitly

huri is huri-core's command: it runs the commands installed packages register in the huri.commands entry point group, and this package registers hub. huri-hub ... and python -m huri_hub ... are the same command.

It is light (huri-core's base install, packaging, and tomli before Python 3.11): no Ray, no torch. In a huri-modules checkout ./install.sh installs it; otherwise, from git, with huri-core on the same command line (neither is on PyPI, so pip never looks them up on an index):

ref=0.1.0   # a huri-modules release tag
core=0.4.0  # HURI_CORE_REF in that release's versions.env
pip install \
  "huri-core @ git+https://github.com/Lucy-Robotics/huri-core.git@$core" \
  "huri-hub @ git+https://github.com/Lucy-Robotics/huri-modules.git@$ref#subdirectory=packages/huri-hub"

The registry is read from --registry PATH|URL|CHECKOUT, else HURI_REGISTRY, else the huri-modules checkout the current directory is in, else GitHub at the huri-modules ref HURI_MODULES_REF (a release tag; main when unset). Curated modules are installed from huri-modules at that same ref, with the extra of their package they need (registry extra: huri hub install tts_cosyvoice installs huri-module-tts[cosyvoice]) and the curated packages they depend on (huri-events) in the same pip command; verified third-party modules at their reviewed tag. Nothing found is ever loaded: enabling a module stays the server operator's HURI_MODULES decision.

pip installs the package and its extra, not what a module may need besides: model weights, exact hardware pins (requirements-<variant>[.<module>].txt) or a setup script. huri hub install tts_cosyvoice, for one, brings torch and torchaudio unpinned, but not CosyVoice's pins, its checkout (install_cosyvoice.sh) nor its HURI_COSY_DIR; after a curated module, the command prints where its package's README says what is left.

It refuses a module when another installed distribution registers the same module name, or is one its package replaced (huri-module-tts replaced huri-tts, huri-module-tts-piper and huri-module-tts-cosyvoice): huri-core would then load no module at all. It names them, to remove with pip uninstall huri-tts huri-module-tts-piper huri-module-tts-cosyvoice first. GITHUB_TOKEN raises GitHub's rate limit.

huri_hub.registry is the one reader of the registry schema: huri-modules' check_registry.py checks the real file with it. A distribution of huri-modules, versioned in its pyproject.toml; a change of the registry schema is a huri-hub version bump in the same release (see RELEASING.md there). huri-hub 0.2 reads registry schema 2 (which added extra); 0.1 reads schema 1 only.

Metadata

Release files for huri-hub 0.2.0

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

Source distribution (sdist)

Source distribution for huri-hub 0.2.0
File Size Uploaded
huri_hub-0.2.0.tar.gz 22.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for huri-hub 0.2.0
File Interpreter ABI Platform
huri_hub-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 38.2 kB

Release files / huri_hub-0.2.0.tar.gz

Download URL huri_hub-0.2.0.tar.gz
Size 22.0 kB
Tags Source
SHA-256 checksum
How to use checksums
e612800f35d9bcbb668daeab799c713a27b055086e273429f6a739e4d4d4ef5f
BLAKE2b-256 checksum
How to use checksums
ca863291e86242508fa0eb23b7d52c7b89e37e70c1effb519ab58f6f27838cd9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / huri_hub-0.2.0-py3-none-any.whl

Download URL huri_hub-0.2.0-py3-none-any.whl
Size 16.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
13f58ed0632a9b1a70c0b7ecb75f70901901ee03a860a628877bcff87fce6bd6
BLAKE2b-256 checksum
How to use checksums
2155bbd1c4416981e57c7d34b3df8183ce1544543e6e10f46e9e02cf5bf46e02
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release history Release notifications | RSS feed

This release

0.2.0 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