hypernix 0.72.5.dev3__tar.gz → 0.72.5.post3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/.github/workflows/ios.yml +100 -4
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/.github/workflows/public-release.yml +68 -5
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/.github/workflows/release.yml +8 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/PKG-INFO +211 -21
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/README.md +210 -20
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/bin/hypernix-t1 +49 -1
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/install-t1.sh +135 -4
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/pyproject.toml +9 -1
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/setup.cfg +1 -1
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/__init__.py +1 -1
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/hyped_pro.js +139 -0
- hypernix-0.72.5.post3/src/hypernix/hyperlink/catalogue.py +426 -0
- hypernix-0.72.5.post3/src/hypernix/hyperlink/compaction.py +295 -0
- hypernix-0.72.5.post3/src/hypernix/hyperlink/generation.py +193 -0
- hypernix-0.72.5.post3/src/hypernix/hyperlink/inference.py +176 -0
- hypernix-0.72.5.post3/src/hypernix/hyperlink/managed.py +548 -0
- hypernix-0.72.5.post3/src/hypernix/hyperlink/memory.py +413 -0
- hypernix-0.72.5.post3/src/hypernix/hyperlink/preferences.py +392 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/hyperlink/sessions.py +171 -0
- hypernix-0.72.5.post3/src/hypernix/hyperlink/toolloop.py +276 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/interfaces/cli.py +103 -3
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/interfaces/hyped_pro_bridge.py +73 -2
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/interfaces/hyped_pro_gui.py +158 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/interfaces/noodle/__init__.py +12 -0
- hypernix-0.72.5.post3/src/hypernix/interfaces/noodle/hyped.py +521 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/interfaces/noodle/tools.py +234 -0
- hypernix-0.72.5.post3/src/hypernix/monitoring/cctvtop.py +263 -0
- hypernix-0.72.5.post3/src/hypernix/monitoring/remote_desktop.py +647 -0
- hypernix-0.72.5.post3/src/hypernix/monitoring/stale_log.py +596 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/monitoring/tvtoppro.py +374 -3
- hypernix-0.72.5.post3/src/hypernix/monitoring/tvtoppro_modules.py +724 -0
- hypernix-0.72.5.post3/src/hypernix/quant/dflash1.py +400 -0
- hypernix-0.72.5.post3/src/hypernix/quant/dflash1_cli.py +140 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/quant/dflash2.py +49 -39
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/quant/gguf.py +6 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/quant/ggufcheck.py +12 -11
- hypernix-0.72.5.post3/src/hypernix/quant/hyprslug.py +1253 -0
- hypernix-0.72.5.post3/src/hypernix/quant/hyprslug_cli.py +615 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/quant/lowbit.py +55 -1
- hypernix-0.72.5.post3/src/hypernix/quant/multiquant.py +702 -0
- hypernix-0.72.5.post3/src/hypernix/quant/multiquant_cli.py +173 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/quant/steamroller.py +17 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/security/keymaster.py +89 -4
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/system/__init__.py +5 -4
- hypernix-0.72.5.post3/src/hypernix/system/blanking.py +300 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/system/config.py +79 -3
- hypernix-0.72.5.post3/src/hypernix/system/hardware.py +360 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/system/nettrust.py +30 -3
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/system/outage.py +77 -49
- hypernix-0.72.5.post3/src/hypernix/system/protect.py +284 -0
- hypernix-0.72.5.post3/src/hypernix/t1api/accounts.py +803 -0
- hypernix-0.72.5.post3/src/hypernix/t1api/accounts_cli.py +313 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/app.py +60 -1
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/config.py +59 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/deps.py +87 -1
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/modelindex.py +39 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/modelindex_cli.py +43 -8
- hypernix-0.72.5.post3/src/hypernix/t1api/pricing.py +270 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/routers/__init__.py +25 -0
- hypernix-0.72.5.post3/src/hypernix/t1api/routers/accounts.py +705 -0
- hypernix-0.72.5.post3/src/hypernix/t1api/routers/compact.py +214 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/routers/hyperlink.py +691 -24
- hypernix-0.72.5.post3/src/hypernix/t1api/routers/memory.py +150 -0
- hypernix-0.72.5.post3/src/hypernix/t1api/routers/noodle.py +224 -0
- hypernix-0.72.5.post3/src/hypernix/t1api/routers/runner.py +257 -0
- hypernix-0.72.5.post3/src/hypernix/t1api/runner_cli.py +261 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/schemas.py +273 -0
- hypernix-0.72.5.post3/src/hypernix/t1api/upgrade.py +248 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/version.py +3 -3
- hypernix-0.72.5.post3/src/hypernix/t1api/webauth.py +357 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/timing/spinner.py +69 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix.egg-info/SOURCES.txt +58 -0
- hypernix-0.72.5.post3/tests/conftest.py +152 -0
- hypernix-0.72.5.post3/tests/test_chat_compaction.py +346 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_cli_json_output.py +13 -6
- hypernix-0.72.5.post3/tests/test_cli_unknown_command.py +164 -0
- hypernix-0.72.5.post3/tests/test_conftest_rails.py +182 -0
- hypernix-0.72.5.post3/tests/test_generation_stop.py +357 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_ggufcheck.py +9 -3
- hypernix-0.72.5.post3/tests/test_hyperlink_ios_wiring.py +998 -0
- hypernix-0.72.5.post3/tests/test_hyperlink_keyless.py +216 -0
- hypernix-0.72.5.post3/tests/test_hyperlink_pt3_wiring.py +735 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_hypernix_t1_service.py +79 -0
- hypernix-0.72.5.post3/tests/test_hyprslug_protected_tensors.py +269 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_hyprslug_row_blocks.py +66 -12
- hypernix-0.72.5.post3/tests/test_inference_backend.py +272 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_install_script.py +344 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_ios_llama_link.py +201 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_lint_regressions.py +4 -1
- hypernix-0.72.5.post3/tests/test_managed_runner.py +327 -0
- hypernix-0.72.5.post3/tests/test_memory.py +395 -0
- hypernix-0.72.5.post3/tests/test_message_editing.py +294 -0
- hypernix-0.72.5.post3/tests/test_model_catalogue.py +281 -0
- hypernix-0.72.5.post3/tests/test_model_pricing.py +261 -0
- hypernix-0.72.5.post3/tests/test_multiquant.py +551 -0
- hypernix-0.72.5.post3/tests/test_noodle_api.py +301 -0
- hypernix-0.72.5.post3/tests/test_noodle_hyped.py +560 -0
- hypernix-0.72.5.post3/tests/test_preferences.py +304 -0
- hypernix-0.72.5.post3/tests/test_protect_blanking.py +310 -0
- hypernix-0.72.5.post3/tests/test_remote_desktop.py +428 -0
- hypernix-0.72.5.post3/tests/test_runner_cli.py +276 -0
- hypernix-0.72.5.post3/tests/test_security_fixes.py +364 -0
- hypernix-0.72.5.post3/tests/test_server_hardware.py +221 -0
- hypernix-0.72.5.post3/tests/test_server_upgrade.py +203 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_subbit_quantization.py +26 -3
- hypernix-0.72.5.post3/tests/test_t1_accounts.py +747 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_t1_v1_0_26_core.py +3 -3
- hypernix-0.72.5.post3/tests/test_tool_loop.py +361 -0
- hypernix-0.72.5.post3/tests/test_tvtoppro_features.py +488 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/CLI.md +80 -5
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/Changelog.md +720 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/Home.md +1 -1
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/HyprSlug.md +50 -7
- hypernix-0.72.5.post3/wiki/Model-Training-Guide.md +391 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/Release-Timeline.md +69 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/Roadmap.md +48 -19
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/Training.md +4 -0
- hypernix-0.72.5.dev3/src/hypernix/monitoring/cctvtop.py +0 -162
- hypernix-0.72.5.dev3/src/hypernix/quant/hyprslug.py +0 -734
- hypernix-0.72.5.dev3/src/hypernix/quant/hyprslug_cli.py +0 -302
- hypernix-0.72.5.dev3/src/hypernix/system/protect.py +0 -178
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/.github/workflows/build.yml +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/.github/workflows/ci.yml +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/.github/workflows/codacy.yml +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/.github/workflows/codeql.yml +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/.github/workflows/deploy-docs.yml +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/.github/workflows/update-json-stats.yml +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/.github/workflows/update-readme.yml +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/LICENSE +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/MANIFEST.in +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/assets/banner-hero.svg +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/assets/logo/Gemini_Generated_Image_nxfdm1nxfdm1nxfd-removebg-preview.png +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/assets/logo/Gemini_Generated_Image_nxfdm1nxfdm1nxfd.png +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/assets/logo-new/apple-touch-icon.png +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/assets/logo-new/favicon-16.png +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/assets/logo-new/favicon-32.png +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/assets/logo-new/favicon-48.png +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/assets/logo-new/hypernix-favicon.svg +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/assets/logo-new/hypernix-icon-dark.svg +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/assets/logo-new/hypernix-icon-mono.svg +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/assets/logo-new/hypernix-icon-ondark.svg +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/assets/logo-new/hypernix-icon-white.svg +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/assets/logo-new/hypernix-icon.svg +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/assets/logo-new/hypernix-lockup-dark.svg +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/assets/logo-new/hypernix-lockup-light.svg +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/assets/logo-new/icon-192.png +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/assets/logo-new/icon-512.png +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/assets/logo.png +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/assets/logo1.png +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/bin/_hypernix_python.sh +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/bin/hyped+ +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/bin/hyped-pro +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/bin/hyped-pro-gui +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/examples/curriculum_eval_v0_70_4.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/examples/custom_arch.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/examples/hypernix_run.json +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/examples/hyprslug-headers/README.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/examples/hyprslug-headers/serve.sh +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/examples/hyprslug-headers/wrap-for-lmstudio.sh +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/examples/quickstart.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/examples/resilient_finetune_v0_70_4.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/examples/run_hypernix.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/examples/t1api/.env.example +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/examples/t1api/API-EXAMPLES.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/examples/t1api/Dockerfile +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/examples/t1api/README.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/examples/t1api/config/.gitkeep +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/examples/t1api/docker-compose.yml +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/examples/t1api/hypernix-t1api.service +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/examples/t1api/nginx.conf +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/examples/t1api/openapi.json +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/examples/t1api/run_local.sh +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/examples/t1api/run_tailscale.sh +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/examples/train hypernix 1 5 gtx1080.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/examples/train_hypernix_0_1_5_evaluator.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/examples/train_hypernix_1_5_gtx1080.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/examples/tvtoppro/README.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/examples/tvtoppro/dracula.theme +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/examples/tvtoppro/gruvbox-dark.theme +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/examples/tvtoppro/hypernix.theme +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/examples/tvtoppro/mono.theme +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/examples/tvtoppro/monokai.theme +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/examples/tvtoppro/nord.theme +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/examples/tvtoppro/tokyo-night.theme +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/examples/upload_to_hub.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/pytest.ini +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/ruff.toml +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/scripts/README.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/scripts/apply_hypernix_fixes.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/scripts/autofix +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/scripts/autofix-B +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/scripts/autofix-E +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/scripts/autofix-F +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/scripts/autofix_scope.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/scripts/benchmark_v5.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/scripts/benchmark_v5s.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/scripts/benchmark_v6.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/scripts/ci/fake_model_server.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/scripts/ci/integration_probe.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/scripts/ci/wait_for_http.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/scripts/install_deps.sh +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/scripts/install_macos_legacy.sh +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/scripts/measure_optimizer_memory.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/scripts/quantize_i7_7660u.sh +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/scripts/t1api_examples.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/scripts/update_json_stats.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/setup.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/__main__.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/audio/__init__.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/audio/audiofile.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/audio/features.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/audio/wakeup.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/audio/wakeup_cli.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/bridge/__init__.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/bridge/lmstudio.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/chat/__init__.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/chat/cookbook.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/chat/countertop.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/chat/flour.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/chat/injection.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/chat/menu.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/data/__init__.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/data/blender.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/data/cardboard_box.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/data/cutting_board.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/data/food_processor.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/data/gather.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/data/gather_cli.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/data/lunchbox.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/data/mediocre_fridge.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/data/pans.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/data/pepper_shaker.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/data/qa.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/data/salt_shaker.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/data/scavenger.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/data/sink.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/data/strainer.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/data/toaster.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/data/tupperware.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/evaluation/__init__.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/evaluation/espresso_maker.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/evaluation/industrial_range.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/evaluation/new_fridge.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/evaluation/new_range.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/evaluation/old_range.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/evaluation/vera.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/hyperlink/__init__.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/hyperlink/discovery.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/hyperlink/files.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/hyperlink/hfdownload.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/hyperlink/hfmerge.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/hyperlink/identity.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/hyperlink/notify.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/hyperlink/ondevice.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/hyperlink/pairing.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/hyperlink/peers.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/hyperlink/search.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/hyperlink/sync.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/interfaces/__init__.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/interfaces/assistant.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/interfaces/hyped.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/interfaces/hyped_pro.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/interfaces/hyped_pro_core.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/interfaces/hyped_pro_tools.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/interfaces/noodle/agent.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/interfaces/noodle/cli.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/interfaces/noodle/hpo.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/interfaces/noodle/providers.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/interfaces/noodle/swarm.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/interfaces/noodle/validate.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/interfaces/version_launcher.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/interfaces/websearch.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/interfaces/wiki_cli.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/models/__init__.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/models/arch.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/models/brewer_adapter.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/models/download.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/models/generate.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/models/ggufrun.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/models/hnxdevice.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/models/hnxrun.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/models/hnxtokenizer.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/models/hnxtorch.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/models/microwave.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/models/multilama.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/models/nano_nano.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/models/neo_oven.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/models/old_oven.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/models/stml.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/models/whisk.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/models/workshop.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/monitoring/__init__.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/monitoring/hyper_log.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/monitoring/livestream.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/monitoring/map.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/monitoring/plasma.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/monitoring/table.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/monitoring/thermometer.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/monitoring/tv.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/monitoring/tvtop.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/monitoring/tvtop_plus_plus.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/optimizers/__init__.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/optimizers/optimizer_framework.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/optimizers/pressure_cooker.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/optimizers/pressure_cooker_v3.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/optimizers/pressure_cooker_v4.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/optimizers/pressure_cooker_v5.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/optimizers/pressure_cooker_v5s.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/optimizers/pressure_cooker_v6.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/optimizers/pressure_cooker_v6v.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/optimizers/sixbit.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/package-lock.json +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/package.json +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/py.typed +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/quant/__init__.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/quant/convert.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/quant/dflash2_cli.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/quant/fetcher.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/quant/formats.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/quant/hyprslug_headers.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/quant/hyprslug_headers_cli.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/quant/hyprslug_server.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/quant/imatrix.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/quant/imatrix_cli.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/quant/llamaquants.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/quant/qat.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/quant/quantize.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/quant/runtime_bridge.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/quant/runtime_bridge_cli.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/quant/steamroller_cli.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/quant/subbit.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/quant/upload.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/scriptgen/__init__.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/scriptgen/app.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/scriptgen/cli.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/scriptgen/params.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/scriptgen/templates.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/scriptgen/theme.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/scriptgen/widgets.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/security/__init__.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/security/gatekeeper.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/security/gkey_cli.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/security/keyconfig.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/security/keyversions.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/security/t2keys.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/system/compactor.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/system/deprecation.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/system/deps.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/system/dishwasher.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/system/doctor.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/system/ethanol.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/system/freezer.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/system/fusebox.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/system/fusebox_cli.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/system/gpus.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/system/launcher.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/system/net.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/system/old_fridge.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/system/pascal.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/system/pathfix.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/system/release.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/system/torch_compat.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/system/ups.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/system/utils.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/system/vram.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/__init__.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/audit.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/auth.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/authhistory.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/backup.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/billing.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/billingkeys.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/bootstrap.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/cost.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/data/model_registry.example.json +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/data/routing_policies.example.json +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/db.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/deploy.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/errors.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/events.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/jobs.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/keys.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/launchscript_cli.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/modules.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/mtls.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/netpolicy.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/ratelimit.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/registry.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/routers/audit.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/routers/auth.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/routers/authundo.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/routers/backup.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/routers/billing.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/routers/bridge.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/routers/config.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/routers/events.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/routers/health.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/routers/inference.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/routers/jobs.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/routers/keys.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/routers/models.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/routers/modules.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/routers/security.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/routers/servers.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/routers/training.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/routers/usage.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/routing.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/security.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/servers.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/storage.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/training_cli.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/transport.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1api/usage.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1sdk/__init__.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1sdk/client.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1sdk/errors.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1sdk/models.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/t1sdk/transport.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/timing/__init__.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/timing/bell.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/timing/coffee_maker.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/timing/smoke_alarm.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/timing/timer.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/training/__init__.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/training/abbicus.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/training/apron.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/training/brewer.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/training/cake_pan.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/training/camouflage.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/training/compute_framework.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/training/deep_fryer.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/training/fizzle.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/training/instant_pot.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/training/lazy_suzan.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/training/monitor.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/training/mtp.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/training/recipe_book.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/training/smoker.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/training/train.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/tsconfig.json +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/waiter/__init__.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/waiter/cli.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/waiter/client.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/waiter/diagnose.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/waiter/discovery.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/waiter/local_config.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/waiter/smoke.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/src/hypernix/waiter/tui.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/shell_support.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_alarms_and_presets.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_arch_mapping.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_assistant.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_autofix_scripts.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_billing_keys.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_bootstrap_key.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_brewer_adapter.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_brewer_causality.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_ci_integration_jobs.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_cli_integration.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_coverage_beef.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_decoder_agreement.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_deprecation.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_deps_and_windows.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_dflash2.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_effective_bitrate.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_ethanol.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_fetcher.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_freezer.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_fridges.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_fusebox.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_gather.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_ggml_hnx.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_gguf_inference.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_gkey_key_versions.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_gpu_migration.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_gpus.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_hnx_device_placement.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_hnx_devices.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_hnxrun.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_hyped_pro_bridge_cancel.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_hyped_pro_t1api.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_hyperlink_api_post9.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_hyperlink_discovery.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_hyperlink_notify.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_hyperlink_ondevice.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_hyperlink_ondevice_mirror.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_hyperlink_reachability.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_hyperlink_search.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_hyperlink_sync.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_hyprslug_field_reports.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_hyprslug_headers.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_hyprslug_recipes.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_imatrix.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_inference_endpoints.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_install_pin.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_ios_appicon.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_ios_concurrency.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_ios_version_wiring.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_kitchen_v044.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_kitchen_v045.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_launch_script.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_lazy_suzan.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_llama_quants.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_low_bit_types.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_lunchbox.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_map.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_model_registry_discovery.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_module_layout.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_neo_oven.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_neo_oven_generation.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_nettrust.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_new_archs_v035.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_nix_fallback.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_old_oven.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_pathfix.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_pressure_cooker_v048.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_pressure_cooker_v3.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_pressure_cooker_v6.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_qat.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_quantize_v0703.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_ranges.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_runtime_bridge.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_shakers_and_torchcompat.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_snapshot_roundtrip.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_sspkid_and_key_config.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_studio_core.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_studio_local.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_subsystem_map.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_t1_model_index.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_t1_v1_0_26_8_1_1.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_t1_v1_0_26_http.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_t1api_auth.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_t1api_beta3_core.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_t1api_beta3_http.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_t1api_beta3_security.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_t1api_beta4_usage_report.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_t1api_billing.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_t1api_core.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_t1api_events.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_t1api_example_scripts.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_t1api_http.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_t1api_http_beta2.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_t1api_jobs.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_t1api_modules.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_t1api_routing.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_t1api_security.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_t1api_servers.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_t2s_errors.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_tool_consent_gate.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_training_admin.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_trusted_network.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_tupperware.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_tvtop_plus_plus_comprehensive.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_tvtoppro.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_ups.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_v031_chat_and_archs.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_v047_deep_fryer_cake_pan_presets.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_v050.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_v051.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_v051_1.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_v051_3.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_v051_4.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_v052_5.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_v052_6.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_v060.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_v061_1.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_v061_2.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_v061_b1.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_v0703_additional.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_v0704_features.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_v0704_tvtop_plus_plus.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_v0704b11_features.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_v0704b12_cctvtop.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_v0705_all.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_v0710_gatekeeper_keymaster.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_v0711_border_fix.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_v0712_hyped_countertop.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_v0714_config_provider_keys.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_v0714_cpu_presets.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_v0714_hyped_pro_bridge.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_v0714_hyped_pro_core.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_v0714_hyped_pro_launcher.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_v0714_hyped_pro_tools.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_v0714_multilama.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_v0721_api_waiter.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_v0721_modules.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_v0721_t2_keys.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_vera.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_version_guard.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_version_launcher.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_vram_optimizations.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_waiter.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_waiter_diagnose.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_wakeup.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/tests/test_website_mobile.py +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/Abbicus.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/Alarms.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/Apron.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/Architectures.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/Bell.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/Blender.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/CakePan.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/Camouflage.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/Changelog-guide.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/CoffeeMaker.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/Convert.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/Cookbook.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/Countertop.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/CuttingBoard.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/Dashboards.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/DeepFryer.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/Devices.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/Dflash2.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/Download.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/EspressoMaker.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/Flour.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/FoodProcessor.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/Frameworks.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/Freezer.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/Fridges.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/FuseBox.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/Gather.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/HnxRun.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/HuggingFace-Models.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/HyperLink-OnDevice.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/HyperLink-Sync.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/HyperLog.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/HyprSlug-Headers.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/Imatrix.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/Kitchen.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/LowBit.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/Lunchbox.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/MTP.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/Menu.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/Microwave.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/ModelIndex.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/Optimizers.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/Ovens.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/Pans.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/Pascal.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/PipelineMechanics.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/Pressure-Cooker-V3.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/Pressure-Cooker-V4.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/Pressure-Cooker-V5.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/Pressure-Cooker-V6.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/Quantization.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/Ranges.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/RecipeBook.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/Runtime.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/STML.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/Scavenger.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/Shakers.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/Smoker.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/T1-API-Security-Checklist.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/T1-API.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/Toaster.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/Tupperware.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/TvTopPro.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/VRAM.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/Vera.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/Waiter-TUI.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/WakeUp.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/Whisk.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/Workshop.md +0 -0
- {hypernix-0.72.5.dev3 → hypernix-0.72.5.post3}/wiki/macOS-legacy.md +0 -0
|
@@ -49,7 +49,12 @@ on:
|
|
|
49
49
|
local_engine:
|
|
50
50
|
description: "Build llama.cpp into the app so it can run models on-device."
|
|
51
51
|
type: boolean
|
|
52
|
-
default
|
|
52
|
+
# True for a *called* build, unlike the dispatch default below.
|
|
53
|
+
# The only reason to call this workflow is to ship the result,
|
|
54
|
+
# and an IPA that cannot run a model is not worth shipping. The
|
|
55
|
+
# expensive default is the safe one here; the cheap default
|
|
56
|
+
# belongs on the PR path, where it is.
|
|
57
|
+
default: true
|
|
53
58
|
version:
|
|
54
59
|
description: "Marketing version to stamp into the build"
|
|
55
60
|
type: string
|
|
@@ -131,8 +136,50 @@ jobs:
|
|
|
131
136
|
# macOS runner and is not worth paying on a PR that touched a
|
|
132
137
|
# view. Without it the app builds and ships with EchoRunner,
|
|
133
138
|
# which tells the user this build has no local engine.
|
|
139
|
+
# Every trigger gets a stated answer, because the obvious
|
|
140
|
+
# expression does not have one.
|
|
141
|
+
#
|
|
142
|
+
# `if: ${{ inputs.local_engine }}` was the whole engine-skipping
|
|
143
|
+
# bug, and it looks correct. The `inputs` context exists *only*
|
|
144
|
+
# for `workflow_dispatch` and `workflow_call`; on a `push` or a
|
|
145
|
+
# `pull_request` it is not populated at all, so
|
|
146
|
+
# `inputs.local_engine` is null, null is falsy, and the step was
|
|
147
|
+
# skipped on every single commit to main -- silently, with a grey
|
|
148
|
+
# "skipped" in the log that looks exactly like a deliberate one.
|
|
149
|
+
# `--require-engine` was gated on the same expression, so the
|
|
150
|
+
# guard that exists to catch this was switched off by it too.
|
|
151
|
+
#
|
|
152
|
+
# Every commit to main therefore shipped an app whose on-device
|
|
153
|
+
# inference was EchoRunner. That is the "it always skips the
|
|
154
|
+
# inference engine build" report, and setting the workflow_call
|
|
155
|
+
# default to true (which fixed the release path) could not have
|
|
156
|
+
# fixed it: the release path was never the one skipping.
|
|
157
|
+
- name: Decide whether to build the engine
|
|
158
|
+
id: engine
|
|
159
|
+
env:
|
|
160
|
+
REQUESTED: ${{ inputs.local_engine }}
|
|
161
|
+
EVENT: ${{ github.event_name }}
|
|
162
|
+
run: |
|
|
163
|
+
set -euo pipefail
|
|
164
|
+
# REQUESTED is "true", "false", or empty when there is no
|
|
165
|
+
# `inputs` context to read. Empty is the case that has to be
|
|
166
|
+
# decided here rather than defaulted to false by accident.
|
|
167
|
+
case "$REQUESTED" in
|
|
168
|
+
true) want=true ;;
|
|
169
|
+
false) want=false ;;
|
|
170
|
+
*)
|
|
171
|
+
# No input: the trigger decides. main is what people
|
|
172
|
+
# install from and it gets a real engine; a pull request
|
|
173
|
+
# does not, because 15-25 minutes on every push is what
|
|
174
|
+
# makes somebody turn this off permanently.
|
|
175
|
+
if [ "$EVENT" = "push" ]; then want=true; else want=false; fi
|
|
176
|
+
;;
|
|
177
|
+
esac
|
|
178
|
+
echo "Engine requested: '${REQUESTED:-<no inputs context>}' on $EVENT -> $want"
|
|
179
|
+
echo "build=$want" >> "$GITHUB_OUTPUT"
|
|
180
|
+
|
|
134
181
|
- name: Build the inference engine
|
|
135
|
-
if:
|
|
182
|
+
if: steps.engine.outputs.build == 'true'
|
|
136
183
|
working-directory: ios
|
|
137
184
|
run: |
|
|
138
185
|
set -euo pipefail
|
|
@@ -151,7 +198,11 @@ jobs:
|
|
|
151
198
|
# XcodeGen cannot make that call: its `optional: true` means
|
|
152
199
|
# weak linking, not "skip when absent", so a spec that always
|
|
153
200
|
# names the framework fails to build on a checkout without it.
|
|
154
|
-
|
|
201
|
+
# --require-engine when the build asked for one, so a failed
|
|
202
|
+
# or skipped engine step fails here instead of shipping an IPA
|
|
203
|
+
# in which every on-device feature quietly does nothing.
|
|
204
|
+
python3 scripts/prepare_project.py \
|
|
205
|
+
${{ steps.engine.outputs.build == 'true' && '--require-engine' || '' }}
|
|
155
206
|
xcodegen generate --spec project.generated.yml
|
|
156
207
|
ls -la HyperLink.xcodeproj
|
|
157
208
|
|
|
@@ -186,6 +237,21 @@ jobs:
|
|
|
186
237
|
fi
|
|
187
238
|
echo "Testing on simulator $device"
|
|
188
239
|
set -o pipefail
|
|
240
|
+
# The whole log to a file, and only a summary to the console.
|
|
241
|
+
#
|
|
242
|
+
# This used to be `| tail -60`, which discards exactly what is
|
|
243
|
+
# needed when the build fails: xcodebuild prints a short
|
|
244
|
+
# "Testing failed:" summary of *deduplicated* messages and
|
|
245
|
+
# then the per-file errors with their line numbers, and the
|
|
246
|
+
# tail keeps the wrong end. A compile failure would report six
|
|
247
|
+
# unique messages and one file:line, so fixing it took a round
|
|
248
|
+
# trip per error.
|
|
249
|
+
#
|
|
250
|
+
# Now every `error:` line is echoed first, in full, and the
|
|
251
|
+
# complete log is uploaded as an artifact.
|
|
252
|
+
# The redirect below needs the directory to exist first.
|
|
253
|
+
mkdir -p build
|
|
254
|
+
set +e
|
|
189
255
|
xcodebuild test \
|
|
190
256
|
-project HyperLink.xcodeproj \
|
|
191
257
|
-scheme HyperLink \
|
|
@@ -193,7 +259,28 @@ jobs:
|
|
|
193
259
|
-destination "id=$device" \
|
|
194
260
|
-resultBundlePath build/TestResults.xcresult \
|
|
195
261
|
CODE_SIGNING_ALLOWED=NO \
|
|
196
|
-
|
|
262
|
+
> build/xcodebuild.log 2>&1
|
|
263
|
+
status=$?
|
|
264
|
+
set -e
|
|
265
|
+
|
|
266
|
+
if [ "$status" -ne 0 ]; then
|
|
267
|
+
echo "::group::Every compiler error"
|
|
268
|
+
# Sorted and deduplicated: a batch build repeats the same
|
|
269
|
+
# error once per file that triggered it, and forty copies of
|
|
270
|
+
# one message buries the other five.
|
|
271
|
+
grep -E "(error|warning): " build/xcodebuild.log \
|
|
272
|
+
| sed 's|/Users/runner/work/HyperNix-pip/HyperNix-pip/||' \
|
|
273
|
+
| sort -u \
|
|
274
|
+
| head -200 || true
|
|
275
|
+
echo "::endgroup::"
|
|
276
|
+
echo "::group::The last 200 lines"
|
|
277
|
+
tail -200 build/xcodebuild.log
|
|
278
|
+
echo "::endgroup::"
|
|
279
|
+
echo "::error::xcodebuild failed — see the groups above, or the ios-build-log artifact"
|
|
280
|
+
else
|
|
281
|
+
tail -20 build/xcodebuild.log
|
|
282
|
+
fi
|
|
283
|
+
exit "$status"
|
|
197
284
|
|
|
198
285
|
- name: Archive
|
|
199
286
|
working-directory: ios
|
|
@@ -315,6 +402,15 @@ jobs:
|
|
|
315
402
|
if-no-files-found: error
|
|
316
403
|
retention-days: 90
|
|
317
404
|
|
|
405
|
+
- name: Upload the build log
|
|
406
|
+
if: always() && inputs.run_tests != false
|
|
407
|
+
uses: actions/upload-artifact@v4
|
|
408
|
+
with:
|
|
409
|
+
name: ios-build-log-${{ github.run_number }}
|
|
410
|
+
path: ios/build/xcodebuild.log
|
|
411
|
+
if-no-files-found: ignore
|
|
412
|
+
retention-days: 7
|
|
413
|
+
|
|
318
414
|
- name: Upload the test results
|
|
319
415
|
if: always() && inputs.run_tests != false
|
|
320
416
|
uses: actions/upload-artifact@v4
|
|
@@ -184,6 +184,19 @@ jobs:
|
|
|
184
184
|
|
|
185
185
|
init = Path("src/hypernix/__init__.py")
|
|
186
186
|
init.write_text(re.sub(r'__version__ = "[^"]+"', f'__version__ = "{v}"', init.read_text(), count=1))
|
|
187
|
+
|
|
188
|
+
# The fourth place a version string lives. install-t1.sh bakes
|
|
189
|
+
# one as the `curl | bash` fallback, for the case where there
|
|
190
|
+
# is no checkout to read and no hypernix installed yet to ask
|
|
191
|
+
# -- and a release that bumped the other three without this one
|
|
192
|
+
# shipped an installer whose banner announced the previous
|
|
193
|
+
# version over a correct install. tests/test_install_script.py
|
|
194
|
+
# fails when they drift, which is how this came to be here.
|
|
195
|
+
installer = Path("install-t1.sh")
|
|
196
|
+
installer.write_text(
|
|
197
|
+
re.sub(r'^VERSION="[^"]+"$', f'VERSION="{v}"',
|
|
198
|
+
installer.read_text(), count=1, flags=re.M)
|
|
199
|
+
)
|
|
187
200
|
PY
|
|
188
201
|
echo "--- pyproject.toml version line"
|
|
189
202
|
grep '^version' pyproject.toml
|
|
@@ -191,6 +204,8 @@ jobs:
|
|
|
191
204
|
grep '^version' setup.cfg
|
|
192
205
|
echo "--- __init__.py version line"
|
|
193
206
|
grep __version__ src/hypernix/__init__.py
|
|
207
|
+
echo "--- install-t1.sh version line"
|
|
208
|
+
grep '^VERSION=' install-t1.sh
|
|
194
209
|
|
|
195
210
|
- name: Lint
|
|
196
211
|
run: ruff check src/hypernix
|
|
@@ -328,15 +343,63 @@ jobs:
|
|
|
328
343
|
|
|
329
344
|
- name: Commit version bump
|
|
330
345
|
if: ${{ !inputs.dry_run }}
|
|
346
|
+
env:
|
|
347
|
+
BRANCH: ${{ github.ref_name }}
|
|
348
|
+
VERSION: ${{ inputs.version }}
|
|
331
349
|
run: |
|
|
332
350
|
git config user.name "github-actions[bot]"
|
|
333
351
|
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
|
334
|
-
|
|
352
|
+
|
|
353
|
+
# Every file `Bump versions in source` writes. install-t1.sh
|
|
354
|
+
# is the one that was missing: the bump edited it and this
|
|
355
|
+
# list did not stage it, so the change was written, discarded,
|
|
356
|
+
# and the installer drifted back to the previous version on the
|
|
357
|
+
# very next release -- the bug the bump step was added to fix.
|
|
358
|
+
# tests/test_install_script.py checks the two lists agree.
|
|
359
|
+
git add \
|
|
360
|
+
pyproject.toml \
|
|
361
|
+
setup.cfg \
|
|
362
|
+
src/hypernix/__init__.py \
|
|
363
|
+
install-t1.sh \
|
|
364
|
+
wiki/Release-Timeline.md
|
|
365
|
+
|
|
335
366
|
if git diff --cached --quiet; then
|
|
336
|
-
echo "::notice::no version change to commit (already at v$
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
367
|
+
echo "::notice::no version change to commit (already at v$VERSION)"
|
|
368
|
+
exit 0
|
|
369
|
+
fi
|
|
370
|
+
git commit -m "hypernix v$VERSION [skip ci]"
|
|
371
|
+
|
|
372
|
+
# Rebase and retry rather than failing outright.
|
|
373
|
+
#
|
|
374
|
+
# Minutes pass between checkout and here -- a full test suite,
|
|
375
|
+
# a build, a twine check -- and anything that lands on the
|
|
376
|
+
# branch in that window makes a plain push fail with "fetch
|
|
377
|
+
# first". That failure is expensive and badly timed: the
|
|
378
|
+
# artifacts are built and the *tag* step has not run, so the
|
|
379
|
+
# release ends up published with no tag pointing at it.
|
|
380
|
+
#
|
|
381
|
+
# The commit is one commit touching version files, so rebasing
|
|
382
|
+
# it onto whatever arrived is exactly right. A conflict means
|
|
383
|
+
# somebody else bumped the version concurrently, which is not
|
|
384
|
+
# something to resolve automatically -- that stops, loudly.
|
|
385
|
+
pushed=""
|
|
386
|
+
for attempt in 1 2 3 4 5; do
|
|
387
|
+
if git push origin HEAD:"$BRANCH"; then
|
|
388
|
+
pushed=yes
|
|
389
|
+
break
|
|
390
|
+
fi
|
|
391
|
+
echo "::warning::push $attempt rejected; rebasing onto origin/$BRANCH"
|
|
392
|
+
git fetch origin "$BRANCH"
|
|
393
|
+
if ! git rebase "origin/$BRANCH"; then
|
|
394
|
+
git rebase --abort || true
|
|
395
|
+
echo "::error::the version bump conflicts with $BRANCH -- another release may be in flight"
|
|
396
|
+
exit 1
|
|
397
|
+
fi
|
|
398
|
+
sleep $((attempt * 3))
|
|
399
|
+
done
|
|
400
|
+
if [ -z "$pushed" ]; then
|
|
401
|
+
echo "::error::could not push the version bump after 5 attempts"
|
|
402
|
+
exit 1
|
|
340
403
|
fi
|
|
341
404
|
|
|
342
405
|
- name: Tag and push
|
|
@@ -50,6 +50,14 @@ jobs:
|
|
|
50
50
|
uses: ./.github/workflows/ios.yml
|
|
51
51
|
with:
|
|
52
52
|
run_tests: true
|
|
53
|
+
# A release IPA has to be able to run a model. Without this the
|
|
54
|
+
# build links no llama.cpp and ships EchoRunner, so every
|
|
55
|
+
# on-device feature is inert in the artifact people install --
|
|
56
|
+
# and nothing said so, because falling back is the correct
|
|
57
|
+
# behaviour for a PR build and the release used the same default.
|
|
58
|
+
# It costs 15-25 minutes and it is the difference between an app
|
|
59
|
+
# and a demo.
|
|
60
|
+
local_engine: true
|
|
53
61
|
version: ""
|
|
54
62
|
secrets: inherit
|
|
55
63
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: hypernix
|
|
3
|
-
Version: 0.72.5.
|
|
3
|
+
Version: 0.72.5.post3
|
|
4
4
|
Summary: Download and quantize the HyperNix PyTorch model to GGUF (fp32/fp16/Q8_0/Q6_K/Q4_K_M). and train models with a massive ai toolkit
|
|
5
5
|
Home-page: https://github.com/trail-b1az3r/hypernix-pip
|
|
6
6
|
Author: HyperNix contributors
|
|
@@ -78,7 +78,7 @@ Dynamic: license-file
|
|
|
78
78
|
</p>
|
|
79
79
|
|
|
80
80
|
<p align="center">
|
|
81
|
-
<img alt="PyPI" src="https://img.shields.io/badge/PyPI-v0.72.
|
|
81
|
+
<img alt="PyPI" src="https://img.shields.io/badge/PyPI-v0.72.5.post1-ff2d55?style=for-the-badge&logo=pypi&logoColor=white" />
|
|
82
82
|
<img alt="Python" src="https://img.shields.io/badge/Python-3.10--3.14-00c9ff?style=for-the-badge&logo=python&logoColor=white" />
|
|
83
83
|
<img alt="License" src="https://img.shields.io/badge/License-HOS%20/%20LLU-00c853?style=for-the-badge" />
|
|
84
84
|
</p>
|
|
@@ -87,12 +87,15 @@ Dynamic: license-file
|
|
|
87
87
|
**End-to-end toolkit for training ai models on modern or old devices, originaly for converting hypernix.1 into gguf, now for all around training**
|
|
88
88
|
|
|
89
89
|
## What's fixed in this update
|
|
90
|
-
|
|
91
|
-
|
|
90
|
+
|
|
91
|
+
The section below covers what 0.72.5 adds.
|
|
92
|
+
[`wiki/Changelog.md`](wiki/Changelog.md) is the canonical per-release
|
|
93
|
+
history, and [`wiki/Roadmap.md`](wiki/Roadmap.md) says what is next.
|
|
92
94
|
|
|
93
95
|
## Table of contents
|
|
94
96
|
|
|
95
97
|
- [What's fixed in this update](#whats-fixed-in-this-update)
|
|
98
|
+
- [What's new: 0.72.5 — drafts, bundles, accounts, and a car](#whats-new-0725--drafts-bundles-accounts-and-a-car)
|
|
96
99
|
- [What's new: 0.72.3.post2 — sub-bit models you can actually run](#whats-new-0723post2--sub-bit-models-you-can-actually-run)
|
|
97
100
|
- [What's new: 0.72.3 — T1 v1.0.2026.8.1.1](#whats-new-0723--t1-v102026811)
|
|
98
101
|
- [Package layout](#package-layout)
|
|
@@ -116,6 +119,150 @@ for most updates
|
|
|
116
119
|
|
|
117
120
|
Cross-platform: Linux, macOS, Windows. Python 3.10 - 3.14.
|
|
118
121
|
|
|
122
|
+
## What's new: 0.72.5 — drafts, bundles, accounts, and a car
|
|
123
|
+
|
|
124
|
+
**Speculative decoding, in both shapes.** `hyprslug` produced a
|
|
125
|
+
quantised model and `dflash2` could attach a draft somebody else had
|
|
126
|
+
made. Now it makes the draft:
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
dflash2 attach model.gguf -o model+draft.gguf --quant q4_m # embedded, one file
|
|
130
|
+
dflash1 model.gguf -o draft.gguf --quant int8 # for --model-draft
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
`dflash2` writes the draft into the base GGUF under a `dflash2.` prefix,
|
|
134
|
+
which is where the speed-up is: one file, one download, and a runtime
|
|
135
|
+
that has never heard of Dflash2 reads the base model straight through.
|
|
136
|
+
`dflash1` writes it as its own file for `llama-cli --model-draft`,
|
|
137
|
+
renumbering the kept blocks from zero and rewriting `<arch>.block_count`
|
|
138
|
+
to match — a draft that claims 32 blocks and ships 6 loads, and then
|
|
139
|
+
reads past the end of its own tensor table. It refuses a base with no
|
|
140
|
+
tokenizer rather than writing a draft nothing can sample from.
|
|
141
|
+
|
|
142
|
+
Both take nine targets: `q8`, `int8`, `fp16`, `bf16`, `fp32`, `IQ0.5`,
|
|
143
|
+
`Q6_K`, `Q4_M`, `int2` — and anything else `hyprslug` writes, because
|
|
144
|
+
they plan through it rather than keeping their own list. A draft at a
|
|
145
|
+
given tier is the same packing as a model at it.
|
|
146
|
+
|
|
147
|
+
**Several quantisations in one GGUF.**
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
hnx-bundle build model.gguf q8,q4_m,iq0.5 -o all.gguf
|
|
151
|
+
hnx-bundle list all.gguf
|
|
152
|
+
hnx-bundle extract all.gguf q4_m -o just-q4m.gguf
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
Variants live under `hnxq.<slug>.`, and the default one keeps the
|
|
156
|
+
ordinary tensor names — a stock llama.cpp opens the file and runs it
|
|
157
|
+
with nothing unusual happening. A bundle is roughly its variants added
|
|
158
|
+
together: what is stored once is the tensors every variant left
|
|
159
|
+
untouched byte for byte, which for most tiers is the 1-D norms rather
|
|
160
|
+
than the bulk. The point is not compression — it is one download
|
|
161
|
+
instead of five, one page cache instead of five, and switching tiers on
|
|
162
|
+
a served model without fetching anything.
|
|
163
|
+
|
|
164
|
+
**Five new quant targets.** `INT8` and `INT2` join the fixed-codebook
|
|
165
|
+
family; `FP32` / `FP16` / `BF16` are element widths and take their own
|
|
166
|
+
path. BF16 rounds to nearest even. FP16 saturates an overflow to 65504
|
|
167
|
+
only when the input was *finite*, so an infinity stays an infinity
|
|
168
|
+
instead of quietly becoming a large number that looks like data.
|
|
169
|
+
|
|
170
|
+
INT2 was expected to lose to FP2 and does not — 0.384 relRMS against
|
|
171
|
+
0.397 over twelve seeds, because ~40% of a weight tensor sits near zero
|
|
172
|
+
and INT2 spends a codeword there. Measurement in
|
|
173
|
+
[LowBit](wiki/LowBit.md).
|
|
174
|
+
|
|
175
|
+
**`tvtoppro` gets an intro, modules, and a watchdog.** `tvtop-older`'s
|
|
176
|
+
animated "decoding" startup text and the spinner, in tvtoppro's
|
|
177
|
+
presentation; a module system, so a new stat is a file that registers
|
|
178
|
+
itself rather than a patch to the renderer; and a stall detector —
|
|
179
|
+
`train.log` untouched for over a week means the run being watched is not
|
|
180
|
+
the run that is happening, so it finds the busiest Python process on the
|
|
181
|
+
machine and reads *its* logs and progress instead.
|
|
182
|
+
|
|
183
|
+
```bash
|
|
184
|
+
tvtoppro --find-run # go looking, rather than waiting on a dead log
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
**`cctvtop`'s Remote Desktop panel works.** It called a session live
|
|
188
|
+
whenever *something* held the port. The probe completes an RFB handshake
|
|
189
|
+
now, so a stale listener, a tunnel with nothing behind it and a real
|
|
190
|
+
desktop are three different answers — and when there is no session it
|
|
191
|
+
says which of four reasons applies rather than "unavailable".
|
|
192
|
+
|
|
193
|
+
**`noodle` runs inside `hyped-pro`.** `/noodle` in the TUI. It adopts
|
|
194
|
+
vendor keys already stored in the HyperNix config, with the environment
|
|
195
|
+
always winning over the stored copy, so a session that works in `hyped`
|
|
196
|
+
is not configured twice.
|
|
197
|
+
|
|
198
|
+
**The `hypernix` CLI says what was wrong.** An unknown subcommand used to
|
|
199
|
+
print usage and exit 0. It now goes to stderr, exits 2, and suggests the
|
|
200
|
+
nearest real command:
|
|
201
|
+
|
|
202
|
+
```
|
|
203
|
+
$ hypernix quantise
|
|
204
|
+
hypernix: unknown command 'quantise'
|
|
205
|
+
|
|
206
|
+
You want: hypernix quantize
|
|
207
|
+
|
|
208
|
+
hypernix --help every subcommand
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
**T1 v1.0.26.9.2.3 — an account without already having a key.** Sign-up
|
|
212
|
+
and browser sign-in, served four ways: from localhost, over Tailscale,
|
|
213
|
+
from the operator's own site, or from a prebuilt Cloudflare site hosted
|
|
214
|
+
by the API host.
|
|
215
|
+
|
|
216
|
+
```bash
|
|
217
|
+
t1-accounts create mason --admin # password prompted, never an argument
|
|
218
|
+
t1-accounts modes # what the four are, and what each needs
|
|
219
|
+
|
|
220
|
+
T1_ACCOUNTS_ENABLED=1 T1_ACCOUNTS_MODE=tailscale hypernix-t1 start
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
scrypt for passwords, constant-time comparison, CSRF on every form,
|
|
224
|
+
SameSite cookies, lockout after repeated failures, and `Secure` coupled
|
|
225
|
+
to whether the connection is actually TLS. A keyless caller never gets
|
|
226
|
+
administrator rights, in any of the four modes.
|
|
227
|
+
|
|
228
|
+
**Two security fixes.** The config file holding API keys was
|
|
229
|
+
world-readable; it is now written `0600` into a `0700` directory through
|
|
230
|
+
a temporary file and `os.replace`, and an existing file is tightened on
|
|
231
|
+
load. And key authentication compared key *strings*, in a loop whose
|
|
232
|
+
position depended on the prefix — a timing oracle for the stored keys.
|
|
233
|
+
Keys are indexed by digest and compared with `hmac.compare_digest`; the
|
|
234
|
+
measured 60x spread across probe keys is flat.
|
|
235
|
+
|
|
236
|
+
**HyperLink in a car, and out loud.** The iOS app gets a CarPlay scene,
|
|
237
|
+
four Siri intents, eight themes, an attachment menu that offers all four
|
|
238
|
+
ways in, and renaming.
|
|
239
|
+
|
|
240
|
+
- CarPlay shows a conversation list, `CPVoiceControlTemplate` dictation
|
|
241
|
+
and six canned replies — and a keyboard **only when the car reports it
|
|
242
|
+
will allow one**, read from `CPSessionConfiguration.limitedUserInterfaces`
|
|
243
|
+
on every use and rebuilt from its delegate, because the answer changes
|
|
244
|
+
while the app is running.
|
|
245
|
+
- "Siri, ask HyperLink what's the weather", "Siri, load the model Gemma 4
|
|
246
|
+
E2B on blazeindustries in HyperLink", "Siri, read me the HyperLink
|
|
247
|
+
chat". None of the four intents opens the app; the point of asking from
|
|
248
|
+
a car dock is that the phone stays where it is.
|
|
249
|
+
- Every theme's text clears WCAG AA against its own bubble, the two
|
|
250
|
+
bubbles are told apart by luminance, and so are "connected" and
|
|
251
|
+
"failed" — checked in `tests/test_hyperlink_ios_wiring.py`, which found
|
|
252
|
+
three that were not.
|
|
253
|
+
- A chat can be renamed. The server has taken a title on
|
|
254
|
+
`PATCH /hyperlink/sessions/{id}` since HyperLink shipped, and nothing
|
|
255
|
+
on the phone ever sent one.
|
|
256
|
+
|
|
257
|
+
CarPlay needs `com.apple.developer.carplay-communication`, which Apple
|
|
258
|
+
grants per app on request rather than with a paid account. Everything
|
|
259
|
+
else builds and runs without it.
|
|
260
|
+
|
|
261
|
+
**Docs.** Issue templates for bugs and for feature requests, and
|
|
262
|
+
[Model-Training-Guide](wiki/Model-Training-Guide.md) — which of these do
|
|
263
|
+
I use, and in what order. Every API in that guide was run against the
|
|
264
|
+
package rather than written from memory; six were wrong.
|
|
265
|
+
|
|
119
266
|
## What's new: 0.72.3.post2 — sub-bit models you can actually run
|
|
120
267
|
|
|
121
268
|
**The error this release is about.** LM Studio, opening a model this
|
|
@@ -237,21 +384,26 @@ directory:
|
|
|
237
384
|
|
|
238
385
|
| Directory | Modules | Contents |
|
|
239
386
|
|---|---|---|
|
|
387
|
+
| `hypernix/audio/` | 4 | Wake words, audio files and speech plumbing. |
|
|
240
388
|
| `hypernix/chat/` | 5 | Chat templating, prompt presets and multi-turn session state. |
|
|
241
|
-
| `hypernix/data/` |
|
|
389
|
+
| `hypernix/data/` | 17 | Datasets: collection, cleaning, splitting, packing and augmentation. |
|
|
242
390
|
| `hypernix/evaluation/` | 6 | Scoring, rubric labelling, judging and module verification. |
|
|
243
|
-
| `hypernix/
|
|
244
|
-
| `hypernix/
|
|
245
|
-
| `hypernix/
|
|
246
|
-
| `hypernix/
|
|
247
|
-
| `hypernix/
|
|
248
|
-
| `hypernix/
|
|
249
|
-
| `hypernix/
|
|
391
|
+
| `hypernix/hyperlink/` | 12 | The [HyperLink](wiki/HyperLink-Sync.md) server side: sessions, attachments, pairing, push. |
|
|
392
|
+
| `hypernix/interfaces/` | 19 | Human-facing front ends: CLIs, TUIs, GUIs, launchers and `noodle`. |
|
|
393
|
+
| `hypernix/models/` | 17 | Architectures, snapshot loading, generation and model utilities. |
|
|
394
|
+
| `hypernix/monitoring/` | 14 | Live dashboards, logging, telemetry and hardware sampling. |
|
|
395
|
+
| `hypernix/optimizers/` | 9 | The Pressure Cooker optimizer family and optimizer plumbing. |
|
|
396
|
+
| `hypernix/quant/` | 28 | The GGUF pipeline: convert, quantise, the sub-bit tiers, the draft builders, bundles, fetch tooling and upload. |
|
|
397
|
+
| `hypernix/scriptgen/` | 6 | The training-script builder behind `hnx-scriptgen`. |
|
|
398
|
+
| `hypernix/security/` | 6 | API keys, quotas and request gating. |
|
|
399
|
+
| `hypernix/system/` | 24 | Environment, dependencies, hardware and housekeeping. |
|
|
250
400
|
| `hypernix/timing/` | 5 | Timers, alarms, cadence control and progress animation. |
|
|
251
|
-
| `hypernix/training/` |
|
|
252
|
-
| `hypernix/t1api/` |
|
|
253
|
-
| `hypernix/t1sdk/` |
|
|
254
|
-
| `hypernix/waiter/` |
|
|
401
|
+
| `hypernix/training/` | 15 | Training entry points, schedules and weight perturbation. |
|
|
402
|
+
| `hypernix/t1api/` | 57 | The [T1 API](wiki/T1-API.md) server: registry, routing, quota, billing, audit, rate limiting, mTLS, accounts, web auth, deployment. |
|
|
403
|
+
| `hypernix/t1sdk/` | 4 | The T1 API client SDK — typed, stdlib-only, no server extra needed. |
|
|
404
|
+
| `hypernix/waiter/` | 7 | [`waiter`](wiki/Waiter-TUI.md), the official T1 API TUI/CLI. |
|
|
405
|
+
|
|
406
|
+
Counts are `.py` files excluding `__init__.py`, as of 0.72.5.
|
|
255
407
|
|
|
256
408
|
**Every module keeps its old import path.** `hypernix.timer` and
|
|
257
409
|
`hypernix.timing.timer` return the same module object, so nothing that
|
|
@@ -413,12 +565,9 @@ Eleven major additions:
|
|
|
413
565
|
- **tvtop++ fixes** — Eliminated border flicker (layout built once), added `_block_history_bar` re-export, implemented `small_mode`, fixed self-process filtering.
|
|
414
566
|
- **New wiki pages** — [Pressure-Cooker-V5](wiki/Pressure-Cooker-V5.md), [MTP](wiki/MTP.md), [Scavenger](wiki/Scavenger.md)
|
|
415
567
|
- **Kitchen.md updated** — Added scavenger, MTP, and QAT sections
|
|
416
|
-
- **Training benefits chart** — See below
|
|
417
568
|
|
|
418
569
|
### Training Benefits vs Complexity
|
|
419
570
|
|
|
420
|
-

|
|
421
|
-
|
|
422
571
|
> **Key insight**: MTP + Speculative Decoding offer the highest benefit-to-cost ratio. Int8-quantized momentum cuts the momentum buffer's own memory by 75% versus fp32, and PressureCookerV5/V5S's factored curvature keeps the rest of the optimizer state small too -- measured optimizer-state memory lands around 12-13% of AdamW's (see the [efficiency paper](pressure_cooker_v5_v5s_paper.md) for the exact numbers and methodology). The trade-offs -- including step-time overhead on some hardware -- are real and are covered in the paper rather than summarized as a single percentage here.
|
|
423
572
|
|
|
424
573
|
## What's new in v0.70.4
|
|
@@ -599,6 +748,10 @@ new_fridge.plot_loss_curve(new_fridge.parse_training_log(log), "loss.png")
|
|
|
599
748
|
|
|
600
749
|
## CLI reference
|
|
601
750
|
|
|
751
|
+
`hypernix --help` prints the authoritative list — this is the shape of
|
|
752
|
+
it. An unknown subcommand exits 2 on stderr and suggests the nearest
|
|
753
|
+
real one rather than printing usage and claiming success.
|
|
754
|
+
|
|
602
755
|
```
|
|
603
756
|
hypernix <subcommand> [options]
|
|
604
757
|
|
|
@@ -618,11 +771,39 @@ hypernix <subcommand> [options]
|
|
|
618
771
|
generate sample text from a local snapshot
|
|
619
772
|
oven code-generation wrapper (preheat + complete / fill)
|
|
620
773
|
chat interactive chat REPL against any supported model
|
|
621
|
-
|
|
622
|
-
|
|
774
|
+
brew custom architecture builder and training suite
|
|
775
|
+
fizzle fuse models and LoRAs (fiz)
|
|
776
|
+
fusebox GPU thermal governor: pace a run, trip on heat
|
|
777
|
+
devices what accelerators this machine has, and what they do
|
|
778
|
+
wakeup train a trigger phrase, then listen for it
|
|
779
|
+
websearch the search backend behind chat and the assistant
|
|
780
|
+
gather crawl a site into a corpus (robots-aware)
|
|
781
|
+
runtime use HyperNix's llama.cpp from LM Studio and friends
|
|
782
|
+
hyprslug-headers self-describing GGUF headers, and the sub-bit server
|
|
623
783
|
stml VRAM trained context length calculator
|
|
624
784
|
```
|
|
625
785
|
|
|
786
|
+
The rest are their own console scripts, because each is a program rather
|
|
787
|
+
than a step in the pipeline:
|
|
788
|
+
|
|
789
|
+
| Command | What it is |
|
|
790
|
+
|---|---|
|
|
791
|
+
| `hyped` / `hyped-pro` | The TUI agent CLI. `/gui` for a desktop window, `/t1api` to route through a T1 server, `/noodle` for the autonomous executor. |
|
|
792
|
+
| `hyprslug` (`doomslug`, `dstd`) | The quantiser, including the sub-bit tiers. |
|
|
793
|
+
| `dflash2` / `dflash1` | Speculative-decoding drafts: embedded in the base GGUF, or standalone for `--model-draft`. |
|
|
794
|
+
| `hnx-bundle` (`multiquant`) | Several quantisations in one GGUF. |
|
|
795
|
+
| `hnx-imatrix` | Importance matrices. |
|
|
796
|
+
| `steamroller` | The descending llama.cpp quantiser. |
|
|
797
|
+
| `tvtoppro` / `cctvtop` / `tvtop-old` / `tvtop-older` | The dashboards, newest to oldest. |
|
|
798
|
+
| `hnx-map` | The steampunk schematic TUI. |
|
|
799
|
+
| `hnx-scriptgen` | The training-script builder. |
|
|
800
|
+
| `waiter` | The T1 API's client TUI/CLI. Needs no server extra. |
|
|
801
|
+
| `t1-accounts` | Web accounts for a T1 server: create, reset, unlock, and the four deployment modes. |
|
|
802
|
+
| `gkey` | Gatekeeper + Keymaster, in one place. |
|
|
803
|
+
| `multilama` | One interface over vanilla llama.cpp, ik_llama.cpp, PrismML and KoboldCpp. |
|
|
804
|
+
| `noodle` | The autonomous multi-agent executor, standalone. |
|
|
805
|
+
| `eth` / `ups` | Ethanol, and the UPS monitor. |
|
|
806
|
+
|
|
626
807
|
`train run` accepts curriculum / context management flags:
|
|
627
808
|
|
|
628
809
|
```bash
|
|
@@ -723,6 +904,15 @@ Topic-focused reference guides live in the `wiki/` directory:
|
|
|
723
904
|
- [`wiki/Pressure-Cooker-V5.md`](wiki/Pressure-Cooker-V5.md) — Pressure Cooker V5 / V5+ / V5S with QAT and MTP
|
|
724
905
|
- [`wiki/MTP.md`](wiki/MTP.md) — Multi-Token Prediction guide
|
|
725
906
|
- [`wiki/Scavenger.md`](wiki/Scavenger.md) — HuggingFace dataset discovery
|
|
907
|
+
- [`wiki/Model-Training-Guide.md`](wiki/Model-Training-Guide.md) — which of these do I use, and in what order
|
|
908
|
+
- [`wiki/HyprSlug.md`](wiki/HyprSlug.md) — the sub-bit quantiser
|
|
909
|
+
- [`wiki/HyprSlug-Headers.md`](wiki/HyprSlug-Headers.md) — self-describing headers, the compat export, the sub-bit server
|
|
910
|
+
- [`wiki/LowBit.md`](wiki/LowBit.md) — the fixed-codebook tiers and the measurements behind them
|
|
911
|
+
- [`wiki/Dflash2.md`](wiki/Dflash2.md) — speculative-decoding drafts
|
|
912
|
+
- [`wiki/TvTopPro.md`](wiki/TvTopPro.md) — the dashboard, its themes and its modules
|
|
913
|
+
- [`wiki/T1-API.md`](wiki/T1-API.md) — the T1 API server
|
|
914
|
+
- [`wiki/HyperLink-Sync.md`](wiki/HyperLink-Sync.md) — the phone app and what it talks to
|
|
915
|
+
- [`wiki/Roadmap.md`](wiki/Roadmap.md) — what is planned, and what landed
|
|
726
916
|
|
|
727
917
|
## How the GGUF pipeline works
|
|
728
918
|
|