hypernix 0.71.1__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.1 → hypernix-0.71.2}/PKG-INFO +1 -1
- {hypernix-0.71.1 → hypernix-0.71.2}/pyproject.toml +1 -1
- {hypernix-0.71.1 → hypernix-0.71.2}/setup.cfg +1 -1
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/__init__.py +1 -1
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/countertop.py +60 -1
- hypernix-0.71.2/src/hypernix/hyped.py +1588 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix.egg-info/SOURCES.txt +1 -0
- hypernix-0.71.2/tests/test_v0712_hyped_countertop.py +120 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/Release-Timeline.md +12 -0
- hypernix-0.71.1/src/hypernix/hyped.py +0 -753
- {hypernix-0.71.1 → hypernix-0.71.2}/.github/workflows/build.yml +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/.github/workflows/ci.yml +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/.github/workflows/deploy-docs.yml +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/.github/workflows/public-release.yml +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/.github/workflows/release.yml +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/.github/workflows/update-json-stats.yml +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/LICENSE +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/MANIFEST.in +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/README.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/assets/logo/Gemini_Generated_Image_nxfdm1nxfdm1nxfd-removebg-preview.png +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/assets/logo/Gemini_Generated_Image_nxfdm1nxfdm1nxfd.png +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/assets/logo.png +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/assets/logo1.png +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/examples/curriculum_eval_v0_70_4.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/examples/custom_arch.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/examples/quickstart.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/examples/resilient_finetune_v0_70_4.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/examples/run_hypernix.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/examples/train hypernix 1 5 gtx1080.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/examples/train_hypernix_0_1_5_evaluator.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/examples/train_hypernix_1_5_gtx1080.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/examples/upload_to_hub.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/pytest.ini +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/ruff.toml +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/scripts/install_deps.sh +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/scripts/install_macos_legacy.sh +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/scripts/quantize_i7_7660u.sh +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/setup.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/__main__.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/abbicus.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/apron.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/arch.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/assistant.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/bell.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/blender.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/brewer.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/cake_pan.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/camouflage.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/cardboard_box.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/cctvtop.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/cli.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/coffee_maker.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/compactor.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/compute_framework.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/config.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/convert.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/cookbook.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/cutting_board.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/deep_fryer.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/deps.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/dishwasher.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/doctor.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/download.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/espresso_maker.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/ethanol.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/fetcher.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/fizzle.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/flour.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/food_processor.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/freezer.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/gatekeeper.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/generate.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/gkey_cli.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/hyper_log.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/industrial_range.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/injection.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/instant_pot.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/keymaster.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/lazy_suzan.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/lunchbox.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/map.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/mediocre_fridge.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/menu.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/microwave.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/mtp.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/nano_nano.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/net.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/new_fridge.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/new_range.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/old_fridge.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/old_oven.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/old_range.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/optimizer_framework.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/outage.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/pans.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/pepper_shaker.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/plasma.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/pressure_cooker.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/pressure_cooker_v3.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/pressure_cooker_v4.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/pressure_cooker_v5.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/pressure_cooker_v5s.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/protect.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/py.typed +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/qa.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/quantize.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/recipe_book.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/salt_shaker.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/scavenger.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/sink.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/smoke_alarm.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/smoker.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/spinner.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/stml.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/strainer.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/table.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/thermometer.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/timer.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/toaster.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/torch_compat.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/train.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/tupperware.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/tv.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/tvtop.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/tvtop_plus_plus.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/upload.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/ups.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/utils.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/vera.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/version_launcher.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/webui.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/webui_static/app.js +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/webui_static/index.html +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/webui_static/style.css +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/whisk.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/wiki_cli.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/src/hypernix/workshop.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/tests/test_alarms_and_presets.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/tests/test_arch_mapping.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/tests/test_cli_integration.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/tests/test_coverage_beef.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/tests/test_deps_and_windows.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/tests/test_fetcher.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/tests/test_freezer.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/tests/test_fridges.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/tests/test_install_pin.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/tests/test_kitchen_v044.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/tests/test_kitchen_v045.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/tests/test_lazy_suzan.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/tests/test_lint_regressions.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/tests/test_lunchbox.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/tests/test_map.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/tests/test_new_archs_v035.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/tests/test_nix_fallback.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/tests/test_old_oven.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/tests/test_pressure_cooker_v048.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/tests/test_pressure_cooker_v3.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/tests/test_quantize_v0703.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/tests/test_ranges.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/tests/test_shakers_and_torchcompat.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/tests/test_snapshot_roundtrip.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/tests/test_tupperware.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/tests/test_tvtop_plus_plus_comprehensive.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/tests/test_v031_chat_and_archs.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/tests/test_v047_deep_fryer_cake_pan_presets.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/tests/test_v050.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/tests/test_v051.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/tests/test_v051_1.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/tests/test_v051_3.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/tests/test_v051_4.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/tests/test_v052_5.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/tests/test_v052_6.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/tests/test_v060.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/tests/test_v061_1.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/tests/test_v061_2.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/tests/test_v061_b1.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/tests/test_v0703_additional.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/tests/test_v0704_features.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/tests/test_v0704_tvtop_plus_plus.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/tests/test_v0704b11_features.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/tests/test_v0704b12_cctvtop.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/tests/test_v0705_all.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/tests/test_v0710_gatekeeper_keymaster.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/tests/test_v0711_border_fix.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/tests/test_version_launcher.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/tests/test_webui.py +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/Abbicus.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/Alarms.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/Apron.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/Architectures.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/Bell.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/Blender.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/CLI.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/CakePan.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/Camouflage.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/Changelog.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/CoffeeMaker.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/Convert.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/Cookbook.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/Countertop.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/CuttingBoard.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/Dashboards.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/DeepFryer.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/Download.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/EspressoMaker.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/Flour.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/FoodProcessor.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/Frameworks.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/Freezer.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/Fridges.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/Home.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/HyperLog.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/Kitchen.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/Lunchbox.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/MTP.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/Menu.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/Microwave.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/Optimizers.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/Ovens.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/Pans.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/Pascal.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/PipelineMechanics.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/Pressure-Cooker-V3.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/Pressure-Cooker-V4.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/Pressure-Cooker-V5.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/Quantization.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/Ranges.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/RecipeBook.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/Roadmap.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/STML.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/Scavenger.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/Shakers.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/Smoker.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/Toaster.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/Training.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/Tupperware.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/Vera.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/Whisk.md +0 -0
- {hypernix-0.71.1 → hypernix-0.71.2}/wiki/Workshop.md +0 -0
- {hypernix-0.71.1 → 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" }
|
|
@@ -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
|
|