hypernix 0.71.0__tar.gz → 0.71.2__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.71.0 → hypernix-0.71.2}/PKG-INFO +1 -1
- {hypernix-0.71.0 → hypernix-0.71.2}/pyproject.toml +3 -1
- {hypernix-0.71.0 → hypernix-0.71.2}/setup.cfg +1 -1
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/__init__.py +1 -1
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/cli.py +14 -3
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/countertop.py +60 -1
- hypernix-0.71.2/src/hypernix/hyped.py +1588 -0
- hypernix-0.71.2/src/hypernix/map.py +1093 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/pressure_cooker.py +71 -5
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/tvtop_plus_plus.py +44 -10
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix.egg-info/SOURCES.txt +4 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/tests/test_coverage_beef.py +1 -1
- {hypernix-0.71.0 → hypernix-0.71.2}/tests/test_deps_and_windows.py +1 -1
- hypernix-0.71.2/tests/test_map.py +739 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/tests/test_pressure_cooker_v048.py +2 -2
- {hypernix-0.71.0 → hypernix-0.71.2}/tests/test_v051_1.py +81 -5
- {hypernix-0.71.0 → hypernix-0.71.2}/tests/test_v060.py +2 -2
- hypernix-0.71.2/tests/test_v0711_border_fix.py +188 -0
- hypernix-0.71.2/tests/test_v0712_hyped_countertop.py +120 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/Changelog.md +42 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/Optimizers.md +20 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/Release-Timeline.md +24 -0
- hypernix-0.71.0/src/hypernix/hyped.py +0 -753
- {hypernix-0.71.0 → hypernix-0.71.2}/.github/workflows/build.yml +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/.github/workflows/ci.yml +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/.github/workflows/deploy-docs.yml +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/.github/workflows/public-release.yml +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/.github/workflows/release.yml +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/.github/workflows/update-json-stats.yml +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/LICENSE +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/MANIFEST.in +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/README.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/assets/logo/Gemini_Generated_Image_nxfdm1nxfdm1nxfd-removebg-preview.png +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/assets/logo/Gemini_Generated_Image_nxfdm1nxfdm1nxfd.png +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/assets/logo.png +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/assets/logo1.png +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/examples/curriculum_eval_v0_70_4.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/examples/custom_arch.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/examples/quickstart.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/examples/resilient_finetune_v0_70_4.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/examples/run_hypernix.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/examples/train hypernix 1 5 gtx1080.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/examples/train_hypernix_0_1_5_evaluator.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/examples/train_hypernix_1_5_gtx1080.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/examples/upload_to_hub.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/pytest.ini +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/ruff.toml +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/scripts/install_deps.sh +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/scripts/install_macos_legacy.sh +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/scripts/quantize_i7_7660u.sh +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/setup.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/__main__.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/abbicus.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/apron.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/arch.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/assistant.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/bell.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/blender.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/brewer.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/cake_pan.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/camouflage.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/cardboard_box.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/cctvtop.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/coffee_maker.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/compactor.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/compute_framework.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/config.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/convert.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/cookbook.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/cutting_board.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/deep_fryer.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/deps.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/dishwasher.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/doctor.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/download.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/espresso_maker.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/ethanol.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/fetcher.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/fizzle.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/flour.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/food_processor.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/freezer.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/gatekeeper.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/generate.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/gkey_cli.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/hyper_log.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/industrial_range.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/injection.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/instant_pot.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/keymaster.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/lazy_suzan.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/lunchbox.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/mediocre_fridge.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/menu.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/microwave.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/mtp.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/nano_nano.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/net.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/new_fridge.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/new_range.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/old_fridge.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/old_oven.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/old_range.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/optimizer_framework.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/outage.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/pans.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/pepper_shaker.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/plasma.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/pressure_cooker_v3.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/pressure_cooker_v4.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/pressure_cooker_v5.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/pressure_cooker_v5s.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/protect.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/py.typed +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/qa.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/quantize.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/recipe_book.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/salt_shaker.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/scavenger.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/sink.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/smoke_alarm.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/smoker.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/spinner.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/stml.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/strainer.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/table.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/thermometer.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/timer.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/toaster.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/torch_compat.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/train.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/tupperware.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/tv.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/tvtop.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/upload.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/ups.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/utils.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/vera.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/version_launcher.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/webui.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/webui_static/app.js +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/webui_static/index.html +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/webui_static/style.css +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/whisk.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/wiki_cli.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/src/hypernix/workshop.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/tests/test_alarms_and_presets.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/tests/test_arch_mapping.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/tests/test_cli_integration.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/tests/test_fetcher.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/tests/test_freezer.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/tests/test_fridges.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/tests/test_install_pin.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/tests/test_kitchen_v044.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/tests/test_kitchen_v045.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/tests/test_lazy_suzan.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/tests/test_lint_regressions.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/tests/test_lunchbox.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/tests/test_new_archs_v035.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/tests/test_nix_fallback.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/tests/test_old_oven.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/tests/test_pressure_cooker_v3.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/tests/test_quantize_v0703.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/tests/test_ranges.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/tests/test_shakers_and_torchcompat.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/tests/test_snapshot_roundtrip.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/tests/test_tupperware.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/tests/test_tvtop_plus_plus_comprehensive.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/tests/test_v031_chat_and_archs.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/tests/test_v047_deep_fryer_cake_pan_presets.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/tests/test_v050.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/tests/test_v051.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/tests/test_v051_3.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/tests/test_v051_4.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/tests/test_v052_5.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/tests/test_v052_6.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/tests/test_v061_1.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/tests/test_v061_2.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/tests/test_v061_b1.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/tests/test_v0703_additional.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/tests/test_v0704_features.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/tests/test_v0704_tvtop_plus_plus.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/tests/test_v0704b11_features.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/tests/test_v0704b12_cctvtop.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/tests/test_v0705_all.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/tests/test_v0710_gatekeeper_keymaster.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/tests/test_version_launcher.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/tests/test_webui.py +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/Abbicus.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/Alarms.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/Apron.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/Architectures.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/Bell.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/Blender.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/CLI.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/CakePan.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/Camouflage.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/CoffeeMaker.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/Convert.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/Cookbook.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/Countertop.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/CuttingBoard.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/Dashboards.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/DeepFryer.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/Download.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/EspressoMaker.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/Flour.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/FoodProcessor.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/Frameworks.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/Freezer.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/Fridges.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/Home.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/HyperLog.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/Kitchen.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/Lunchbox.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/MTP.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/Menu.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/Microwave.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/Ovens.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/Pans.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/Pascal.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/PipelineMechanics.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/Pressure-Cooker-V3.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/Pressure-Cooker-V4.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/Pressure-Cooker-V5.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/Quantization.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/Ranges.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/RecipeBook.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/Roadmap.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/STML.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/Scavenger.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/Shakers.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/Smoker.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/Toaster.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/Training.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/Tupperware.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/Vera.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/Whisk.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/Workshop.md +0 -0
- {hypernix-0.71.0 → hypernix-0.71.2}/wiki/macOS-legacy.md +0 -0
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "hypernix"
|
|
7
|
-
version = "0.71.
|
|
7
|
+
version = "0.71.2"
|
|
8
8
|
description = "Download and quantize the HyperNix PyTorch model to GGUF (fp32/fp16/Q8_0/Q6_K/Q4_K_M)."
|
|
9
9
|
readme = { file = "README.md", content-type = "text/markdown" }
|
|
10
10
|
license = { text = "Apache-2.0" }
|
|
@@ -92,6 +92,8 @@ eth = "hypernix.ethanol:cli_main"
|
|
|
92
92
|
hyped = "hypernix.hyped:cli_main"
|
|
93
93
|
# v0.71.0: unified Gatekeeper + Keymaster CLI.
|
|
94
94
|
gkey = "hypernix.gkey_cli:main"
|
|
95
|
+
# v0.71.1: steampunk schematic TUI (dials/pipes/steam for model + training state).
|
|
96
|
+
hnx-map = "hypernix.map:cli_main"
|
|
95
97
|
|
|
96
98
|
[project.urls]
|
|
97
99
|
Homepage = "https://minerofthesoal.github.io/HyperNix-pip/"
|
|
@@ -78,6 +78,8 @@ _SUBCOMMANDS = {
|
|
|
78
78
|
"config",
|
|
79
79
|
# v0.71.0
|
|
80
80
|
"gkey",
|
|
81
|
+
# v0.71.1
|
|
82
|
+
"map",
|
|
81
83
|
}
|
|
82
84
|
|
|
83
85
|
|
|
@@ -111,7 +113,7 @@ def _print_usage() -> None:
|
|
|
111
113
|
table.add_row("[green]oven[/]", "code-generation wrapper (preheat + complete/fill)")
|
|
112
114
|
table.add_row("[green]chat[/]", "interactive chat REPL with any HyperNix-family model")
|
|
113
115
|
table.add_row("[green]brew[/]", "custom architecture builder & model training suite (brewer)")
|
|
114
|
-
table.add_row("[green]pipeline[/]", "ASR
|
|
116
|
+
table.add_row("[green]pipeline[/]", "ASR -> LLM -> TTS pipeline")
|
|
115
117
|
table.add_row("[green]assistant[/]", "Linux local AI assistant with voice commands")
|
|
116
118
|
table.add_row("[green]webui[/]", "Web dashboard with Tailscale integration")
|
|
117
119
|
table.add_row("[green]cli[/]", "Interactive TUI/CLI menu for all operations")
|
|
@@ -126,6 +128,7 @@ def _print_usage() -> None:
|
|
|
126
128
|
table.add_row("[green]scavenger[/]", "Scavenger tools")
|
|
127
129
|
table.add_row("[green]config[/]", "Configuration management")
|
|
128
130
|
table.add_row("[green]gkey[/]", "API key & access management (Gatekeeper + Keymaster)")
|
|
131
|
+
table.add_row("[green]map[/]", "Steampunk schematic TUI: dials/pipes/steam for model + training state")
|
|
129
132
|
|
|
130
133
|
shortcuts = Text("Shortcuts:\n", style="bold yellow")
|
|
131
134
|
shortcuts.append(" --auto-oven download the default snapshot and run code completion\n", style="white")
|
|
@@ -156,7 +159,7 @@ def _print_usage() -> None:
|
|
|
156
159
|
" oven code-generation wrapper (preheat + complete/fill)\n"
|
|
157
160
|
" chat interactive chat REPL with any HyperNix-family model\n"
|
|
158
161
|
" brew custom architecture builder & training suite\n"
|
|
159
|
-
" pipeline ASR
|
|
162
|
+
" pipeline ASR -> LLM -> TTS pipeline (speech-to-speech or speech-to-text-to-speech)\n"
|
|
160
163
|
" assistant Linux local AI assistant with voice commands (ASR + LLM + TTS)\n"
|
|
161
164
|
" webui Web dashboard with Tailscale integration for remote access\n"
|
|
162
165
|
" cli Interactive TUI/CLI menu for all HyperNix operations\n"
|
|
@@ -170,7 +173,8 @@ def _print_usage() -> None:
|
|
|
170
173
|
" vera Vera assistant CLI\n"
|
|
171
174
|
" scavenger Scavenger tools\n"
|
|
172
175
|
" config Configuration management\n"
|
|
173
|
-
" gkey API key & access management (Gatekeeper + Keymaster)\n
|
|
176
|
+
" gkey API key & access management (Gatekeeper + Keymaster)\n"
|
|
177
|
+
" map Steampunk schematic TUI: dials/pipes/steam for model + training state\n\n"
|
|
174
178
|
"Shortcuts:\n"
|
|
175
179
|
" --auto-oven download the default snapshot and run code completion\n"
|
|
176
180
|
" (equivalent to `hypernix oven --auto ...`).\n\n"
|
|
@@ -912,6 +916,8 @@ def main(argv: list[str] | None = None) -> int:
|
|
|
912
916
|
return _run_config(rest)
|
|
913
917
|
if cmd == "gkey":
|
|
914
918
|
return _run_gkey(rest)
|
|
919
|
+
if cmd == "map":
|
|
920
|
+
return _run_map(rest)
|
|
915
921
|
_print_usage()
|
|
916
922
|
return 1
|
|
917
923
|
|
|
@@ -941,6 +947,11 @@ def _run_config(raw: list[str]) -> int:
|
|
|
941
947
|
from .config import cli_main as config_main
|
|
942
948
|
return config_main(raw)
|
|
943
949
|
|
|
950
|
+
def _run_map(raw: list[str]) -> int:
|
|
951
|
+
"""`hypernix map` — steampunk schematic TUI (dials/pipes/steam)."""
|
|
952
|
+
from .map import cli_main as map_main
|
|
953
|
+
return map_main(raw)
|
|
954
|
+
|
|
944
955
|
def _run_gkey(raw: list[str]) -> int:
|
|
945
956
|
"""`hypernix gkey` — Gatekeeper + Keymaster unified CLI."""
|
|
946
957
|
from .gkey_cli import main as gkey_main
|
|
@@ -196,6 +196,9 @@ class Countertop:
|
|
|
196
196
|
max_history_tokens: int | None = None
|
|
197
197
|
bell: Bell | None = None
|
|
198
198
|
flour: Flour | None = None
|
|
199
|
+
t1_key: str | None = None
|
|
200
|
+
keymaster: Any = None
|
|
201
|
+
gatekeeper: Any = None
|
|
199
202
|
sampling: dict[str, Any] = field(default_factory=dict)
|
|
200
203
|
history: list[dict[str, str]] = field(default_factory=list)
|
|
201
204
|
|
|
@@ -207,6 +210,35 @@ class Countertop:
|
|
|
207
210
|
# streamed generation too.
|
|
208
211
|
if self.flour is not None and self.bell is not None and self.bell.flour is None:
|
|
209
212
|
self.bell.flour = self.flour
|
|
213
|
+
self._t1_meta = None
|
|
214
|
+
if self.t1_key:
|
|
215
|
+
self.authenticate_t1(self.t1_key)
|
|
216
|
+
|
|
217
|
+
def authenticate_t1(self, t1_key: str) -> Any:
|
|
218
|
+
"""Authenticate and bind a T1 API key to this Countertop session."""
|
|
219
|
+
from .gatekeeper import Gatekeeper
|
|
220
|
+
from .keymaster import Keymaster
|
|
221
|
+
|
|
222
|
+
if self.keymaster is None:
|
|
223
|
+
self.keymaster = Keymaster()
|
|
224
|
+
if self.gatekeeper is None:
|
|
225
|
+
self.gatekeeper = Gatekeeper(keymaster=self.keymaster)
|
|
226
|
+
|
|
227
|
+
self.t1_key = t1_key
|
|
228
|
+
self._t1_meta = self.gatekeeper.authenticate(t1_key)
|
|
229
|
+
return self._t1_meta
|
|
230
|
+
|
|
231
|
+
@property
|
|
232
|
+
def t1_meta(self) -> Any | None:
|
|
233
|
+
"""Return the authenticated T1 key metadata, if bound."""
|
|
234
|
+
return getattr(self, "_t1_meta", None)
|
|
235
|
+
|
|
236
|
+
def t1_stats(self) -> dict[str, Any]:
|
|
237
|
+
"""Return Gatekeeper usage statistics for the bound T1 key."""
|
|
238
|
+
meta = self.t1_meta
|
|
239
|
+
if meta and self.gatekeeper:
|
|
240
|
+
return self.gatekeeper.get_stats(meta.key_id)
|
|
241
|
+
return {}
|
|
210
242
|
|
|
211
243
|
# ------------------------------------------------------------------
|
|
212
244
|
# Public API
|
|
@@ -224,6 +256,15 @@ class Countertop:
|
|
|
224
256
|
) -> str:
|
|
225
257
|
"""Append ``user`` to the transcript, generate a reply, append
|
|
226
258
|
the reply, return it."""
|
|
259
|
+
meta = getattr(self, "_t1_meta", None)
|
|
260
|
+
if meta and self.gatekeeper:
|
|
261
|
+
est_tokens = len(user) // 4 + 10
|
|
262
|
+
self.gatekeeper.check_quota(
|
|
263
|
+
meta.key_id,
|
|
264
|
+
endpoint="/chat",
|
|
265
|
+
tokens_requested=est_tokens,
|
|
266
|
+
)
|
|
267
|
+
|
|
227
268
|
self.history.append({"role": "user", "content": user})
|
|
228
269
|
self._trim()
|
|
229
270
|
kwargs: dict[str, Any] = dict(self.sampling)
|
|
@@ -247,6 +288,17 @@ class Countertop:
|
|
|
247
288
|
if self.flour is not None:
|
|
248
289
|
reply = self.flour.clean_reply(reply)
|
|
249
290
|
self.history.append({"role": "assistant", "content": reply})
|
|
291
|
+
|
|
292
|
+
if meta and self.gatekeeper:
|
|
293
|
+
used_tokens = (len(user) + len(reply)) // 4 + 1
|
|
294
|
+
model_name = str(getattr(self.oven, "repo_id", "hypernix-t1"))
|
|
295
|
+
self.gatekeeper.record_usage(
|
|
296
|
+
meta.key_id,
|
|
297
|
+
endpoint="/chat",
|
|
298
|
+
model=model_name,
|
|
299
|
+
tokens_used=used_tokens,
|
|
300
|
+
)
|
|
301
|
+
|
|
250
302
|
return reply
|
|
251
303
|
|
|
252
304
|
def reset(self) -> None:
|
|
@@ -365,6 +417,9 @@ def countertop(
|
|
|
365
417
|
max_history_tokens: int | None = None,
|
|
366
418
|
bell: Bell | None = None,
|
|
367
419
|
flour: Flour | None = None,
|
|
420
|
+
t1_key: str | None = None,
|
|
421
|
+
keymaster: Any = None,
|
|
422
|
+
gatekeeper: Any = None,
|
|
368
423
|
**sampling: Any,
|
|
369
424
|
) -> Countertop:
|
|
370
425
|
"""Build a :class:`Countertop`.
|
|
@@ -372,7 +427,8 @@ def countertop(
|
|
|
372
427
|
``persona`` is a shortcut for picking a system prompt by name from
|
|
373
428
|
:data:`hypernix.menu.MENU` — equivalent to passing
|
|
374
429
|
``system=MENU.get(persona)`` but avoids the import dance at the
|
|
375
|
-
call site.
|
|
430
|
+
call site. Pass ``t1_key`` to enforce Gatekeeper quotas and track
|
|
431
|
+
usage for T1 API keys.
|
|
376
432
|
"""
|
|
377
433
|
if persona is not None:
|
|
378
434
|
if system is not None:
|
|
@@ -386,6 +442,9 @@ def countertop(
|
|
|
386
442
|
max_history_tokens=max_history_tokens,
|
|
387
443
|
bell=bell,
|
|
388
444
|
flour=flour,
|
|
445
|
+
t1_key=t1_key,
|
|
446
|
+
keymaster=keymaster,
|
|
447
|
+
gatekeeper=gatekeeper,
|
|
389
448
|
sampling=sampling,
|
|
390
449
|
)
|
|
391
450
|
|