hypernix 0.72.5.dev2__tar.gz → 0.72.5.post1__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.dev2 → hypernix-0.72.5.post1}/.github/workflows/ios.yml +100 -4
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/.github/workflows/public-release.yml +15 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/.github/workflows/release.yml +8 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/PKG-INFO +2 -2
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/README.md +1 -1
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/bin/hypernix-t1 +49 -1
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/install-t1.sh +135 -4
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/pyproject.toml +1 -1
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/setup.cfg +1 -1
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/__init__.py +1 -1
- hypernix-0.72.5.post1/src/hypernix/hyperlink/catalogue.py +426 -0
- hypernix-0.72.5.post1/src/hypernix/hyperlink/compaction.py +295 -0
- hypernix-0.72.5.post1/src/hypernix/hyperlink/generation.py +193 -0
- hypernix-0.72.5.post1/src/hypernix/hyperlink/inference.py +176 -0
- hypernix-0.72.5.post1/src/hypernix/hyperlink/managed.py +548 -0
- hypernix-0.72.5.post1/src/hypernix/hyperlink/memory.py +413 -0
- hypernix-0.72.5.post1/src/hypernix/hyperlink/preferences.py +392 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/hyperlink/sessions.py +171 -0
- hypernix-0.72.5.post1/src/hypernix/hyperlink/toolloop.py +276 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/interfaces/noodle/tools.py +225 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/quant/hyprslug.py +148 -7
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/quant/multiquant.py +19 -1
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/system/__init__.py +5 -4
- hypernix-0.72.5.post1/src/hypernix/system/blanking.py +300 -0
- hypernix-0.72.5.post1/src/hypernix/system/hardware.py +360 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/system/nettrust.py +30 -3
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/system/outage.py +77 -49
- hypernix-0.72.5.post1/src/hypernix/system/protect.py +284 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/app.py +14 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/config.py +59 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/deps.py +87 -1
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/modelindex.py +39 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/modelindex_cli.py +43 -8
- hypernix-0.72.5.post1/src/hypernix/t1api/pricing.py +270 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/routers/__init__.py +15 -0
- hypernix-0.72.5.post1/src/hypernix/t1api/routers/compact.py +214 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/routers/hyperlink.py +691 -24
- hypernix-0.72.5.post1/src/hypernix/t1api/routers/memory.py +150 -0
- hypernix-0.72.5.post1/src/hypernix/t1api/routers/noodle.py +224 -0
- hypernix-0.72.5.post1/src/hypernix/t1api/routers/runner.py +257 -0
- hypernix-0.72.5.post1/src/hypernix/t1api/runner_cli.py +261 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/schemas.py +273 -0
- hypernix-0.72.5.post1/src/hypernix/t1api/upgrade.py +248 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix.egg-info/SOURCES.txt +37 -0
- hypernix-0.72.5.post1/tests/conftest.py +152 -0
- hypernix-0.72.5.post1/tests/test_chat_compaction.py +346 -0
- hypernix-0.72.5.post1/tests/test_conftest_rails.py +182 -0
- hypernix-0.72.5.post1/tests/test_generation_stop.py +357 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_hyperlink_ios_wiring.py +275 -1
- hypernix-0.72.5.post1/tests/test_hyperlink_keyless.py +216 -0
- hypernix-0.72.5.post1/tests/test_hyperlink_pt3_wiring.py +735 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_hypernix_t1_service.py +79 -0
- hypernix-0.72.5.post1/tests/test_hyprslug_protected_tensors.py +269 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_hyprslug_row_blocks.py +27 -4
- hypernix-0.72.5.post1/tests/test_inference_backend.py +272 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_install_script.py +280 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_ios_llama_link.py +201 -0
- hypernix-0.72.5.post1/tests/test_managed_runner.py +327 -0
- hypernix-0.72.5.post1/tests/test_memory.py +395 -0
- hypernix-0.72.5.post1/tests/test_message_editing.py +294 -0
- hypernix-0.72.5.post1/tests/test_model_catalogue.py +281 -0
- hypernix-0.72.5.post1/tests/test_model_pricing.py +261 -0
- hypernix-0.72.5.post1/tests/test_noodle_api.py +301 -0
- hypernix-0.72.5.post1/tests/test_preferences.py +304 -0
- hypernix-0.72.5.post1/tests/test_protect_blanking.py +310 -0
- hypernix-0.72.5.post1/tests/test_runner_cli.py +276 -0
- hypernix-0.72.5.post1/tests/test_server_hardware.py +221 -0
- hypernix-0.72.5.post1/tests/test_server_upgrade.py +203 -0
- hypernix-0.72.5.post1/tests/test_tool_loop.py +361 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/CLI.md +80 -5
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Changelog.md +587 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/HyprSlug.md +50 -7
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Release-Timeline.md +46 -0
- hypernix-0.72.5.dev2/src/hypernix/system/protect.py +0 -178
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/.github/workflows/build.yml +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/.github/workflows/ci.yml +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/.github/workflows/codacy.yml +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/.github/workflows/codeql.yml +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/.github/workflows/deploy-docs.yml +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/.github/workflows/update-json-stats.yml +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/.github/workflows/update-readme.yml +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/LICENSE +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/MANIFEST.in +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/assets/banner-hero.svg +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/assets/logo/Gemini_Generated_Image_nxfdm1nxfdm1nxfd-removebg-preview.png +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/assets/logo/Gemini_Generated_Image_nxfdm1nxfdm1nxfd.png +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/assets/logo-new/apple-touch-icon.png +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/assets/logo-new/favicon-16.png +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/assets/logo-new/favicon-32.png +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/assets/logo-new/favicon-48.png +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/assets/logo-new/hypernix-favicon.svg +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/assets/logo-new/hypernix-icon-dark.svg +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/assets/logo-new/hypernix-icon-mono.svg +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/assets/logo-new/hypernix-icon-ondark.svg +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/assets/logo-new/hypernix-icon-white.svg +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/assets/logo-new/hypernix-icon.svg +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/assets/logo-new/hypernix-lockup-dark.svg +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/assets/logo-new/hypernix-lockup-light.svg +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/assets/logo-new/icon-192.png +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/assets/logo-new/icon-512.png +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/assets/logo.png +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/assets/logo1.png +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/bin/_hypernix_python.sh +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/bin/hyped+ +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/bin/hyped-pro +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/bin/hyped-pro-gui +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/examples/curriculum_eval_v0_70_4.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/examples/custom_arch.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/examples/hypernix_run.json +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/examples/hyprslug-headers/README.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/examples/hyprslug-headers/serve.sh +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/examples/hyprslug-headers/wrap-for-lmstudio.sh +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/examples/quickstart.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/examples/resilient_finetune_v0_70_4.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/examples/run_hypernix.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/examples/t1api/.env.example +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/examples/t1api/API-EXAMPLES.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/examples/t1api/Dockerfile +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/examples/t1api/README.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/examples/t1api/config/.gitkeep +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/examples/t1api/docker-compose.yml +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/examples/t1api/hypernix-t1api.service +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/examples/t1api/nginx.conf +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/examples/t1api/openapi.json +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/examples/t1api/run_local.sh +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/examples/t1api/run_tailscale.sh +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/examples/train hypernix 1 5 gtx1080.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/examples/train_hypernix_0_1_5_evaluator.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/examples/train_hypernix_1_5_gtx1080.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/examples/tvtoppro/README.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/examples/tvtoppro/dracula.theme +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/examples/tvtoppro/gruvbox-dark.theme +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/examples/tvtoppro/hypernix.theme +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/examples/tvtoppro/mono.theme +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/examples/tvtoppro/monokai.theme +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/examples/tvtoppro/nord.theme +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/examples/tvtoppro/tokyo-night.theme +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/examples/upload_to_hub.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/pytest.ini +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/ruff.toml +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/scripts/README.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/scripts/apply_hypernix_fixes.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/scripts/autofix +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/scripts/autofix-B +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/scripts/autofix-E +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/scripts/autofix-F +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/scripts/autofix_scope.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/scripts/benchmark_v5.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/scripts/benchmark_v5s.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/scripts/benchmark_v6.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/scripts/ci/fake_model_server.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/scripts/ci/integration_probe.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/scripts/ci/wait_for_http.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/scripts/install_deps.sh +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/scripts/install_macos_legacy.sh +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/scripts/measure_optimizer_memory.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/scripts/quantize_i7_7660u.sh +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/scripts/t1api_examples.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/scripts/update_json_stats.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/setup.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/__main__.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/audio/__init__.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/audio/audiofile.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/audio/features.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/audio/wakeup.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/audio/wakeup_cli.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/bridge/__init__.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/bridge/lmstudio.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/chat/__init__.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/chat/cookbook.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/chat/countertop.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/chat/flour.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/chat/injection.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/chat/menu.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/data/__init__.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/data/blender.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/data/cardboard_box.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/data/cutting_board.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/data/food_processor.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/data/gather.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/data/gather_cli.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/data/lunchbox.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/data/mediocre_fridge.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/data/pans.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/data/pepper_shaker.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/data/qa.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/data/salt_shaker.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/data/scavenger.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/data/sink.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/data/strainer.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/data/toaster.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/data/tupperware.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/evaluation/__init__.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/evaluation/espresso_maker.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/evaluation/industrial_range.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/evaluation/new_fridge.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/evaluation/new_range.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/evaluation/old_range.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/evaluation/vera.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/hyped_pro.js +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/hyperlink/__init__.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/hyperlink/discovery.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/hyperlink/files.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/hyperlink/hfdownload.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/hyperlink/hfmerge.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/hyperlink/identity.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/hyperlink/notify.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/hyperlink/ondevice.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/hyperlink/pairing.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/hyperlink/peers.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/hyperlink/search.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/hyperlink/sync.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/interfaces/__init__.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/interfaces/assistant.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/interfaces/cli.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/interfaces/hyped.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/interfaces/hyped_pro.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/interfaces/hyped_pro_bridge.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/interfaces/hyped_pro_core.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/interfaces/hyped_pro_gui.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/interfaces/hyped_pro_tools.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/interfaces/noodle/__init__.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/interfaces/noodle/agent.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/interfaces/noodle/cli.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/interfaces/noodle/hpo.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/interfaces/noodle/hyped.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/interfaces/noodle/providers.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/interfaces/noodle/swarm.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/interfaces/noodle/validate.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/interfaces/version_launcher.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/interfaces/websearch.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/interfaces/wiki_cli.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/models/__init__.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/models/arch.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/models/brewer_adapter.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/models/download.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/models/generate.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/models/ggufrun.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/models/hnxdevice.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/models/hnxrun.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/models/hnxtokenizer.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/models/hnxtorch.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/models/microwave.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/models/multilama.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/models/nano_nano.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/models/neo_oven.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/models/old_oven.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/models/stml.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/models/whisk.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/models/workshop.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/monitoring/__init__.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/monitoring/cctvtop.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/monitoring/hyper_log.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/monitoring/livestream.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/monitoring/map.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/monitoring/plasma.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/monitoring/remote_desktop.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/monitoring/stale_log.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/monitoring/table.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/monitoring/thermometer.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/monitoring/tv.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/monitoring/tvtop.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/monitoring/tvtop_plus_plus.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/monitoring/tvtoppro.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/monitoring/tvtoppro_modules.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/optimizers/__init__.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/optimizers/optimizer_framework.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/optimizers/pressure_cooker.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/optimizers/pressure_cooker_v3.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/optimizers/pressure_cooker_v4.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/optimizers/pressure_cooker_v5.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/optimizers/pressure_cooker_v5s.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/optimizers/pressure_cooker_v6.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/optimizers/pressure_cooker_v6v.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/optimizers/sixbit.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/package-lock.json +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/package.json +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/py.typed +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/quant/__init__.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/quant/convert.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/quant/dflash1.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/quant/dflash1_cli.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/quant/dflash2.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/quant/dflash2_cli.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/quant/fetcher.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/quant/formats.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/quant/gguf.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/quant/ggufcheck.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/quant/hyprslug_cli.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/quant/hyprslug_headers.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/quant/hyprslug_headers_cli.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/quant/hyprslug_server.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/quant/imatrix.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/quant/imatrix_cli.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/quant/llamaquants.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/quant/lowbit.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/quant/multiquant_cli.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/quant/qat.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/quant/quantize.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/quant/runtime_bridge.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/quant/runtime_bridge_cli.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/quant/steamroller.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/quant/steamroller_cli.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/quant/subbit.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/quant/upload.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/scriptgen/__init__.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/scriptgen/app.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/scriptgen/cli.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/scriptgen/params.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/scriptgen/templates.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/scriptgen/theme.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/scriptgen/widgets.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/security/__init__.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/security/gatekeeper.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/security/gkey_cli.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/security/keyconfig.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/security/keymaster.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/security/keyversions.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/security/t2keys.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/system/compactor.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/system/config.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/system/deprecation.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/system/deps.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/system/dishwasher.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/system/doctor.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/system/ethanol.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/system/freezer.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/system/fusebox.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/system/fusebox_cli.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/system/gpus.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/system/launcher.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/system/net.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/system/old_fridge.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/system/pascal.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/system/pathfix.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/system/release.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/system/torch_compat.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/system/ups.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/system/utils.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/system/vram.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/__init__.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/accounts.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/accounts_cli.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/audit.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/auth.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/authhistory.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/backup.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/billing.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/billingkeys.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/bootstrap.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/cost.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/data/model_registry.example.json +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/data/routing_policies.example.json +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/db.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/deploy.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/errors.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/events.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/jobs.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/keys.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/launchscript_cli.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/modules.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/mtls.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/netpolicy.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/ratelimit.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/registry.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/routers/accounts.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/routers/audit.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/routers/auth.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/routers/authundo.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/routers/backup.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/routers/billing.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/routers/bridge.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/routers/config.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/routers/events.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/routers/health.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/routers/inference.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/routers/jobs.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/routers/keys.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/routers/models.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/routers/modules.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/routers/security.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/routers/servers.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/routers/training.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/routers/usage.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/routing.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/security.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/servers.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/storage.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/training_cli.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/transport.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/usage.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/version.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1api/webauth.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1sdk/__init__.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1sdk/client.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1sdk/errors.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1sdk/models.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/t1sdk/transport.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/timing/__init__.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/timing/bell.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/timing/coffee_maker.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/timing/smoke_alarm.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/timing/spinner.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/timing/timer.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/training/__init__.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/training/abbicus.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/training/apron.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/training/brewer.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/training/cake_pan.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/training/camouflage.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/training/compute_framework.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/training/deep_fryer.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/training/fizzle.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/training/instant_pot.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/training/lazy_suzan.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/training/monitor.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/training/mtp.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/training/recipe_book.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/training/smoker.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/training/train.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/tsconfig.json +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/waiter/__init__.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/waiter/cli.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/waiter/client.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/waiter/diagnose.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/waiter/discovery.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/waiter/local_config.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/waiter/smoke.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/src/hypernix/waiter/tui.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/shell_support.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_alarms_and_presets.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_arch_mapping.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_assistant.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_autofix_scripts.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_billing_keys.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_bootstrap_key.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_brewer_adapter.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_brewer_causality.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_ci_integration_jobs.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_cli_integration.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_cli_json_output.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_cli_unknown_command.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_coverage_beef.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_decoder_agreement.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_deprecation.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_deps_and_windows.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_dflash2.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_effective_bitrate.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_ethanol.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_fetcher.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_freezer.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_fridges.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_fusebox.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_gather.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_ggml_hnx.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_gguf_inference.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_ggufcheck.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_gkey_key_versions.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_gpu_migration.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_gpus.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_hnx_device_placement.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_hnx_devices.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_hnxrun.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_hyped_pro_bridge_cancel.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_hyped_pro_t1api.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_hyperlink_api_post9.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_hyperlink_discovery.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_hyperlink_notify.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_hyperlink_ondevice.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_hyperlink_ondevice_mirror.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_hyperlink_reachability.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_hyperlink_search.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_hyperlink_sync.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_hyprslug_field_reports.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_hyprslug_headers.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_hyprslug_recipes.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_imatrix.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_inference_endpoints.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_install_pin.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_ios_appicon.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_ios_concurrency.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_ios_version_wiring.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_kitchen_v044.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_kitchen_v045.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_launch_script.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_lazy_suzan.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_lint_regressions.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_llama_quants.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_low_bit_types.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_lunchbox.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_map.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_model_registry_discovery.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_module_layout.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_multiquant.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_neo_oven.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_neo_oven_generation.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_nettrust.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_new_archs_v035.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_nix_fallback.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_noodle_hyped.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_old_oven.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_pathfix.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_pressure_cooker_v048.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_pressure_cooker_v3.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_pressure_cooker_v6.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_qat.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_quantize_v0703.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_ranges.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_remote_desktop.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_runtime_bridge.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_security_fixes.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_shakers_and_torchcompat.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_snapshot_roundtrip.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_sspkid_and_key_config.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_studio_core.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_studio_local.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_subbit_quantization.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_subsystem_map.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_t1_accounts.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_t1_model_index.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_t1_v1_0_26_8_1_1.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_t1_v1_0_26_core.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_t1_v1_0_26_http.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_t1api_auth.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_t1api_beta3_core.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_t1api_beta3_http.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_t1api_beta3_security.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_t1api_beta4_usage_report.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_t1api_billing.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_t1api_core.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_t1api_events.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_t1api_example_scripts.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_t1api_http.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_t1api_http_beta2.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_t1api_jobs.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_t1api_modules.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_t1api_routing.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_t1api_security.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_t1api_servers.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_t2s_errors.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_tool_consent_gate.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_training_admin.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_trusted_network.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_tupperware.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_tvtop_plus_plus_comprehensive.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_tvtoppro.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_tvtoppro_features.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_ups.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_v031_chat_and_archs.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_v047_deep_fryer_cake_pan_presets.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_v050.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_v051.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_v051_1.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_v051_3.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_v051_4.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_v052_5.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_v052_6.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_v060.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_v061_1.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_v061_2.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_v061_b1.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_v0703_additional.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_v0704_features.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_v0704_tvtop_plus_plus.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_v0704b11_features.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_v0704b12_cctvtop.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_v0705_all.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_v0710_gatekeeper_keymaster.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_v0711_border_fix.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_v0712_hyped_countertop.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_v0714_config_provider_keys.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_v0714_cpu_presets.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_v0714_hyped_pro_bridge.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_v0714_hyped_pro_core.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_v0714_hyped_pro_launcher.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_v0714_hyped_pro_tools.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_v0714_multilama.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_v0721_api_waiter.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_v0721_modules.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_v0721_t2_keys.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_vera.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_version_guard.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_version_launcher.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_vram_optimizations.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_waiter.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_waiter_diagnose.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_wakeup.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/tests/test_website_mobile.py +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Abbicus.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Alarms.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Apron.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Architectures.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Bell.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Blender.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/CakePan.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Camouflage.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Changelog-guide.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/CoffeeMaker.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Convert.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Cookbook.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Countertop.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/CuttingBoard.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Dashboards.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/DeepFryer.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Devices.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Dflash2.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Download.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/EspressoMaker.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Flour.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/FoodProcessor.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Frameworks.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Freezer.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Fridges.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/FuseBox.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Gather.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/HnxRun.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Home.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/HuggingFace-Models.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/HyperLink-OnDevice.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/HyperLink-Sync.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/HyperLog.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/HyprSlug-Headers.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Imatrix.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Kitchen.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/LowBit.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Lunchbox.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/MTP.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Menu.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Microwave.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Model-Training-Guide.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/ModelIndex.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Optimizers.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Ovens.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Pans.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Pascal.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/PipelineMechanics.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Pressure-Cooker-V3.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Pressure-Cooker-V4.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Pressure-Cooker-V5.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Pressure-Cooker-V6.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Quantization.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Ranges.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/RecipeBook.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Roadmap.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Runtime.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/STML.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Scavenger.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Shakers.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Smoker.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/T1-API-Security-Checklist.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/T1-API.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Toaster.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Training.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Tupperware.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/TvTopPro.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/VRAM.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Vera.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Waiter-TUI.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/WakeUp.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Whisk.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/wiki/Workshop.md +0 -0
- {hypernix-0.72.5.dev2 → hypernix-0.72.5.post1}/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
|
|
@@ -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.post1
|
|
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-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>
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
</p>
|
|
5
5
|
|
|
6
6
|
<p align="center">
|
|
7
|
-
<img alt="PyPI" src="https://img.shields.io/badge/PyPI-v0.72.
|
|
7
|
+
<img alt="PyPI" src="https://img.shields.io/badge/PyPI-v0.72.5-ff2d55?style=for-the-badge&logo=pypi&logoColor=white" />
|
|
8
8
|
<img alt="Python" src="https://img.shields.io/badge/Python-3.10--3.14-00c9ff?style=for-the-badge&logo=python&logoColor=white" />
|
|
9
9
|
<img alt="License" src="https://img.shields.io/badge/License-HOS%20/%20LLU-00c853?style=for-the-badge" />
|
|
10
10
|
</p>
|
|
@@ -19,8 +19,42 @@
|
|
|
19
19
|
|
|
20
20
|
set -euo pipefail
|
|
21
21
|
|
|
22
|
+
# The version this script reports. A fallback, not the answer.
|
|
23
|
+
#
|
|
24
|
+
# It was a hand-maintained literal and it was stale, which is one third
|
|
25
|
+
# of "the installed T1 thinks it is running an older version" — the
|
|
26
|
+
# other two thirds were install-t1.sh's two constants. `hypernix-t1
|
|
27
|
+
# version` now asks the installed package, because by the time this
|
|
28
|
+
# script does anything useful the package is installed by definition,
|
|
29
|
+
# and a number derived from the thing it describes cannot drift from it.
|
|
22
30
|
VERSION="0.72.5"
|
|
23
31
|
|
|
32
|
+
# The real versions, from the package this script drives.
|
|
33
|
+
#
|
|
34
|
+
# Deliberately not a `sed` of the source like install-t1.sh does: that
|
|
35
|
+
# script runs before anything is installed and has a checkout to read,
|
|
36
|
+
# and this one runs after and may have no checkout at all. Asking the
|
|
37
|
+
# interpreter is the accurate answer *here* and the impossible one
|
|
38
|
+
# there.
|
|
39
|
+
report_versions() {
|
|
40
|
+
local py
|
|
41
|
+
py="$(python_bin 2>/dev/null)" || { printf 'hypernix-t1 %s\n' "$VERSION"; return 0; }
|
|
42
|
+
"$py" - <<'PYEOF' 2>/dev/null || printf 'hypernix-t1 %s\n' "$VERSION"
|
|
43
|
+
import sys
|
|
44
|
+
|
|
45
|
+
try:
|
|
46
|
+
import hypernix
|
|
47
|
+
from hypernix.t1api.version import T1_VERSION
|
|
48
|
+
except Exception:
|
|
49
|
+
sys.exit(1)
|
|
50
|
+
|
|
51
|
+
print(f"hypernix-t1 (hypernix {hypernix.__version__})")
|
|
52
|
+
print(f"t1 api v{T1_VERSION.short}")
|
|
53
|
+
print(f"python {'.'.join(str(p) for p in sys.version_info[:3])}")
|
|
54
|
+
print(f"runs as {sys.executable}")
|
|
55
|
+
PYEOF
|
|
56
|
+
}
|
|
57
|
+
|
|
24
58
|
CONFIG_DIR="${T1_CONFIG_DIR:-$HOME/.hypernix/t1api}"
|
|
25
59
|
ENV_FILE="$CONFIG_DIR/.env"
|
|
26
60
|
PID_FILE="$CONFIG_DIR/server.pid"
|
|
@@ -695,6 +729,19 @@ cmd_training() {
|
|
|
695
729
|
exec "$py" -m hypernix.t1api.training_cli "$@"
|
|
696
730
|
}
|
|
697
731
|
|
|
732
|
+
cmd_runner() {
|
|
733
|
+
# Talks to the running server over HTTP rather than loading a model
|
|
734
|
+
# here. The runner is a process the *server* owns — starting a second
|
|
735
|
+
# llama.cpp from this script would take the VRAM the server's own
|
|
736
|
+
# copy is using and the failure would land on the one that was
|
|
737
|
+
# working.
|
|
738
|
+
require_installed
|
|
739
|
+
load_env
|
|
740
|
+
local py; py="$(python_bin)"
|
|
741
|
+
T1_CONFIG_DIR="${T1_CONFIG_DIR:-$CONFIG_DIR}" \
|
|
742
|
+
exec "$py" -m hypernix.t1api.runner_cli "$@"
|
|
743
|
+
}
|
|
744
|
+
|
|
698
745
|
cmd_index() {
|
|
699
746
|
# No require_installed: indexing reads GGUF files and writes JSON, and
|
|
700
747
|
# needs neither a configured server nor the [t1api] extra. Someone who
|
|
@@ -871,11 +918,12 @@ main() {
|
|
|
871
918
|
test) cmd_test "$@" ;;
|
|
872
919
|
key|keys) cmd_key "$@" ;;
|
|
873
920
|
index) cmd_index "$@" ;;
|
|
921
|
+
runner) cmd_runner "$@" ;;
|
|
874
922
|
launch-script) cmd_launch_script "$@" ;;
|
|
875
923
|
training) cmd_training "$@" ;;
|
|
876
924
|
autostart) cmd_autostart "$@" ;;
|
|
877
925
|
remove|uninstall) cmd_remove "$@" ;;
|
|
878
|
-
version|--version)
|
|
926
|
+
version|--version) report_versions ;;
|
|
879
927
|
help|-h|--help) usage ;;
|
|
880
928
|
*) err "Unknown command: $cmd"; usage >&2; exit 2 ;;
|
|
881
929
|
esac
|
|
@@ -28,8 +28,59 @@
|
|
|
28
28
|
|
|
29
29
|
set -euo pipefail
|
|
30
30
|
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
# The version this installer announces, in the banner and in the config
|
|
32
|
+
# it writes.
|
|
33
|
+
#
|
|
34
|
+
# These two were maintained by hand and went stale, which is the whole
|
|
35
|
+
# of the "the installed T1 thinks it is running an older version"
|
|
36
|
+
# report: the banner said 0.72.2.post5 / t1 v1.0.26.8.1.1 while the
|
|
37
|
+
# package being installed was several releases past both. Nothing was
|
|
38
|
+
# wrong with the install — the only thing that was ever wrong was the
|
|
39
|
+
# number printed over it, and there is no way to tell those apart from
|
|
40
|
+
# the outside.
|
|
41
|
+
#
|
|
42
|
+
# They are still literals because this script has to work as
|
|
43
|
+
# `curl ... | bash`, where there is no checkout to read and no hypernix
|
|
44
|
+
# installed yet to ask. So they are a *fallback*, `derive_versions`
|
|
45
|
+
# below replaces them whenever the script is run from a clone, and
|
|
46
|
+
# tests/test_install_script.py fails if the fallback drifts from the
|
|
47
|
+
# package again.
|
|
48
|
+
VERSION="0.72.5.post1"
|
|
49
|
+
T1_API_VERSION="1.0.26.9.2.3"
|
|
50
|
+
|
|
51
|
+
# Replace the baked versions with the real ones, when they can be read.
|
|
52
|
+
#
|
|
53
|
+
# Reads the sources rather than importing them: this runs before
|
|
54
|
+
# anything is installed, and `python3 -c 'import hypernix'` at this
|
|
55
|
+
# point either fails or — worse — succeeds against some *other*
|
|
56
|
+
# hypernix that happens to be on the path and reports its version
|
|
57
|
+
# instead of the one about to be installed.
|
|
58
|
+
derive_versions() {
|
|
59
|
+
local here src package t1 year
|
|
60
|
+
here="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" 2>/dev/null && pwd)" || return 0
|
|
61
|
+
src="$here/src/hypernix"
|
|
62
|
+
[ -f "$src/__init__.py" ] || return 0
|
|
63
|
+
|
|
64
|
+
package="$(sed -n 's/^__version__ = "\(.*\)"$/\1/p' "$src/__init__.py" | head -1)"
|
|
65
|
+
[ -n "$package" ] && VERSION="$package"
|
|
66
|
+
|
|
67
|
+
# T1Version(api=1, major=0, year=2026, month=9, feature=2, fix=3)
|
|
68
|
+
# becomes 1.0.26.9.2.3 — the short spelling, two-digit year, which is
|
|
69
|
+
# what /status and every wire response carry.
|
|
70
|
+
t1="$(sed -n \
|
|
71
|
+
's/^T1_VERSION = T1Version(api=\([0-9][0-9]*\), *major=\([0-9][0-9]*\), *year=\([0-9][0-9]*\), *month=\([0-9][0-9]*\), *feature=\([0-9][0-9]*\), *fix=\([0-9][0-9]*\)).*$/\1 \2 \3 \4 \5 \6/p' \
|
|
72
|
+
"$src/t1api/version.py" | head -1)"
|
|
73
|
+
if [ -n "$t1" ]; then
|
|
74
|
+
# shellcheck disable=SC2086 # deliberate word splitting into $1..$6
|
|
75
|
+
set -- $t1
|
|
76
|
+
year="$3"
|
|
77
|
+
# 2026 -> 26. Left alone if it is already two digits.
|
|
78
|
+
[ ${#year} -gt 2 ] && year="${year#"${year%??}"}"
|
|
79
|
+
T1_API_VERSION="$1.$2.$year.$4.$5.$6"
|
|
80
|
+
fi
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
derive_versions
|
|
33
84
|
|
|
34
85
|
# ---------------------------------------------------------------------------
|
|
35
86
|
# Output
|
|
@@ -69,6 +120,13 @@ banner() {
|
|
|
69
120
|
|
|
70
121
|
INTERACTIVE=1
|
|
71
122
|
DRY_RUN=0
|
|
123
|
+
# Index ~/.hypernix/models into the registry after installing, so models
|
|
124
|
+
# already on this machine are servable — and visible in HyperLink —
|
|
125
|
+
# without anybody hand-writing models.json.
|
|
126
|
+
INDEX_MODELS=0
|
|
127
|
+
# The same, plus a price worked out per model. Separate because pricing
|
|
128
|
+
# is a policy decision and indexing is not.
|
|
129
|
+
ESTIMATE_PRICES=0
|
|
72
130
|
CONFIG_DIR="${T1_CONFIG_DIR:-$HOME/.hypernix/t1api}"
|
|
73
131
|
INSTALL_MODE="" # venv | user | system | skip
|
|
74
132
|
ASSUME_YES=0
|
|
@@ -97,6 +155,18 @@ install-t1.sh — interactive installer and setup for the HyperNix T1 API.
|
|
|
97
155
|
exposes it to every network this machine is on.
|
|
98
156
|
--port N Port, answering the "Port" question up front.
|
|
99
157
|
--force Overwrite an existing .env instead of stopping.
|
|
158
|
+
--index-models After installing, read every GGUF in
|
|
159
|
+
~/.hypernix/models and write it into the model
|
|
160
|
+
registry. They become servable, switchable, and
|
|
161
|
+
visible in HyperLink without anybody editing
|
|
162
|
+
models.json by hand.
|
|
163
|
+
--estimate-prices Index, and work out what each model costs to
|
|
164
|
+
serve from its size, quantisation, parameter
|
|
165
|
+
count, this machine's GPU, and its active-vs-total
|
|
166
|
+
parameters if it is a mixture-of-experts. Implies
|
|
167
|
+
--index-models. A starting point, not a market
|
|
168
|
+
rate — and better than the zero that is otherwise
|
|
169
|
+
written, which bills you.
|
|
100
170
|
--help This.
|
|
101
171
|
|
|
102
172
|
`hypernix-t1 create` forwards its own --host/--port/--force here, so the
|
|
@@ -120,6 +190,8 @@ while [ $# -gt 0 ]; do
|
|
|
120
190
|
--host) shift; [ $# -gt 0 ] || die "--host needs an address"; FORCED_HOST="$1" ;;
|
|
121
191
|
--port) shift; [ $# -gt 0 ] || die "--port needs a number"; FORCED_PORT="$1" ;;
|
|
122
192
|
--force) FORCE_OVERWRITE=1 ;;
|
|
193
|
+
--index-models) INDEX_MODELS=1 ;;
|
|
194
|
+
--estimate-prices) INDEX_MODELS=1; ESTIMATE_PRICES=1 ;;
|
|
123
195
|
--trusted-network) TRUSTED_NETWORK=1; TRUSTED_NETWORK_SET=1 ;;
|
|
124
196
|
--no-trusted-network) TRUSTED_NETWORK=0; TRUSTED_NETWORK_SET=1 ;;
|
|
125
197
|
--trusted-network-partial-admin)
|
|
@@ -393,8 +465,12 @@ install_package() {
|
|
|
393
465
|
;;
|
|
394
466
|
user)
|
|
395
467
|
PIP_TARGET_DESC="user site-packages"
|
|
396
|
-
if [ "$DRY_RUN" = "1" ]; then
|
|
397
|
-
|
|
468
|
+
if [ "$DRY_RUN" = "1" ]; then
|
|
469
|
+
dim " would run: $PYTHON -m pip install --user --break-system-packages $spec"
|
|
470
|
+
return
|
|
471
|
+
fi
|
|
472
|
+
"$PYTHON" -m pip install --quiet --user --break-system-packages "$spec" \
|
|
473
|
+
|| die "pip install --user --break-system-packages $spec failed"
|
|
398
474
|
;;
|
|
399
475
|
system)
|
|
400
476
|
PIP_TARGET_DESC="system site-packages"
|
|
@@ -1390,6 +1466,53 @@ CHECKEOF
|
|
|
1390
1466
|
done
|
|
1391
1467
|
}
|
|
1392
1468
|
|
|
1469
|
+
# Index the models this machine already has.
|
|
1470
|
+
#
|
|
1471
|
+
# After install_package, because it runs `hypernix-t1 index` -- which is
|
|
1472
|
+
# the shipped indexer rather than a second implementation here. An
|
|
1473
|
+
# installer that reimplemented GGUF parsing in shell would be a second
|
|
1474
|
+
# place for the context limit to be wrong, and the context limit is the
|
|
1475
|
+
# number the server then enforces.
|
|
1476
|
+
index_models() {
|
|
1477
|
+
[ "$INDEX_MODELS" = "1" ] || return 0
|
|
1478
|
+
|
|
1479
|
+
local models_dir="${HOME}/.hypernix/models"
|
|
1480
|
+
local registry="${MODEL_REGISTRY_PATH:-$CONFIG_DIR/models.json}"
|
|
1481
|
+
|
|
1482
|
+
head2 "Indexing models"
|
|
1483
|
+
if [ ! -d "$models_dir" ]; then
|
|
1484
|
+
dim " $models_dir does not exist yet — nothing to index."
|
|
1485
|
+
dim " Models downloaded through HyperLink land there; run"
|
|
1486
|
+
dim " 'hypernix-t1 index' once you have some."
|
|
1487
|
+
return 0
|
|
1488
|
+
fi
|
|
1489
|
+
|
|
1490
|
+
if [ "$DRY_RUN" = "1" ]; then
|
|
1491
|
+
dim " would index $models_dir into $registry"
|
|
1492
|
+
return 0
|
|
1493
|
+
fi
|
|
1494
|
+
|
|
1495
|
+
if ! py_available; then
|
|
1496
|
+
warn "hypernix is not importable yet, so the index was skipped."
|
|
1497
|
+
warn "Run 'hypernix-t1 index' by hand once the install settles."
|
|
1498
|
+
return 0
|
|
1499
|
+
fi
|
|
1500
|
+
|
|
1501
|
+
local args="--dir $models_dir -o $registry"
|
|
1502
|
+
[ "$ESTIMATE_PRICES" = "1" ] && args="$args --estimate-prices"
|
|
1503
|
+
|
|
1504
|
+
# Not fatal. A registry that could not be written is worth reporting
|
|
1505
|
+
# loudly and is not a reason to leave a working server uninstalled --
|
|
1506
|
+
# everything else has already been set up by this point.
|
|
1507
|
+
# shellcheck disable=SC2086
|
|
1508
|
+
if "$PYTHON" -m hypernix.t1api.modelindex_cli $args; then
|
|
1509
|
+
note_written "$registry"
|
|
1510
|
+
else
|
|
1511
|
+
warn "Indexing failed. The server is installed and will serve nothing"
|
|
1512
|
+
warn "until the registry has an entry; run 'hypernix-t1 index' to retry."
|
|
1513
|
+
fi
|
|
1514
|
+
}
|
|
1515
|
+
|
|
1393
1516
|
summary() {
|
|
1394
1517
|
head2 "Done"
|
|
1395
1518
|
say ""
|
|
@@ -1422,6 +1545,13 @@ summary() {
|
|
|
1422
1545
|
fi
|
|
1423
1546
|
[ "$WANT_TUI" = "1" ] && say " waiter tui ${C_DIM}# the manager dashboard${C_OFF}"
|
|
1424
1547
|
[ "$MODEL_SOURCE" = "lmstudio" ] && say " waiter lmstudio status ${C_DIM}# is a model loaded?${C_OFF}"
|
|
1548
|
+
# The runner is the answer to "I have models and no LM Studio", which
|
|
1549
|
+
# is the state this installer leaves a machine in when --index-models
|
|
1550
|
+
# found some. Worth naming here rather than leaving it to be found.
|
|
1551
|
+
if [ "$INDEX_MODELS" = "1" ]; then
|
|
1552
|
+
say " hypernix-t1 runner status ${C_DIM}# what is serving, and where its layers are${C_OFF}"
|
|
1553
|
+
say " hypernix-t1 runner load <model> ${C_DIM}# serve one without LM Studio${C_OFF}"
|
|
1554
|
+
fi
|
|
1425
1555
|
[ "$WANT_HYPERLINK" = "1" ] && say " waiter hyperlink pair ${C_DIM}# connect the phone app${C_OFF}"
|
|
1426
1556
|
[ "$WANT_SYSTEMD" = "1" ] && say " sudo cp $CONFIG_DIR/hypernix-t1api.service /etc/systemd/system/"
|
|
1427
1557
|
say ""
|
|
@@ -1500,6 +1630,7 @@ main() {
|
|
|
1500
1630
|
|
|
1501
1631
|
write_env
|
|
1502
1632
|
write_registry_template
|
|
1633
|
+
index_models
|
|
1503
1634
|
write_start_script
|
|
1504
1635
|
write_systemd_unit
|
|
1505
1636
|
mint_admin_key
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "hypernix"
|
|
7
|
-
version = "0.72.5.
|
|
7
|
+
version = "0.72.5.post1"
|
|
8
8
|
description = "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 "
|
|
9
9
|
readme = { file = "README.md", content-type = "text/markdown" }
|
|
10
10
|
license = { text = "HOL-1.0" }
|