hypernix 0.72.4.post20__tar.gz → 0.72.5.dev2__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.
Files changed (629) hide show
  1. hypernix-0.72.5.dev2/PKG-INFO +1017 -0
  2. hypernix-0.72.5.dev2/README.md +943 -0
  3. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/bin/hypernix-t1 +1 -1
  4. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/pyproject.toml +13 -5
  5. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/setup.cfg +3 -3
  6. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/__init__.py +1 -1
  7. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/hyped_pro.js +139 -0
  8. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/interfaces/cli.py +103 -3
  9. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/interfaces/hyped_pro_bridge.py +73 -2
  10. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/interfaces/hyped_pro_gui.py +158 -0
  11. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/interfaces/noodle/__init__.py +12 -0
  12. hypernix-0.72.5.dev2/src/hypernix/interfaces/noodle/hyped.py +521 -0
  13. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/interfaces/noodle/tools.py +9 -0
  14. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/models/hnxrun.py +1 -0
  15. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/models/hnxtorch.py +26 -0
  16. hypernix-0.72.5.dev2/src/hypernix/monitoring/cctvtop.py +263 -0
  17. hypernix-0.72.5.dev2/src/hypernix/monitoring/remote_desktop.py +647 -0
  18. hypernix-0.72.5.dev2/src/hypernix/monitoring/stale_log.py +596 -0
  19. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/monitoring/tvtoppro.py +374 -3
  20. hypernix-0.72.5.dev2/src/hypernix/monitoring/tvtoppro_modules.py +724 -0
  21. hypernix-0.72.5.dev2/src/hypernix/quant/dflash1.py +400 -0
  22. hypernix-0.72.5.dev2/src/hypernix/quant/dflash1_cli.py +140 -0
  23. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/quant/dflash2.py +49 -39
  24. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/quant/gguf.py +10 -0
  25. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/quant/ggufcheck.py +95 -15
  26. hypernix-0.72.5.dev2/src/hypernix/quant/hyprslug.py +1112 -0
  27. hypernix-0.72.5.dev2/src/hypernix/quant/hyprslug_cli.py +615 -0
  28. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/quant/lowbit.py +55 -1
  29. hypernix-0.72.5.dev2/src/hypernix/quant/multiquant.py +684 -0
  30. hypernix-0.72.5.dev2/src/hypernix/quant/multiquant_cli.py +173 -0
  31. hypernix-0.72.5.dev2/src/hypernix/quant/qat.py +533 -0
  32. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/quant/steamroller.py +31 -0
  33. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/quant/subbit.py +139 -1
  34. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/security/keymaster.py +89 -4
  35. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/system/config.py +79 -3
  36. hypernix-0.72.5.dev2/src/hypernix/t1api/accounts.py +803 -0
  37. hypernix-0.72.5.dev2/src/hypernix/t1api/accounts_cli.py +313 -0
  38. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/app.py +46 -1
  39. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/routers/__init__.py +10 -0
  40. hypernix-0.72.5.dev2/src/hypernix/t1api/routers/accounts.py +705 -0
  41. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/version.py +3 -3
  42. hypernix-0.72.5.dev2/src/hypernix/t1api/webauth.py +357 -0
  43. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/timing/spinner.py +69 -0
  44. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix.egg-info/SOURCES.txt +26 -0
  45. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_cli_json_output.py +13 -5
  46. hypernix-0.72.5.dev2/tests/test_cli_unknown_command.py +164 -0
  47. hypernix-0.72.5.dev2/tests/test_decoder_agreement.py +144 -0
  48. hypernix-0.72.5.dev2/tests/test_effective_bitrate.py +174 -0
  49. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_ggufcheck.py +128 -30
  50. hypernix-0.72.5.dev2/tests/test_hyperlink_ios_wiring.py +683 -0
  51. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_hyprslug_row_blocks.py +39 -8
  52. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_lint_regressions.py +4 -1
  53. hypernix-0.72.5.dev2/tests/test_multiquant.py +551 -0
  54. hypernix-0.72.5.dev2/tests/test_noodle_hyped.py +560 -0
  55. hypernix-0.72.5.dev2/tests/test_qat.py +379 -0
  56. hypernix-0.72.5.dev2/tests/test_remote_desktop.py +428 -0
  57. hypernix-0.72.5.dev2/tests/test_security_fixes.py +364 -0
  58. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_subbit_quantization.py +33 -4
  59. hypernix-0.72.5.dev2/tests/test_t1_accounts.py +747 -0
  60. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_t1_v1_0_26_core.py +3 -3
  61. hypernix-0.72.5.dev2/tests/test_tvtoppro_features.py +488 -0
  62. hypernix-0.72.5.dev2/wiki/Changelog-guide.md +667 -0
  63. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/Changelog.md +392 -1
  64. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/Home.md +1 -1
  65. hypernix-0.72.5.dev2/wiki/Model-Training-Guide.md +391 -0
  66. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/Release-Timeline.md +28 -0
  67. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/Roadmap.md +48 -19
  68. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/Training.md +4 -0
  69. hypernix-0.72.4.post20/PKG-INFO +0 -234
  70. hypernix-0.72.4.post20/README.md +0 -160
  71. hypernix-0.72.4.post20/src/hypernix/monitoring/cctvtop.py +0 -162
  72. hypernix-0.72.4.post20/src/hypernix/quant/hyprslug.py +0 -666
  73. hypernix-0.72.4.post20/src/hypernix/quant/hyprslug_cli.py +0 -302
  74. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/.github/workflows/build.yml +0 -0
  75. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/.github/workflows/ci.yml +0 -0
  76. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/.github/workflows/codacy.yml +0 -0
  77. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/.github/workflows/codeql.yml +0 -0
  78. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/.github/workflows/deploy-docs.yml +0 -0
  79. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/.github/workflows/ios.yml +0 -0
  80. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/.github/workflows/public-release.yml +0 -0
  81. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/.github/workflows/release.yml +0 -0
  82. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/.github/workflows/update-json-stats.yml +0 -0
  83. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/.github/workflows/update-readme.yml +0 -0
  84. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/LICENSE +0 -0
  85. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/MANIFEST.in +0 -0
  86. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/assets/banner-hero.svg +0 -0
  87. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/assets/logo/Gemini_Generated_Image_nxfdm1nxfdm1nxfd-removebg-preview.png +0 -0
  88. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/assets/logo/Gemini_Generated_Image_nxfdm1nxfdm1nxfd.png +0 -0
  89. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/assets/logo-new/apple-touch-icon.png +0 -0
  90. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/assets/logo-new/favicon-16.png +0 -0
  91. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/assets/logo-new/favicon-32.png +0 -0
  92. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/assets/logo-new/favicon-48.png +0 -0
  93. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/assets/logo-new/hypernix-favicon.svg +0 -0
  94. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/assets/logo-new/hypernix-icon-dark.svg +0 -0
  95. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/assets/logo-new/hypernix-icon-mono.svg +0 -0
  96. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/assets/logo-new/hypernix-icon-ondark.svg +0 -0
  97. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/assets/logo-new/hypernix-icon-white.svg +0 -0
  98. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/assets/logo-new/hypernix-icon.svg +0 -0
  99. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/assets/logo-new/hypernix-lockup-dark.svg +0 -0
  100. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/assets/logo-new/hypernix-lockup-light.svg +0 -0
  101. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/assets/logo-new/icon-192.png +0 -0
  102. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/assets/logo-new/icon-512.png +0 -0
  103. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/assets/logo.png +0 -0
  104. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/assets/logo1.png +0 -0
  105. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/bin/_hypernix_python.sh +0 -0
  106. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/bin/hyped+ +0 -0
  107. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/bin/hyped-pro +0 -0
  108. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/bin/hyped-pro-gui +0 -0
  109. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/examples/curriculum_eval_v0_70_4.py +0 -0
  110. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/examples/custom_arch.py +0 -0
  111. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/examples/hypernix_run.json +0 -0
  112. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/examples/hyprslug-headers/README.md +0 -0
  113. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/examples/hyprslug-headers/serve.sh +0 -0
  114. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/examples/hyprslug-headers/wrap-for-lmstudio.sh +0 -0
  115. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/examples/quickstart.py +0 -0
  116. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/examples/resilient_finetune_v0_70_4.py +0 -0
  117. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/examples/run_hypernix.py +0 -0
  118. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/examples/t1api/.env.example +0 -0
  119. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/examples/t1api/API-EXAMPLES.md +0 -0
  120. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/examples/t1api/Dockerfile +0 -0
  121. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/examples/t1api/README.md +0 -0
  122. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/examples/t1api/config/.gitkeep +0 -0
  123. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/examples/t1api/docker-compose.yml +0 -0
  124. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/examples/t1api/hypernix-t1api.service +0 -0
  125. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/examples/t1api/nginx.conf +0 -0
  126. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/examples/t1api/openapi.json +0 -0
  127. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/examples/t1api/run_local.sh +0 -0
  128. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/examples/t1api/run_tailscale.sh +0 -0
  129. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/examples/train hypernix 1 5 gtx1080.py +0 -0
  130. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/examples/train_hypernix_0_1_5_evaluator.py +0 -0
  131. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/examples/train_hypernix_1_5_gtx1080.py +0 -0
  132. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/examples/tvtoppro/README.md +0 -0
  133. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/examples/tvtoppro/dracula.theme +0 -0
  134. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/examples/tvtoppro/gruvbox-dark.theme +0 -0
  135. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/examples/tvtoppro/hypernix.theme +0 -0
  136. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/examples/tvtoppro/mono.theme +0 -0
  137. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/examples/tvtoppro/monokai.theme +0 -0
  138. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/examples/tvtoppro/nord.theme +0 -0
  139. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/examples/tvtoppro/tokyo-night.theme +0 -0
  140. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/examples/upload_to_hub.py +0 -0
  141. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/install-t1.sh +0 -0
  142. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/pytest.ini +0 -0
  143. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/ruff.toml +0 -0
  144. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/scripts/README.md +0 -0
  145. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/scripts/apply_hypernix_fixes.py +0 -0
  146. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/scripts/autofix +0 -0
  147. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/scripts/autofix-B +0 -0
  148. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/scripts/autofix-E +0 -0
  149. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/scripts/autofix-F +0 -0
  150. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/scripts/autofix_scope.py +0 -0
  151. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/scripts/benchmark_v5.py +0 -0
  152. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/scripts/benchmark_v5s.py +0 -0
  153. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/scripts/benchmark_v6.py +0 -0
  154. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/scripts/ci/fake_model_server.py +0 -0
  155. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/scripts/ci/integration_probe.py +0 -0
  156. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/scripts/ci/wait_for_http.py +0 -0
  157. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/scripts/install_deps.sh +0 -0
  158. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/scripts/install_macos_legacy.sh +0 -0
  159. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/scripts/measure_optimizer_memory.py +0 -0
  160. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/scripts/quantize_i7_7660u.sh +0 -0
  161. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/scripts/t1api_examples.py +0 -0
  162. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/scripts/update_json_stats.py +0 -0
  163. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/setup.py +0 -0
  164. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/__main__.py +0 -0
  165. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/audio/__init__.py +0 -0
  166. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/audio/audiofile.py +0 -0
  167. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/audio/features.py +0 -0
  168. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/audio/wakeup.py +0 -0
  169. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/audio/wakeup_cli.py +0 -0
  170. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/bridge/__init__.py +0 -0
  171. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/bridge/lmstudio.py +0 -0
  172. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/chat/__init__.py +0 -0
  173. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/chat/cookbook.py +0 -0
  174. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/chat/countertop.py +0 -0
  175. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/chat/flour.py +0 -0
  176. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/chat/injection.py +0 -0
  177. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/chat/menu.py +0 -0
  178. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/data/__init__.py +0 -0
  179. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/data/blender.py +0 -0
  180. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/data/cardboard_box.py +0 -0
  181. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/data/cutting_board.py +0 -0
  182. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/data/food_processor.py +0 -0
  183. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/data/gather.py +0 -0
  184. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/data/gather_cli.py +0 -0
  185. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/data/lunchbox.py +0 -0
  186. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/data/mediocre_fridge.py +0 -0
  187. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/data/pans.py +0 -0
  188. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/data/pepper_shaker.py +0 -0
  189. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/data/qa.py +0 -0
  190. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/data/salt_shaker.py +0 -0
  191. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/data/scavenger.py +0 -0
  192. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/data/sink.py +0 -0
  193. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/data/strainer.py +0 -0
  194. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/data/toaster.py +0 -0
  195. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/data/tupperware.py +0 -0
  196. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/evaluation/__init__.py +0 -0
  197. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/evaluation/espresso_maker.py +0 -0
  198. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/evaluation/industrial_range.py +0 -0
  199. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/evaluation/new_fridge.py +0 -0
  200. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/evaluation/new_range.py +0 -0
  201. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/evaluation/old_range.py +0 -0
  202. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/evaluation/vera.py +0 -0
  203. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/hyperlink/__init__.py +0 -0
  204. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/hyperlink/discovery.py +0 -0
  205. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/hyperlink/files.py +0 -0
  206. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/hyperlink/hfdownload.py +0 -0
  207. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/hyperlink/hfmerge.py +0 -0
  208. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/hyperlink/identity.py +0 -0
  209. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/hyperlink/notify.py +0 -0
  210. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/hyperlink/ondevice.py +0 -0
  211. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/hyperlink/pairing.py +0 -0
  212. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/hyperlink/peers.py +0 -0
  213. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/hyperlink/search.py +0 -0
  214. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/hyperlink/sessions.py +0 -0
  215. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/hyperlink/sync.py +0 -0
  216. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/interfaces/__init__.py +0 -0
  217. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/interfaces/assistant.py +0 -0
  218. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/interfaces/hyped.py +0 -0
  219. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/interfaces/hyped_pro.py +0 -0
  220. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/interfaces/hyped_pro_core.py +0 -0
  221. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/interfaces/hyped_pro_tools.py +0 -0
  222. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/interfaces/noodle/agent.py +0 -0
  223. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/interfaces/noodle/cli.py +0 -0
  224. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/interfaces/noodle/hpo.py +0 -0
  225. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/interfaces/noodle/providers.py +0 -0
  226. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/interfaces/noodle/swarm.py +0 -0
  227. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/interfaces/noodle/validate.py +0 -0
  228. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/interfaces/version_launcher.py +0 -0
  229. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/interfaces/websearch.py +0 -0
  230. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/interfaces/wiki_cli.py +0 -0
  231. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/models/__init__.py +0 -0
  232. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/models/arch.py +0 -0
  233. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/models/brewer_adapter.py +0 -0
  234. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/models/download.py +0 -0
  235. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/models/generate.py +0 -0
  236. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/models/ggufrun.py +0 -0
  237. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/models/hnxdevice.py +0 -0
  238. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/models/hnxtokenizer.py +0 -0
  239. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/models/microwave.py +0 -0
  240. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/models/multilama.py +0 -0
  241. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/models/nano_nano.py +0 -0
  242. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/models/neo_oven.py +0 -0
  243. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/models/old_oven.py +0 -0
  244. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/models/stml.py +0 -0
  245. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/models/whisk.py +0 -0
  246. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/models/workshop.py +0 -0
  247. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/monitoring/__init__.py +0 -0
  248. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/monitoring/hyper_log.py +0 -0
  249. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/monitoring/livestream.py +0 -0
  250. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/monitoring/map.py +0 -0
  251. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/monitoring/plasma.py +0 -0
  252. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/monitoring/table.py +0 -0
  253. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/monitoring/thermometer.py +0 -0
  254. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/monitoring/tv.py +0 -0
  255. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/monitoring/tvtop.py +0 -0
  256. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/monitoring/tvtop_plus_plus.py +0 -0
  257. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/optimizers/__init__.py +0 -0
  258. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/optimizers/optimizer_framework.py +0 -0
  259. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/optimizers/pressure_cooker.py +0 -0
  260. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/optimizers/pressure_cooker_v3.py +0 -0
  261. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/optimizers/pressure_cooker_v4.py +0 -0
  262. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/optimizers/pressure_cooker_v5.py +0 -0
  263. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/optimizers/pressure_cooker_v5s.py +0 -0
  264. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/optimizers/pressure_cooker_v6.py +0 -0
  265. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/optimizers/pressure_cooker_v6v.py +0 -0
  266. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/optimizers/sixbit.py +0 -0
  267. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/package-lock.json +0 -0
  268. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/package.json +0 -0
  269. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/py.typed +0 -0
  270. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/quant/__init__.py +0 -0
  271. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/quant/convert.py +0 -0
  272. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/quant/dflash2_cli.py +0 -0
  273. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/quant/fetcher.py +0 -0
  274. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/quant/formats.py +0 -0
  275. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/quant/hyprslug_headers.py +0 -0
  276. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/quant/hyprslug_headers_cli.py +0 -0
  277. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/quant/hyprslug_server.py +0 -0
  278. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/quant/imatrix.py +0 -0
  279. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/quant/imatrix_cli.py +0 -0
  280. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/quant/llamaquants.py +0 -0
  281. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/quant/quantize.py +0 -0
  282. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/quant/runtime_bridge.py +0 -0
  283. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/quant/runtime_bridge_cli.py +0 -0
  284. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/quant/steamroller_cli.py +0 -0
  285. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/quant/upload.py +0 -0
  286. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/scriptgen/__init__.py +0 -0
  287. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/scriptgen/app.py +0 -0
  288. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/scriptgen/cli.py +0 -0
  289. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/scriptgen/params.py +0 -0
  290. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/scriptgen/templates.py +0 -0
  291. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/scriptgen/theme.py +0 -0
  292. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/scriptgen/widgets.py +0 -0
  293. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/security/__init__.py +0 -0
  294. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/security/gatekeeper.py +0 -0
  295. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/security/gkey_cli.py +0 -0
  296. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/security/keyconfig.py +0 -0
  297. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/security/keyversions.py +0 -0
  298. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/security/t2keys.py +0 -0
  299. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/system/__init__.py +0 -0
  300. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/system/compactor.py +0 -0
  301. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/system/deprecation.py +0 -0
  302. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/system/deps.py +0 -0
  303. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/system/dishwasher.py +0 -0
  304. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/system/doctor.py +0 -0
  305. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/system/ethanol.py +0 -0
  306. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/system/freezer.py +0 -0
  307. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/system/fusebox.py +0 -0
  308. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/system/fusebox_cli.py +0 -0
  309. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/system/gpus.py +0 -0
  310. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/system/launcher.py +0 -0
  311. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/system/net.py +0 -0
  312. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/system/nettrust.py +0 -0
  313. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/system/old_fridge.py +0 -0
  314. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/system/outage.py +0 -0
  315. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/system/pascal.py +0 -0
  316. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/system/pathfix.py +0 -0
  317. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/system/protect.py +0 -0
  318. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/system/release.py +0 -0
  319. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/system/torch_compat.py +0 -0
  320. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/system/ups.py +0 -0
  321. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/system/utils.py +0 -0
  322. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/system/vram.py +0 -0
  323. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/__init__.py +0 -0
  324. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/audit.py +0 -0
  325. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/auth.py +0 -0
  326. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/authhistory.py +0 -0
  327. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/backup.py +0 -0
  328. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/billing.py +0 -0
  329. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/billingkeys.py +0 -0
  330. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/bootstrap.py +0 -0
  331. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/config.py +0 -0
  332. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/cost.py +0 -0
  333. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/data/model_registry.example.json +0 -0
  334. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/data/routing_policies.example.json +0 -0
  335. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/db.py +0 -0
  336. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/deploy.py +0 -0
  337. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/deps.py +0 -0
  338. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/errors.py +0 -0
  339. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/events.py +0 -0
  340. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/jobs.py +0 -0
  341. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/keys.py +0 -0
  342. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/launchscript_cli.py +0 -0
  343. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/modelindex.py +0 -0
  344. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/modelindex_cli.py +0 -0
  345. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/modules.py +0 -0
  346. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/mtls.py +0 -0
  347. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/netpolicy.py +0 -0
  348. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/ratelimit.py +0 -0
  349. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/registry.py +0 -0
  350. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/routers/audit.py +0 -0
  351. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/routers/auth.py +0 -0
  352. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/routers/authundo.py +0 -0
  353. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/routers/backup.py +0 -0
  354. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/routers/billing.py +0 -0
  355. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/routers/bridge.py +0 -0
  356. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/routers/config.py +0 -0
  357. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/routers/events.py +0 -0
  358. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/routers/health.py +0 -0
  359. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/routers/hyperlink.py +0 -0
  360. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/routers/inference.py +0 -0
  361. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/routers/jobs.py +0 -0
  362. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/routers/keys.py +0 -0
  363. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/routers/models.py +0 -0
  364. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/routers/modules.py +0 -0
  365. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/routers/security.py +0 -0
  366. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/routers/servers.py +0 -0
  367. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/routers/training.py +0 -0
  368. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/routers/usage.py +0 -0
  369. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/routing.py +0 -0
  370. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/schemas.py +0 -0
  371. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/security.py +0 -0
  372. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/servers.py +0 -0
  373. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/storage.py +0 -0
  374. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/training_cli.py +0 -0
  375. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/transport.py +0 -0
  376. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1api/usage.py +0 -0
  377. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1sdk/__init__.py +0 -0
  378. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1sdk/client.py +0 -0
  379. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1sdk/errors.py +0 -0
  380. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1sdk/models.py +0 -0
  381. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/t1sdk/transport.py +0 -0
  382. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/timing/__init__.py +0 -0
  383. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/timing/bell.py +0 -0
  384. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/timing/coffee_maker.py +0 -0
  385. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/timing/smoke_alarm.py +0 -0
  386. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/timing/timer.py +0 -0
  387. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/training/__init__.py +0 -0
  388. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/training/abbicus.py +0 -0
  389. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/training/apron.py +0 -0
  390. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/training/brewer.py +0 -0
  391. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/training/cake_pan.py +0 -0
  392. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/training/camouflage.py +0 -0
  393. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/training/compute_framework.py +0 -0
  394. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/training/deep_fryer.py +0 -0
  395. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/training/fizzle.py +0 -0
  396. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/training/instant_pot.py +0 -0
  397. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/training/lazy_suzan.py +0 -0
  398. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/training/monitor.py +0 -0
  399. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/training/mtp.py +0 -0
  400. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/training/recipe_book.py +0 -0
  401. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/training/smoker.py +0 -0
  402. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/training/train.py +0 -0
  403. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/tsconfig.json +0 -0
  404. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/waiter/__init__.py +0 -0
  405. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/waiter/cli.py +0 -0
  406. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/waiter/client.py +0 -0
  407. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/waiter/diagnose.py +0 -0
  408. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/waiter/discovery.py +0 -0
  409. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/waiter/local_config.py +0 -0
  410. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/waiter/smoke.py +0 -0
  411. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/src/hypernix/waiter/tui.py +0 -0
  412. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/shell_support.py +0 -0
  413. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_alarms_and_presets.py +0 -0
  414. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_arch_mapping.py +0 -0
  415. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_assistant.py +0 -0
  416. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_autofix_scripts.py +0 -0
  417. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_billing_keys.py +0 -0
  418. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_bootstrap_key.py +0 -0
  419. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_brewer_adapter.py +0 -0
  420. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_brewer_causality.py +0 -0
  421. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_ci_integration_jobs.py +0 -0
  422. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_cli_integration.py +0 -0
  423. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_coverage_beef.py +0 -0
  424. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_deprecation.py +0 -0
  425. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_deps_and_windows.py +0 -0
  426. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_dflash2.py +0 -0
  427. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_ethanol.py +0 -0
  428. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_fetcher.py +0 -0
  429. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_freezer.py +0 -0
  430. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_fridges.py +0 -0
  431. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_fusebox.py +0 -0
  432. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_gather.py +0 -0
  433. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_ggml_hnx.py +0 -0
  434. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_gguf_inference.py +0 -0
  435. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_gkey_key_versions.py +0 -0
  436. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_gpu_migration.py +0 -0
  437. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_gpus.py +0 -0
  438. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_hnx_device_placement.py +0 -0
  439. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_hnx_devices.py +0 -0
  440. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_hnxrun.py +0 -0
  441. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_hyped_pro_bridge_cancel.py +0 -0
  442. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_hyped_pro_t1api.py +0 -0
  443. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_hyperlink_api_post9.py +0 -0
  444. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_hyperlink_discovery.py +0 -0
  445. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_hyperlink_notify.py +0 -0
  446. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_hyperlink_ondevice.py +0 -0
  447. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_hyperlink_ondevice_mirror.py +0 -0
  448. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_hyperlink_reachability.py +0 -0
  449. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_hyperlink_search.py +0 -0
  450. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_hyperlink_sync.py +0 -0
  451. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_hypernix_t1_service.py +0 -0
  452. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_hyprslug_field_reports.py +0 -0
  453. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_hyprslug_headers.py +0 -0
  454. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_hyprslug_recipes.py +0 -0
  455. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_imatrix.py +0 -0
  456. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_inference_endpoints.py +0 -0
  457. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_install_pin.py +0 -0
  458. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_install_script.py +0 -0
  459. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_ios_appicon.py +0 -0
  460. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_ios_concurrency.py +0 -0
  461. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_ios_llama_link.py +0 -0
  462. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_ios_version_wiring.py +0 -0
  463. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_kitchen_v044.py +0 -0
  464. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_kitchen_v045.py +0 -0
  465. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_launch_script.py +0 -0
  466. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_lazy_suzan.py +0 -0
  467. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_llama_quants.py +0 -0
  468. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_low_bit_types.py +0 -0
  469. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_lunchbox.py +0 -0
  470. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_map.py +0 -0
  471. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_model_registry_discovery.py +0 -0
  472. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_module_layout.py +0 -0
  473. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_neo_oven.py +0 -0
  474. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_neo_oven_generation.py +0 -0
  475. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_nettrust.py +0 -0
  476. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_new_archs_v035.py +0 -0
  477. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_nix_fallback.py +0 -0
  478. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_old_oven.py +0 -0
  479. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_pathfix.py +0 -0
  480. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_pressure_cooker_v048.py +0 -0
  481. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_pressure_cooker_v3.py +0 -0
  482. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_pressure_cooker_v6.py +0 -0
  483. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_quantize_v0703.py +0 -0
  484. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_ranges.py +0 -0
  485. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_runtime_bridge.py +0 -0
  486. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_shakers_and_torchcompat.py +0 -0
  487. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_snapshot_roundtrip.py +0 -0
  488. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_sspkid_and_key_config.py +0 -0
  489. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_studio_core.py +0 -0
  490. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_studio_local.py +0 -0
  491. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_subsystem_map.py +0 -0
  492. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_t1_model_index.py +0 -0
  493. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_t1_v1_0_26_8_1_1.py +0 -0
  494. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_t1_v1_0_26_http.py +0 -0
  495. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_t1api_auth.py +0 -0
  496. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_t1api_beta3_core.py +0 -0
  497. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_t1api_beta3_http.py +0 -0
  498. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_t1api_beta3_security.py +0 -0
  499. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_t1api_beta4_usage_report.py +0 -0
  500. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_t1api_billing.py +0 -0
  501. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_t1api_core.py +0 -0
  502. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_t1api_events.py +0 -0
  503. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_t1api_example_scripts.py +0 -0
  504. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_t1api_http.py +0 -0
  505. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_t1api_http_beta2.py +0 -0
  506. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_t1api_jobs.py +0 -0
  507. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_t1api_modules.py +0 -0
  508. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_t1api_routing.py +0 -0
  509. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_t1api_security.py +0 -0
  510. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_t1api_servers.py +0 -0
  511. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_t2s_errors.py +0 -0
  512. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_tool_consent_gate.py +0 -0
  513. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_training_admin.py +0 -0
  514. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_trusted_network.py +0 -0
  515. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_tupperware.py +0 -0
  516. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_tvtop_plus_plus_comprehensive.py +0 -0
  517. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_tvtoppro.py +0 -0
  518. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_ups.py +0 -0
  519. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_v031_chat_and_archs.py +0 -0
  520. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_v047_deep_fryer_cake_pan_presets.py +0 -0
  521. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_v050.py +0 -0
  522. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_v051.py +0 -0
  523. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_v051_1.py +0 -0
  524. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_v051_3.py +0 -0
  525. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_v051_4.py +0 -0
  526. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_v052_5.py +0 -0
  527. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_v052_6.py +0 -0
  528. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_v060.py +0 -0
  529. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_v061_1.py +0 -0
  530. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_v061_2.py +0 -0
  531. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_v061_b1.py +0 -0
  532. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_v0703_additional.py +0 -0
  533. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_v0704_features.py +0 -0
  534. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_v0704_tvtop_plus_plus.py +0 -0
  535. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_v0704b11_features.py +0 -0
  536. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_v0704b12_cctvtop.py +0 -0
  537. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_v0705_all.py +0 -0
  538. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_v0710_gatekeeper_keymaster.py +0 -0
  539. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_v0711_border_fix.py +0 -0
  540. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_v0712_hyped_countertop.py +0 -0
  541. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_v0714_config_provider_keys.py +0 -0
  542. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_v0714_cpu_presets.py +0 -0
  543. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_v0714_hyped_pro_bridge.py +0 -0
  544. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_v0714_hyped_pro_core.py +0 -0
  545. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_v0714_hyped_pro_launcher.py +0 -0
  546. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_v0714_hyped_pro_tools.py +0 -0
  547. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_v0714_multilama.py +0 -0
  548. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_v0721_api_waiter.py +0 -0
  549. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_v0721_modules.py +0 -0
  550. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_v0721_t2_keys.py +0 -0
  551. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_vera.py +0 -0
  552. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_version_guard.py +0 -0
  553. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_version_launcher.py +0 -0
  554. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_vram_optimizations.py +0 -0
  555. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_waiter.py +0 -0
  556. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_waiter_diagnose.py +0 -0
  557. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_wakeup.py +0 -0
  558. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/tests/test_website_mobile.py +0 -0
  559. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/Abbicus.md +0 -0
  560. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/Alarms.md +0 -0
  561. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/Apron.md +0 -0
  562. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/Architectures.md +0 -0
  563. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/Bell.md +0 -0
  564. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/Blender.md +0 -0
  565. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/CLI.md +0 -0
  566. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/CakePan.md +0 -0
  567. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/Camouflage.md +0 -0
  568. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/CoffeeMaker.md +0 -0
  569. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/Convert.md +0 -0
  570. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/Cookbook.md +0 -0
  571. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/Countertop.md +0 -0
  572. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/CuttingBoard.md +0 -0
  573. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/Dashboards.md +0 -0
  574. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/DeepFryer.md +0 -0
  575. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/Devices.md +0 -0
  576. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/Dflash2.md +0 -0
  577. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/Download.md +0 -0
  578. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/EspressoMaker.md +0 -0
  579. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/Flour.md +0 -0
  580. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/FoodProcessor.md +0 -0
  581. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/Frameworks.md +0 -0
  582. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/Freezer.md +0 -0
  583. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/Fridges.md +0 -0
  584. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/FuseBox.md +0 -0
  585. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/Gather.md +0 -0
  586. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/HnxRun.md +0 -0
  587. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/HuggingFace-Models.md +0 -0
  588. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/HyperLink-OnDevice.md +0 -0
  589. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/HyperLink-Sync.md +0 -0
  590. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/HyperLog.md +0 -0
  591. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/HyprSlug-Headers.md +0 -0
  592. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/HyprSlug.md +0 -0
  593. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/Imatrix.md +0 -0
  594. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/Kitchen.md +0 -0
  595. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/LowBit.md +0 -0
  596. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/Lunchbox.md +0 -0
  597. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/MTP.md +0 -0
  598. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/Menu.md +0 -0
  599. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/Microwave.md +0 -0
  600. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/ModelIndex.md +0 -0
  601. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/Optimizers.md +0 -0
  602. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/Ovens.md +0 -0
  603. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/Pans.md +0 -0
  604. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/Pascal.md +0 -0
  605. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/PipelineMechanics.md +0 -0
  606. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/Pressure-Cooker-V3.md +0 -0
  607. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/Pressure-Cooker-V4.md +0 -0
  608. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/Pressure-Cooker-V5.md +0 -0
  609. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/Pressure-Cooker-V6.md +0 -0
  610. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/Quantization.md +0 -0
  611. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/Ranges.md +0 -0
  612. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/RecipeBook.md +0 -0
  613. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/Runtime.md +0 -0
  614. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/STML.md +0 -0
  615. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/Scavenger.md +0 -0
  616. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/Shakers.md +0 -0
  617. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/Smoker.md +0 -0
  618. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/T1-API-Security-Checklist.md +0 -0
  619. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/T1-API.md +0 -0
  620. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/Toaster.md +0 -0
  621. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/Tupperware.md +0 -0
  622. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/TvTopPro.md +0 -0
  623. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/VRAM.md +0 -0
  624. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/Vera.md +0 -0
  625. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/Waiter-TUI.md +0 -0
  626. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/WakeUp.md +0 -0
  627. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/Whisk.md +0 -0
  628. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/Workshop.md +0 -0
  629. {hypernix-0.72.4.post20 → hypernix-0.72.5.dev2}/wiki/macOS-legacy.md +0 -0
@@ -0,0 +1,1017 @@
1
+ Metadata-Version: 2.4
2
+ Name: hypernix
3
+ Version: 0.72.5.dev2
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
+ Home-page: https://github.com/trail-b1az3r/hypernix-pip
6
+ Author: HyperNix contributors
7
+ License: HOL-1.0
8
+ Project-URL: Homepage, https://trail-b1az3r.github.io/HyperNix-pip/
9
+ Project-URL: Source, https://github.com/trail-b1az3r/hypernix-pip
10
+ Project-URL: Issues, https://github.com/trail-b1az3r/hypernix-pip/issues
11
+ Project-URL: Logo, https://raw.githubusercontent.com/trail-b1az3r/hypernix-pip/main/assets/logo.png
12
+ Keywords: hypernix,gguf,quantization,llama.cpp,pytorch,Ai,llm
13
+ Classifier: Development Status :: 4 - Beta
14
+ Classifier: Environment :: Console
15
+ Classifier: Intended Audience :: Developers
16
+ Classifier: Operating System :: OS Independent
17
+ Classifier: Operating System :: POSIX :: Linux
18
+ Classifier: Operating System :: MacOS
19
+ Classifier: Operating System :: Microsoft :: Windows
20
+ Classifier: Programming Language :: Python :: 3
21
+ Classifier: Programming Language :: Python :: 3.10
22
+ Classifier: Programming Language :: Python :: 3.11
23
+ Classifier: Programming Language :: Python :: 3.12
24
+ Classifier: Programming Language :: Python :: 3.13
25
+ Classifier: Programming Language :: Python :: 3.14
26
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
27
+ Requires-Python: <3.15,>=3.10
28
+ Description-Content-Type: text/markdown
29
+ License-File: LICENSE
30
+ Requires-Dist: torch<3,>=1.13
31
+ Requires-Dist: numpy<3,>=1.26
32
+ Requires-Dist: safetensors>=0.4.3
33
+ Requires-Dist: huggingface-hub>=0.24
34
+ Requires-Dist: gguf>=0.10.0
35
+ Requires-Dist: tqdm>=4.66
36
+ Requires-Dist: rich<=15.0.0,>14
37
+ Requires-Dist: sentencepiece>=0.2.1
38
+ Provides-Extra: llama-cpp
39
+ Requires-Dist: llama-cpp-python>=0.2.90; extra == "llama-cpp"
40
+ Provides-Extra: train
41
+ Requires-Dist: transformers>=4.44; extra == "train"
42
+ Requires-Dist: accelerate>=0.33; extra == "train"
43
+ Provides-Extra: dev
44
+ Requires-Dist: pytest>=8; extra == "dev"
45
+ Requires-Dist: ruff>=0.5; extra == "dev"
46
+ Requires-Dist: build>=1.2; extra == "dev"
47
+ Requires-Dist: twine>=5; extra == "dev"
48
+ Provides-Extra: security
49
+ Requires-Dist: cryptography>=42; extra == "security"
50
+ Provides-Extra: t1api
51
+ Requires-Dist: fastapi<1,>=0.110; extra == "t1api"
52
+ Requires-Dist: uvicorn[standard]<1,>=0.29; extra == "t1api"
53
+ Requires-Dist: pydantic<3,>=2; extra == "t1api"
54
+ Requires-Dist: python-dotenv<2,>=1; extra == "t1api"
55
+ Requires-Dist: python-multipart<1,>=0.0.9; extra == "t1api"
56
+ Provides-Extra: t1api-pg
57
+ Requires-Dist: psycopg[binary,pool]<4,>=3.1; extra == "t1api-pg"
58
+ Provides-Extra: t1api-test
59
+ Requires-Dist: hypernix[dev,t1api]; extra == "t1api-test"
60
+ Requires-Dist: httpx<1,>=0.27; extra == "t1api-test"
61
+ Provides-Extra: legacy-torch
62
+ Requires-Dist: numpy<3,>=1.21; extra == "legacy-torch"
63
+ Requires-Dist: safetensors>=0.3.1; extra == "legacy-torch"
64
+ Requires-Dist: huggingface-hub>=0.16; extra == "legacy-torch"
65
+ Requires-Dist: tqdm>=4.64; extra == "legacy-torch"
66
+ Requires-Dist: sentencepiece>=0.1.99; extra == "legacy-torch"
67
+ Provides-Extra: gui-qt
68
+ Requires-Dist: PySide6>=6.6; extra == "gui-qt"
69
+ Provides-Extra: gui-gtk
70
+ Requires-Dist: PyGObject>=3.48; extra == "gui-gtk"
71
+ Provides-Extra: gui
72
+ Requires-Dist: hypernix[gui-qt]; extra == "gui"
73
+ Dynamic: license-file
74
+
75
+ <!-- README_HEADER_START -->
76
+ <p align="center">
77
+ <img src="https://raw.githubusercontent.com/trail-b1az3r/HyperNix-pip/main/assets/logo-new/hypernix-lockup-dark.svg" alt="hypernix logo" width="240" />
78
+ </p>
79
+
80
+ <p align="center">
81
+ <img alt="PyPI" src="https://img.shields.io/badge/PyPI-v0.72.4.post20-ff2d55?style=for-the-badge&logo=pypi&logoColor=white" />
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
+ <img alt="License" src="https://img.shields.io/badge/License-HOS%20/%20LLU-00c853?style=for-the-badge" />
84
+ </p>
85
+ <!-- README_HEADER_END -->
86
+
87
+ **End-to-end toolkit for training ai models on modern or old devices, originaly for converting hypernix.1 into gguf, now for all around training**
88
+
89
+ ## What's fixed in this update
90
+
91
+ The section below covers what 0.72.5 adds.
92
+ [`wiki/Changelog.md`](wiki/Changelog.md) is the canonical per-release
93
+ history, and [`wiki/Roadmap.md`](wiki/Roadmap.md) says what is next.
94
+
95
+ ## Table of contents
96
+
97
+ - [What's fixed in this update](#whats-fixed-in-this-update)
98
+ - [What's new: 0.72.5 — drafts, bundles, accounts, and a car](#whats-new-0725--drafts-bundles-accounts-and-a-car)
99
+ - [What's new: 0.72.3.post2 — sub-bit models you can actually run](#whats-new-0723post2--sub-bit-models-you-can-actually-run)
100
+ - [What's new: 0.72.3 — T1 v1.0.2026.8.1.1](#whats-new-0723--t1-v102026811)
101
+ - [Package layout](#package-layout)
102
+ - [Module reference](#module-reference)
103
+ - [What's new in v0.70.5](#whats-new-in-v0705)
104
+ - [What's new in v0.70.4](#whats-new-in-v0704)
105
+ - [Install](#install)
106
+ - [Quickstart](#quickstart)
107
+ - [Python API tour](#python-api-tour)
108
+ - [CLI reference](#cli-reference)
109
+ - [Supported model families](#supported-model-families)
110
+ - [Examples](#examples)
111
+ - [Wiki / deep dives](#wiki--deep-dives)
112
+ - [How the GGUF pipeline works](#how-the-gguf-pipeline-works)
113
+ - [Platform notes](#platform-notes)
114
+ - [CI autofix](#ci-autofix)
115
+ - [Build / release](#build--release)
116
+ - [Usage & Documentation](#usage--documentation)
117
+ - [License](#license)
118
+
119
+
120
+ Cross-platform: Linux, macOS, Windows. Python 3.10 - 3.14.
121
+
122
+ ## What's new: 0.72.5 — drafts, bundles, accounts, and a car
123
+
124
+ **Speculative decoding, in both shapes.** `hyprslug` produced a
125
+ quantised model and `dflash2` could attach a draft somebody else had
126
+ made. Now it makes the draft:
127
+
128
+ ```bash
129
+ dflash2 attach model.gguf -o model+draft.gguf --quant q4_m # embedded, one file
130
+ dflash1 model.gguf -o draft.gguf --quant int8 # for --model-draft
131
+ ```
132
+
133
+ `dflash2` writes the draft into the base GGUF under a `dflash2.` prefix,
134
+ which is where the speed-up is: one file, one download, and a runtime
135
+ that has never heard of Dflash2 reads the base model straight through.
136
+ `dflash1` writes it as its own file for `llama-cli --model-draft`,
137
+ renumbering the kept blocks from zero and rewriting `<arch>.block_count`
138
+ to match — a draft that claims 32 blocks and ships 6 loads, and then
139
+ reads past the end of its own tensor table. It refuses a base with no
140
+ tokenizer rather than writing a draft nothing can sample from.
141
+
142
+ Both take nine targets: `q8`, `int8`, `fp16`, `bf16`, `fp32`, `IQ0.5`,
143
+ `Q6_K`, `Q4_M`, `int2` — and anything else `hyprslug` writes, because
144
+ they plan through it rather than keeping their own list. A draft at a
145
+ given tier is the same packing as a model at it.
146
+
147
+ **Several quantisations in one GGUF.**
148
+
149
+ ```bash
150
+ hnx-bundle build model.gguf q8,q4_m,iq0.5 -o all.gguf
151
+ hnx-bundle list all.gguf
152
+ hnx-bundle extract all.gguf q4_m -o just-q4m.gguf
153
+ ```
154
+
155
+ Variants live under `hnxq.<slug>.`, and the default one keeps the
156
+ ordinary tensor names — a stock llama.cpp opens the file and runs it
157
+ with nothing unusual happening. A bundle is roughly its variants added
158
+ together: what is stored once is the tensors every variant left
159
+ untouched byte for byte, which for most tiers is the 1-D norms rather
160
+ than the bulk. The point is not compression — it is one download
161
+ instead of five, one page cache instead of five, and switching tiers on
162
+ a served model without fetching anything.
163
+
164
+ **Five new quant targets.** `INT8` and `INT2` join the fixed-codebook
165
+ family; `FP32` / `FP16` / `BF16` are element widths and take their own
166
+ path. BF16 rounds to nearest even. FP16 saturates an overflow to 65504
167
+ only when the input was *finite*, so an infinity stays an infinity
168
+ instead of quietly becoming a large number that looks like data.
169
+
170
+ INT2 was expected to lose to FP2 and does not — 0.384 relRMS against
171
+ 0.397 over twelve seeds, because ~40% of a weight tensor sits near zero
172
+ and INT2 spends a codeword there. Measurement in
173
+ [LowBit](wiki/LowBit.md).
174
+
175
+ **`tvtoppro` gets an intro, modules, and a watchdog.** `tvtop-older`'s
176
+ animated "decoding" startup text and the spinner, in tvtoppro's
177
+ presentation; a module system, so a new stat is a file that registers
178
+ itself rather than a patch to the renderer; and a stall detector —
179
+ `train.log` untouched for over a week means the run being watched is not
180
+ the run that is happening, so it finds the busiest Python process on the
181
+ machine and reads *its* logs and progress instead.
182
+
183
+ ```bash
184
+ tvtoppro --find-run # go looking, rather than waiting on a dead log
185
+ ```
186
+
187
+ **`cctvtop`'s Remote Desktop panel works.** It called a session live
188
+ whenever *something* held the port. The probe completes an RFB handshake
189
+ now, so a stale listener, a tunnel with nothing behind it and a real
190
+ desktop are three different answers — and when there is no session it
191
+ says which of four reasons applies rather than "unavailable".
192
+
193
+ **`noodle` runs inside `hyped-pro`.** `/noodle` in the TUI. It adopts
194
+ vendor keys already stored in the HyperNix config, with the environment
195
+ always winning over the stored copy, so a session that works in `hyped`
196
+ is not configured twice.
197
+
198
+ **The `hypernix` CLI says what was wrong.** An unknown subcommand used to
199
+ print usage and exit 0. It now goes to stderr, exits 2, and suggests the
200
+ nearest real command:
201
+
202
+ ```
203
+ $ hypernix quantise
204
+ hypernix: unknown command 'quantise'
205
+
206
+ You want: hypernix quantize
207
+
208
+ hypernix --help every subcommand
209
+ ```
210
+
211
+ **T1 v1.0.26.9.2.3 — an account without already having a key.** Sign-up
212
+ and browser sign-in, served four ways: from localhost, over Tailscale,
213
+ from the operator's own site, or from a prebuilt Cloudflare site hosted
214
+ by the API host.
215
+
216
+ ```bash
217
+ t1-accounts create mason --admin # password prompted, never an argument
218
+ t1-accounts modes # what the four are, and what each needs
219
+
220
+ T1_ACCOUNTS_ENABLED=1 T1_ACCOUNTS_MODE=tailscale hypernix-t1 start
221
+ ```
222
+
223
+ scrypt for passwords, constant-time comparison, CSRF on every form,
224
+ SameSite cookies, lockout after repeated failures, and `Secure` coupled
225
+ to whether the connection is actually TLS. A keyless caller never gets
226
+ administrator rights, in any of the four modes.
227
+
228
+ **Two security fixes.** The config file holding API keys was
229
+ world-readable; it is now written `0600` into a `0700` directory through
230
+ a temporary file and `os.replace`, and an existing file is tightened on
231
+ load. And key authentication compared key *strings*, in a loop whose
232
+ position depended on the prefix — a timing oracle for the stored keys.
233
+ Keys are indexed by digest and compared with `hmac.compare_digest`; the
234
+ measured 60x spread across probe keys is flat.
235
+
236
+ **HyperLink in a car, and out loud.** The iOS app gets a CarPlay scene,
237
+ four Siri intents, eight themes, an attachment menu that offers all four
238
+ ways in, and renaming.
239
+
240
+ - CarPlay shows a conversation list, `CPVoiceControlTemplate` dictation
241
+ and six canned replies — and a keyboard **only when the car reports it
242
+ will allow one**, read from `CPSessionConfiguration.limitedUserInterfaces`
243
+ on every use and rebuilt from its delegate, because the answer changes
244
+ while the app is running.
245
+ - "Siri, ask HyperLink what's the weather", "Siri, load the model Gemma 4
246
+ E2B on blazeindustries in HyperLink", "Siri, read me the HyperLink
247
+ chat". None of the four intents opens the app; the point of asking from
248
+ a car dock is that the phone stays where it is.
249
+ - Every theme's text clears WCAG AA against its own bubble, the two
250
+ bubbles are told apart by luminance, and so are "connected" and
251
+ "failed" — checked in `tests/test_hyperlink_ios_wiring.py`, which found
252
+ three that were not.
253
+ - A chat can be renamed. The server has taken a title on
254
+ `PATCH /hyperlink/sessions/{id}` since HyperLink shipped, and nothing
255
+ on the phone ever sent one.
256
+
257
+ CarPlay needs `com.apple.developer.carplay-communication`, which Apple
258
+ grants per app on request rather than with a paid account. Everything
259
+ else builds and runs without it.
260
+
261
+ **Docs.** Issue templates for bugs and for feature requests, and
262
+ [Model-Training-Guide](wiki/Model-Training-Guide.md) — which of these do
263
+ I use, and in what order. Every API in that guide was run against the
264
+ package rather than written from memory; six were wrong.
265
+
266
+ ## What's new: 0.72.3.post2 — sub-bit models you can actually run
267
+
268
+ **The error this release is about.** LM Studio, opening a model this
269
+ package produced:
270
+
271
+ ```
272
+ llama_model_loader: failed to load model from Qwen3.8-2B-IQ0.9_L.gguf
273
+ ```
274
+
275
+ That error is correct, and no header fixes it: the GGML type id at 200 is
276
+ how the loader noticed, but the missing dequantisation kernel is why it
277
+ stopped. So there are three real ways out, and
278
+ `hypernix hyprslug-headers` leads with which is which.
279
+
280
+ ```bash
281
+ hypernix hyprslug-headers install # find what needs it
282
+ hypernix hyprslug-headers serve model.iq09.gguf # keep the tier, talk HTTP
283
+ hypernix hyprslug-headers wrap model.iq09.gguf -o ok.gguf # open anywhere, bigger
284
+ hypernix hyprslug-headers stamp model.iq09.gguf # make it self-describing
285
+ ```
286
+
287
+ `serve` puts [HnxRun](wiki/HnxRun.md) behind `/v1/chat/completions`, so
288
+ LM Studio and Bionic reach a 0.9-bit model without converting it.
289
+ `wrap` re-encodes to a stock type and says, in the report, that the
290
+ result is a `Q2_K` copy of a `IQ0.9_L` model rather than the original —
291
+ verified against the reference `gguf` reader. See
292
+ [HyprSlug-Headers](wiki/HyprSlug-Headers.md).
293
+
294
+ **Five new quant types.** `IQ0.25_UXL` at a quarter of a bit exactly,
295
+ `INT1`, `FP2`, `INT4`, and `Q4M` as a spelling of `Q4_K_M` that used to
296
+ be rejected. `FP2`'s scale is searched, not fitted to the block peak —
297
+ the obvious fit scored *worse than one bit*, and a 2-bit format that
298
+ loses to a 1-bit format is not a format. Full table and the measurement
299
+ in [LowBit](wiki/LowBit.md).
300
+
301
+ **`tvtoppro`** — tvtop++'s stats under a btop++ presentation, with
302
+ themes. Braille graphs, gradient meters, titles in the box border, and
303
+ btop's own `.theme` files loading unchanged.
304
+
305
+ ```bash
306
+ tvtoppro --theme gruvbox-dark
307
+ tvtoppro --theme ~/.config/btop/themes/nord.theme
308
+ ```
309
+
310
+ Seven themes built in and exported to `examples/tvtoppro/`. See
311
+ [TvTopPro](wiki/TvTopPro.md).
312
+
313
+ **`hypernix-t1` fixes.** `create --host/--port` failed from a checkout
314
+ (the documented flags reached `install-t1.sh`, which had never heard of
315
+ them), and `hypernix-t1 start` started uvicorn on a different port from
316
+ the one the installer configured, because the bind address only ever went
317
+ into `start-t1.sh`. Both paths agree now.
318
+
319
+ ## What's new: 0.72.3 — T1 v1.0.2026.8.1.1
320
+
321
+ **A new server can be set up without knowing anything.** It issues itself
322
+ one admin key on first start, prints it once, and that key works only
323
+ from the machine that made it and only for three days. That is enough to
324
+ point `waiter` at it and mint a real one.
325
+
326
+ ```bash
327
+ ./install-t1.sh # interactive setup, or:
328
+ hypernix-t1 start # start / stop / restart / status / logs
329
+ hypernix-t1 test # health, status, and a real end-to-end probe
330
+ hypernix-t1 autostart on # a systemd user service
331
+ ```
332
+
333
+ **HyperLink connects.** Three separate bugs each produced the same
334
+ symptom — the app times out and the server log is empty, because nothing
335
+ ever arrived. The server advertised port 8000 whatever port it was on;
336
+ iOS blocked tailnet addresses before sending, since Tailscale's
337
+ 100.64.0.0/10 is not one of the RFC 1918 ranges ATS exempts; and when
338
+ Tailscale was missing the server said nothing about why. All three fixed,
339
+ and the app now takes a **T2S key** as well as a pairing code.
340
+
341
+ **Keys can pay for themselves.** A **T2P** key carries a billing binding —
342
+ provider references, a spend cap, a currency — so it can be issued to
343
+ someone who pays for their own usage. No card data reaches the server,
344
+ and the binding is not in the credential. A server can refuse them
345
+ outright and point at its own payment page, or require payment on a
346
+ *separate* key, so the credential that identifies a caller and the one
347
+ that spends money have different lifetimes.
348
+
349
+ **`gkey` mints every format.** `-v v1|v2|v2short`, plus `gkey version`
350
+ for what this build can issue.
351
+
352
+ ```bash
353
+ gkey create -v v2 --level 5 # T2_…-5
354
+ gkey create -v v2short # T2S_… for HyperLink
355
+ gkey version # package, T1 API, key formats
356
+ ```
357
+
358
+ **The AI agent asks before it runs anything.** Tool calls are parsed out
359
+ of the model's own reply, so anything that can influence that reply — a
360
+ file it read, a web result, a page it fetched — could previously execute
361
+ shell commands with no prompt. Side-effecting tools now require consent;
362
+ `HYPERNIX_TOOL_POLICY=ask|deny|allow`, and "ask" with no terminal means
363
+ deny.
364
+
365
+ **More fits on the same card.** `hypernix.system.vram` — allocator
366
+ tuning so a long run stops fragmenting, activation checkpointing so
367
+ sequence length stops costing activation memory, an optimizer that steps
368
+ during backward so the gradients are never all held at once, and a way to
369
+ measure whether any of it worked. Nothing is applied for you and nothing
370
+ changes a default.
371
+
372
+ ```bash
373
+ hypernix train run ... --gradient-checkpointing --tune-allocator
374
+ ```
375
+
376
+ **Releases are gated on a live server.** After the tests, two jobs each
377
+ mint a T2 key, start a real API, chat through a fake model, drive an
378
+ iPhone simulator, then delete every key they made. Nothing publishes
379
+ until both pass.
380
+ ## Package layout
381
+
382
+ Modules are grouped by what they do rather than sitting in one flat
383
+ directory:
384
+
385
+ | Directory | Modules | Contents |
386
+ |---|---|---|
387
+ | `hypernix/audio/` | 4 | Wake words, audio files and speech plumbing. |
388
+ | `hypernix/chat/` | 5 | Chat templating, prompt presets and multi-turn session state. |
389
+ | `hypernix/data/` | 17 | Datasets: collection, cleaning, splitting, packing and augmentation. |
390
+ | `hypernix/evaluation/` | 6 | Scoring, rubric labelling, judging and module verification. |
391
+ | `hypernix/hyperlink/` | 12 | The [HyperLink](wiki/HyperLink-Sync.md) server side: sessions, attachments, pairing, push. |
392
+ | `hypernix/interfaces/` | 19 | Human-facing front ends: CLIs, TUIs, GUIs, launchers and `noodle`. |
393
+ | `hypernix/models/` | 17 | Architectures, snapshot loading, generation and model utilities. |
394
+ | `hypernix/monitoring/` | 14 | Live dashboards, logging, telemetry and hardware sampling. |
395
+ | `hypernix/optimizers/` | 9 | The Pressure Cooker optimizer family and optimizer plumbing. |
396
+ | `hypernix/quant/` | 28 | The GGUF pipeline: convert, quantise, the sub-bit tiers, the draft builders, bundles, fetch tooling and upload. |
397
+ | `hypernix/scriptgen/` | 6 | The training-script builder behind `hnx-scriptgen`. |
398
+ | `hypernix/security/` | 6 | API keys, quotas and request gating. |
399
+ | `hypernix/system/` | 24 | Environment, dependencies, hardware and housekeeping. |
400
+ | `hypernix/timing/` | 5 | Timers, alarms, cadence control and progress animation. |
401
+ | `hypernix/training/` | 15 | Training entry points, schedules and weight perturbation. |
402
+ | `hypernix/t1api/` | 57 | The [T1 API](wiki/T1-API.md) server: registry, routing, quota, billing, audit, rate limiting, mTLS, accounts, web auth, deployment. |
403
+ | `hypernix/t1sdk/` | 4 | The T1 API client SDK — typed, stdlib-only, no server extra needed. |
404
+ | `hypernix/waiter/` | 7 | [`waiter`](wiki/Waiter-TUI.md), the official T1 API TUI/CLI. |
405
+
406
+ Counts are `.py` files excluding `__init__.py`, as of 0.72.5.
407
+
408
+ **Every module keeps its old import path.** `hypernix.timer` and
409
+ `hypernix.timing.timer` return the same module object, so nothing that
410
+ imported a module before the move needs to change:
411
+
412
+ ```python
413
+ from hypernix.timer import KitchenTimer # always worked, still works
414
+ from hypernix.timing.timer import KitchenTimer # where the file actually is
415
+ import hypernix; hypernix.timer is hypernix.timing.timer # True
416
+ ```
417
+
418
+ `hypernix.MODULE_CATEGORIES` (and its reverse, `hypernix.CATEGORY_OF`) is the
419
+ one place the layout is written down — the lazy loader, the alias finder, the
420
+ `hnx wiki` browser and the `scripts/autofix-*` tooling all read it, so moving a
421
+ module between categories is a one-line change.
422
+
423
+ ## Module reference
424
+
425
+ Click a category below to expand it.
426
+
427
+ <details>
428
+ <summary><strong>Models & Training</strong> &nbsp;(12 modules)</summary>
429
+
430
+ | Subsystem | What it does |
431
+ |---|---|
432
+ | `hypernix.download` | Pull snapshots from the Hub (short-name resolution, gated repos, offline cache). |
433
+ | `hypernix.train` | `HyperNixConfig`, `HyperNixModel`, `init_from_scratch`, `expand_checkpoint`, `train`. Non-HyperNix archs route through `AutoModelForCausalLM`. |
434
+ | `hypernix.brewer` | `hyperNix0x-v2` architecture preset family — `Brewer(config).build()` for a from-scratch `BrewerModel`. GPU-oriented presets `33m` / `micro` / `small` / `medium` / `large` (33.6M-3.5B params), plus `cpu-nano` / `cpu-tiny` / `cpu-small` (2.1M/9.2M/26.5M params) sized for CPU-only training and inference. `custom_arch(**kwargs)` for a fully bespoke config. Also available as `hypernix brew new --preset <name>`. |
435
+ | `hypernix.instant_pot` | `brew(recipe)` — one-shot end-to-end pipeline. Also available as `hypernix brew recipe.json`. |
436
+ | `hypernix.coffee_maker` | 3 tiers (drip / french-press / percolator) + `cold_brew` type for long checkpointed runs. |
437
+ | `hypernix.deep_fryer` | 2-tier model-weight perturbation: `LightFry` (regulariser) / `HeavyFry` (severe, for bad-model negatives). In-place, reversible via snapshot. |
438
+ | `hypernix.abbicus` | Automatic token regulation and curriculum tuning. **`Abbicus`** (linear) dynamically modifies max sequence length based on model size (0.5B-72B), global step, and dataset type. `TurboAbbicus` (exponential) adds sine-wave oscillation and a hard VRAM safeguard. |
439
+ | `hypernix.compute_framework` | Hardware-agnostic multi-device training. Abstracts CUDA, MPS, CPU, TPU backends with automatic DDP/ZeRO wrapping. `ComputeFramework` handles PyTorch DDP initialization, device placement, and gradient sync without manual `torch.distributed` boilerplate. |
440
+ | `hypernix.workshop` | Model frameworks and TTS/ASR pipelines. `WorkshopFramework` base class with `FrameworkConfig` for TTS, ASR, LLM, Vision models. Pre-built templates for the ray0rf1re/nano-nano collection plus 30+ third-party architectures. |
441
+ | `hypernix.whisk` | Checkpoint averaging — `swa_average` (uniform mean), `ema` (exponential), `geometric_mean`. Accepts state dicts or paths to `.pt` / `.safetensors`. `whisk_to_snapshot` writes the merged weights back out as a loadable HyperNix snapshot. |
442
+ | `hypernix.recipe_book` | Named-config registry. `RecipeBook` with `add` / `get` / `save` / `load` / `cook(name, **overrides)`. `cook` dispatches by `kind` (`instant_pot` / `cold_brew` / `espresso`) so a saved recipe runs the matching pipeline directly. |
443
+ | `hypernix.mtp` | *(v0.70.5)* Multi-Token Prediction — predict multiple future tokens for 1.5-3x training efficiency + speculative decoding. `MTPConfig`, `MTPHead`, `MTPTrainer`. |
444
+
445
+ </details>
446
+
447
+ <details>
448
+ <summary><strong>Optimizers</strong> &nbsp;(3 modules)</summary>
449
+
450
+ | Subsystem | What it does |
451
+ |---|---|
452
+ | `hypernix.pressure_cooker` | Custom AdamW optimizer in 5 tiers: base `PressureCooker` + CPU (`StovetopCooker`, `ElectricCooker`) + GPU (`InductionCooker`, `ProCooker`) + `universal_cooker` selector that picks a tier automatically from the detected device. |
453
+ | `hypernix.pressure_cooker_v3` | ZeRO-optimized V3 optimizer with FP8 support. `QuantDtype` enum (FP8/FP16/FP32/FP64/Q8/Q6/Q5_5/Q4M) and `QuantConfig` dataclass. `PressureCookerV3` / `PressureCookerV3Plus` classes with ZeRO-1/2 sharding, plus `StovetopV3Cooker` / `StovetopV3CookerPlus` CPU-tuned variants. |
454
+ | `hypernix.pressure_cooker_v5` | *(v0.70.5 / v0.70.6)* ORCP optimizer family with int8-quantized momentum, factored curvature, QAT (Q4/Q5/Q6/Q8), Multi-Token Prediction, and EMA shadowing. `PressureCookerV5` + `PressureCookerV5Plus`, plus the ground-up 3D-ORCP `PressureCookerV5S`. Pascal-safe variants: `Agedcookerv5`, `ULTRAagedcookerv5`, `Agedcookerv5s`. See the [efficiency paper](pressure_cooker_v5_v5s_paper.md). |
455
+
456
+ </details>
457
+
458
+ <details>
459
+ <summary><strong>Memory / VRAM</strong> &nbsp;(4 modules)</summary>
460
+
461
+ | Subsystem | What it does |
462
+ |---|---|
463
+ | `hypernix.old_fridge` | Memory housekeeping: `freeze`, `unfreeze`, `parameter_stats`, `offload_to_cpu`, `chill_cache`. |
464
+ | `hypernix.freezer` | VRAM manager: `OldFreezer` (8-10 GB, conservative batches, bf16/fp16), `NewFreezer` (11 GB+, fp32-preferred), `FlashFreezer` (OOM-safe retry wrapper around either). Pascal (sm_61 / CUDA 6.1) helpers + 60 CPU presets (Intel i5/i7/i9 7th-14th gen, Core Ultra Series 1/2, AMD Ryzen 5000/7000/9000 series) via `auto_freezer()`. |
465
+ | `hypernix.cake_pan` | Hybrid CPU + GPU training guard with NaN/Inf detection, wall-time watchdog, memory-pressure offload, and pristine-state rollback via `BakeOff`. |
466
+ | `hypernix.vram` | *(v0.72.3)* **VRAM optimizations** — `configure_allocator()` (`expandable_segments`, so a long run stops fragmenting; must run before the first CUDA allocation, which is why importing the module does not import torch), `checkpoint_blocks(model, every=N)` (recompute activations instead of storing them), `fuse_optimizer_into_backward()` (step and free each gradient as it is produced, so they are never all held at once), `offload_optimizer_state(opt)` (a context manager for the duration of an eval pass), `measure_peak()` and `recommend()`. Each opt-in, each reversible, each refusing rather than silently doing nothing. See [VRAM](wiki/VRAM.md). |
467
+ | `hypernix.stml` | *(v0.70.4)* **Short Term Memory Loss** — two tools. `calculate_vram_context(vram_gb, params, batch_size, precision)` estimates the max safe trained context given your hardware. The `STML` context manager folds long sequences into batch segments to keep the *untrained* context length bounded during training. |
468
+
469
+ </details>
470
+
471
+ <details>
472
+ <summary><strong>Data Pipeline</strong> &nbsp;(9 modules)</summary>
473
+
474
+ | Subsystem | What it does |
475
+ |---|---|
476
+ | `hypernix.pans` | 5-tier data preprocessing: `FryingPan` → `SaucePan` → `Skillet` → `GrillPan` → `Wok`. Pair with `sink.Sink.pour` to write the output to disk. |
477
+ | `hypernix.blender` | 4-tier multi-source mixing: `HandBlender` / `PersonalBlender` / `CountertopBlender` / `HighPowerBlender`. |
478
+ | `hypernix.toaster` | 4-tier per-line formatting: `TwoSliceToaster` / `FourSliceToaster` / `ConveyorToaster` / `ToasterOven`. |
479
+ | `hypernix.food_processor` | 4-tier bulk chunking: `ChopBlade` / `SliceBlade` / `ShredBlade` / `PureeBlade`. |
480
+ | `hypernix.salt_shaker` | 3-tier gentle data augmentation: `FromTheBag` / `HandCrusher` / `PoshSaltDish`. |
481
+ | `hypernix.pepper_shaker` | 3-tier sharp perturbations: `SmallShaker` (MLM-style mask) / `Dish` (typos) / `TallHandmade` (negation). |
482
+ | `hypernix.qa` | *(v0.70.4)* **`QAProcessor`** — turns structured datasets (JSONL, `list[dict]`, plain text) into causal LM training strings. Two modes: `question_answer` (`Question: {q}\nAnswer: {a}`) and plain completion, with optional integrated `salt_shaker` / `pepper_shaker` seasoning. |
483
+ | `hypernix.cutting_board` | Train / val / test splitting. `CuttingBoard` (deterministic random) + `StratifiedBoard` (preserves class distribution on labelled records). Renormalises ratios that don't sum to 1; writes per-split files or returns in-memory lists. |
484
+ | `hypernix.lunchbox` | Consistent-schema dataset packager. `Lunchbox.for_eval()` pre-loads the recommended eval-results columns; `pack(path)` / `push_to_hub(repo_id)` routes through `datasets.Dataset` so column-schema mismatches fail fast instead of at upload time. |
485
+
486
+ </details>
487
+
488
+ <details>
489
+ <summary><strong>Inference & Chat</strong> &nbsp;(7 modules)</summary>
490
+
491
+ | Subsystem | What it does |
492
+ |---|---|
493
+ | `hypernix.old_oven` | `CodeOven` — ready-to-use wrapper around a snapshot: `.complete()`, `.chat()`, `.fill()`, `.save_pt()`. `new_oven()` spins a fresh one from the [ARCH_PRESETS](#arch_presets-seeds-for-new_oven) seed list instead of downloading a snapshot. |
494
+ | `hypernix.microwave` | 5-tier throwaway inference: `defrost` → `low_zap` → `zap` → `high_zap` → `chat_zap`, plus `reheat` for continuing a prior output. |
495
+ | `hypernix.cookbook` | Chat-template registry. Built-in templates for `chatml` / `hyper-nix.2` / `llama3` / `llama2` / `alpaca` / `vicuna` / `plain`. `for_model(repo_id)` picks the right one automatically from the repo's config; wired into `old_oven` and `countertop` by default. |
496
+ | `hypernix.countertop` | Multi-turn chat session. `Countertop(oven, system=…)` with `say(user)` / `reset()` / `save(path)` / `load(path)`. Auto-trims long histories; optional `bell=` for token-by-token streaming, `flour=` for output cleanup, `t1_key=` for HNX1/T1-backed remote models. |
497
+ | `hypernix.menu` | Named system-prompt registry: `default` / `concise` / `code-helper` / `judge` / `creative` / `chef` / `hyper-nix`. Pair with `countertop(oven, persona="…")` to pick a system prompt by name instead of writing one out each time. |
498
+ | `hypernix.bell` | Streaming-token + done-notification primitive. `Bell.iter_chat(oven, messages)` yields tokens; `stream_chat` collects and fires callbacks. `stdout_bell()` / `file_bell(path)` ship as ready-made done-callbacks; `silent_bell()` disables notifications. |
499
+ | `hypernix.flour` | Chat-quality logits processor — repetition penalty, frequency / presence penalty, no-repeat n-gram, bad-word suppression, role-leak suppression (cuts hallucinated `user:`-style follow-on turns a base-model-flavoured checkpoint sometimes emits). |
500
+
501
+ </details>
502
+
503
+ <details>
504
+ <summary><strong>Monitoring & CLI</strong> &nbsp;(5 modules)</summary>
505
+
506
+ | Subsystem | What it does |
507
+ |---|---|
508
+ | `hypernix.smoke_alarm` | Training-step planner & monitor. `RadsAlarm` (constants, lightest), `GasAlarm` (CPU/GPU presets), `ModernAlarm` (warmup-measured), `AutoAlarm` (selector). Plus `storage_warning()` for disk-space checks before a long run. |
509
+ | `hypernix.table` | Dead-simple tabular viewer: `from_training_log`, `from_judge_corpus`, `filter`, `select`, `show`. |
510
+ | `hypernix.tvtop` | Backwards-compatibility shim — all functionality moved to `hypernix.tv`. Re-exports everything so `import hypernix.tvtop` continues to work. Console script `tvtop` now launches the `tvtop_plus_plus` dashboard by default; use `tvtop-old` for the classic view. |
511
+ | `hypernix.wiki_cli` | *(v0.70.5)* `hnx` / `hypenix` command — auto-generating wiki from source docstrings. `hnx`, `hnx -q`, `hnx -b`. |
512
+ | `hypernix.vera` | *(v0.70.5)* Module verification — syntax, docstrings, types, smoke tests. `hnx vera <file>` / `hnx vera --all`. |
513
+
514
+ </details>
515
+
516
+ <details>
517
+ <summary><strong>Datasets & Judging</strong> &nbsp;(6 modules)</summary>
518
+
519
+ | Subsystem | What it does |
520
+ |---|---|
521
+ | `hypernix.mediocre_fridge` | Judge-training dataset generation — `synthesize_judge_corpus`, `collect_responses_from`. |
522
+ | `hypernix.new_fridge` | Training-curve graphing — `parse_training_log`, `plot_loss_curve`, `plot_score_distribution`. Matplotlib installed lazily. |
523
+ | `hypernix.new_range` / `old_range` / `industrial_range` | Labeling rubrics for `mediocre_fridge.collect_responses_from`: `new_range` is a zero-dep first-fail rubric, `old_range` is a scored rubric with per-rule weights and explainable [0, 1] scores, and `industrial_range` uses any `CodeOven`-compatible model as an LLM judge (including pairwise comparison for preference pairs). |
524
+ | `hypernix.espresso_maker` | 4-tier evaluation: `Ristretto` / `SingleShot` / `DoubleShot` / `Lungo` — run a prompt battery, score, return shots. |
525
+ | `hypernix.smoker` | 4-tier training quality: `UseableSmoker` / `GoodSmoker` / `CommercialSmoker` / `HighQualitySmoker`. |
526
+ | `hypernix.scavenger` | *(v0.70.5)* HuggingFace dataset discovery engine. Keyword search, storage budgets, quality filtering, relevance scoring. `ScavengerCriteria` + `Scavenger.hunt()`. |
527
+
528
+ </details>
529
+
530
+ <details>
531
+ <summary><strong>Quantize & Export</strong> &nbsp;(3 modules)</summary>
532
+
533
+ | Subsystem | What it does |
534
+ |---|---|
535
+ | `hypernix.convert` | Safetensors → GGUF at fp32/fp16. Architecture-agnostic tensor naming. |
536
+ | `hypernix.quantize` | `llama-quantize` driver. v0.51.3 ships a 30-type `QUANT_CATALOG` (`QuantSpec` dataclass per type with bits-per-weight, category, recommendation) covering floats (`F32` / `F16` / `BF16`), legacy k-quants (`Q4_0`…`Q5_1`), K-quants (`Q2_K`…`Q6_K`), and importance-matrix quants (`IQ1_S`…`IQ4_XS`); see the alias table below. |
537
+ | `hypernix.upload` | Push the produced artifacts back to a HuggingFace repo. |
538
+
539
+ </details>
540
+
541
+ <details>
542
+ <summary><strong>Utilities</strong> &nbsp;(3 modules)</summary>
543
+
544
+ | Subsystem | What it does |
545
+ |---|---|
546
+ | `hypernix.sink` | Append-only file sink with optional rotation + dedupe. |
547
+ | `hypernix.apron` | RNG-state guard. `apron(seed=…)` context manager snapshots Python `random`, NumPy (if installed), torch CPU and every CUDA device's RNG, optionally seeds all of them, and restores the original state on exit. |
548
+ | `hypernix.torch_compat` | Portability shim (RMSNorm + SDPA) for running on old Intel Macs with torch 1.13. See [`wiki/macOS-legacy.md`](wiki/macOS-legacy.md). |
549
+
550
+ </details>
551
+
552
+ ---
553
+
554
+ ## What's new in v0.70.5
555
+
556
+ Eleven major additions:
557
+
558
+ - **`hnx` / `hypenix` Wiki CLI** — Auto-generating documentation browser. `hnx` shows all modules; `hnx <module>` shows docs; `hnx -q <module>` streams quick mode; `hnx -b` opens in browser. Docs regenerate from source docstrings, so they can't drift out of sync with the code.
559
+ - **`hnx vera`** — Module verification: syntax check, docstring coverage, type annotations, smoke test. `hnx vera <file>` or `hnx vera --all`.
560
+ - **`pressure_cooker_v5`** — ORCP optimizer family with int8-quantized momentum (~75% smaller than fp32, ~87% smaller total optimizer state than AdamW -- see the [efficiency paper](pressure_cooker_v5_v5s_paper.md)), QAT (Q4/Q5/Q6/Q8), Multi-Token Prediction, EMA shadowing, and the ground-up 3D-ORCP `PressureCookerV5S` variant (v0.70.6).
561
+ - **`mtp`** — Multi-Token Prediction for 1.5-3x training efficiency. Sequential/independent modes, shared/independent heads, native workshop integration.
562
+ - **`scavenger`** — HuggingFace dataset discovery with keyword search, storage budgets, quality filtering (likes/downloads/age), and relevance scoring.
563
+ - **Freezer QAT support** — `suggest_qat_batch_size()`, `prepare_for_qat()`, per-bit-width VRAM multiplier profiles.
564
+ - **Workshop native MTP** — `attach_mtp_head()` and `compute_mtp_loss()` built into WorkshopFramework.
565
+ - **tvtop++ fixes** — Eliminated border flicker (layout built once), added `_block_history_bar` re-export, implemented `small_mode`, fixed self-process filtering.
566
+ - **New wiki pages** — [Pressure-Cooker-V5](wiki/Pressure-Cooker-V5.md), [MTP](wiki/MTP.md), [Scavenger](wiki/Scavenger.md)
567
+ - **Kitchen.md updated** — Added scavenger, MTP, and QAT sections
568
+
569
+ ### Training Benefits vs Complexity
570
+
571
+ > **Key insight**: MTP + Speculative Decoding offer the highest benefit-to-cost ratio. Int8-quantized momentum cuts the momentum buffer's own memory by 75% versus fp32, and PressureCookerV5/V5S's factored curvature keeps the rest of the optimizer state small too -- measured optimizer-state memory lands around 12-13% of AdamW's (see the [efficiency paper](pressure_cooker_v5_v5s_paper.md) for the exact numbers and methodology). The trade-offs -- including step-time overhead on some hardware -- are real and are covered in the paper rather than summarized as a single percentage here.
572
+
573
+ ## What's new in v0.70.4
574
+
575
+ Seven additions in the 0.70.4 series:
576
+
577
+ - **`qa`** — `QAProcessor` formats Q&A datasets into causal LM training strings with optional salt/pepper seasoning
578
+ - **`stml`** — Short Term Memory Loss: `STML` context manager (segment folding, untrained hard cap) + `calculate_vram_context` VRAM calculator with CLI
579
+ - **`TurboAbbicus`** — exponential curriculum regulator with configurable hard cap, sine-wave oscillation (CPU-adjusted, never GPU), and VRAM safeguard
580
+ - **`tvtop++` fixes** — layout tree bug (border shifting on refresh), colors matching original tvtop (CPU=green, RAM=magenta, GPU=red), dynamic console resizing, dynamic graph/log widths
581
+ - **`hypernix stml`** CLI subcommand — VRAM context calculator from the shell
582
+ - **`hypernix train run`** new flags — `--use-abbicus`, `--use-turbo-abbicus`, `--use-stml`, `--untrained-max-context`, `--segment-length`
583
+ - **`CodeOven.train()`** new kwargs — `use_turbo_abbicus`, `use_stml`, `untrained_max_context`, `segment_length`
584
+
585
+ ### Earlier: v0.70.0
586
+
587
+ Five new modules + major optimizer rewrites:
588
+
589
+ - **`abbicus`** — Automatic token regulation and curriculum tuning for model sizes 0.5B–72B
590
+ - **`compute_framework`** — Hardware-agnostic multi-device training with auto DDP/ZeRO wrapping (CUDA/MPS/CPU/TPU)
591
+ - **`pressure_cooker` V2** — Quantization-aware training with fp16/bf16/fp64 mixed-precision, QAT hooks for Q8/Q6/Q5.5/Q4M, plus 10 upgrades (mixed-precision autodetect, QAT hooks, gradient-checkpointing integration, adaptive per-layer gradient clipping, EMA weight shadowing, DDP/FSDP-aware distributed training, dynamic loss scaling with overflow backoff, parameter freeze/unfreeze callbacks, an LR finder, and metrics streaming to tvtop)
592
+ - **`pressure_cooker_v3`** — ZeRO-1/2 optimizations, FP8 support, `QuantDtype` enum + `QuantConfig` dataclass
593
+ - **`workshop`** — Model frameworks for TTS/ASR/LLM/Vision with pre-built templates, nano-nano collection support, 30+ architectures (LiquidAI LFM2.5, MiniCPM5, Gemma 4, Qwen3.5, Phi-4, DeepSeek-V2.x, and others)
594
+ - **`tvtop`** — Now launches the premium `tvtop_plus_plus` dashboard by default; use `tvtop-old` for the classic view
595
+
596
+ ## Install
597
+
598
+ From PyPI:
599
+
600
+ ```bash
601
+ pip install "hypernix[llama-cpp]" # + bundled llama-cpp-python
602
+ pip install "hypernix[train]" # + transformers, accelerate
603
+ pip install hypernix # core only
604
+ ```
605
+
606
+ Setting up the **T1 API** server specifically? `./install-t1.sh` is a
607
+ guided installer — it asks what kind of deployment this is (bind
608
+ address, key policy, allowlist, rate limits, cost accounting, models,
609
+ HyperLink, the `waiter` manager TUI) and writes a matching
610
+ configuration, an admin key, and a start script. `--dry-run` shows what
611
+ it would do without writing anything. See
612
+ [T1-API.md](wiki/T1-API.md#the-installer).
613
+
614
+ Need a specific torch build? Install torch **first**; pip will reuse
615
+ it rather than replace it:
616
+
617
+ ```bash
618
+ # CUDA 11.8 — old drivers, Pascal GPUs (GTX 1080 et al.)
619
+ pip install --index-url https://download.pytorch.org/whl/cu118 torch
620
+ pip install hypernix
621
+
622
+ # CUDA 12.x — modern default
623
+ pip install --index-url https://download.pytorch.org/whl/cu124 torch
624
+ pip install hypernix
625
+
626
+ # CPU-only
627
+ pip install --index-url https://download.pytorch.org/whl/cpu torch
628
+ pip install hypernix
629
+
630
+ # Old Intel Mac / torch 1.13 — the compat shim takes over.
631
+ pip install --index-url https://download.pytorch.org/whl/cpu 'torch==1.13.1'
632
+ pip install 'hypernix[legacy-torch]'
633
+ ```
634
+
635
+ ### `hypernix: command not found`
636
+
637
+ The console scripts land in your interpreter's scripts directory, which on
638
+ a lot of systems isn't on `PATH` — `pip install --user` puts them in
639
+ `~/.local/bin`, and Debian/Ubuntu only add that at login *if it already
640
+ existed*. HyperNix fixes this itself the first time you run it, printing
641
+ what it changed. To do it explicitly:
642
+
643
+ ```bash
644
+ python -m hypernix path # what would change (writes nothing)
645
+ python -m hypernix path --apply # write the block into your shell profile
646
+ python -m hypernix path --undo # take it back out
647
+ ```
648
+
649
+ It writes one marked, reversible block into the startup file your shell
650
+ actually reads, and refuses to do anything inside a virtualenv or conda
651
+ env — that directory belongs to the environment and is only meant to be on
652
+ `PATH` while it's activated. Set `HYPERNIX_NO_PATH_SETUP=1` to turn the
653
+ automatic version off entirely.
654
+
655
+ The main `install_requires` is `torch>=1.13,<3` — 2.7+ is the
656
+ recommended version (native `nn.RMSNorm`, fused SDPA), but 1.13+
657
+ works via `hypernix.torch_compat`. See
658
+ [`wiki/macOS-legacy.md`](wiki/macOS-legacy.md) for the full story.
659
+
660
+ Sanity-check the environment:
661
+
662
+ ```bash
663
+ hypernix doctor # report
664
+ hypernix doctor --fix # install missing runtime deps
665
+ ```
666
+
667
+ Automatic dependency management can be disabled with
668
+ `HYPERNIX_AUTO_INSTALL=0`.
669
+
670
+ ## Quickstart
671
+
672
+ ### Chat with any supported model
673
+
674
+ ```bash
675
+ hypernix chat --repo-id nix2.5 --message "hello"
676
+ hypernix chat --repo-id qwen3.5-4b --message "explain rotary embeddings"
677
+ hypernix chat --repo-id gemma-4-e4b --message "write a haiku"
678
+ ```
679
+
680
+ Short names resolve via `KNOWN_MODELS`; see
681
+ [Supported model families](#supported-model-families).
682
+
683
+ ### Convert a snapshot to GGUF
684
+
685
+ ```bash
686
+ # Default: fp32 + fp16
687
+ hypernix --repo-id ray0rf1re/hyper-nix.1 --output-dir ./out
688
+
689
+ # Opt in to k-quants (needs llama-quantize)
690
+ hypernix --repo-id ray0rf1re/hyper-nix.1 --output-dir ./out \
691
+ --quants fp32 fp16 q8_0 q6_k q4_k_m
692
+ ```
693
+
694
+ ### Train HyperNix 1.5 (~92.1 M params) on a GTX 1080
695
+
696
+ ```bash
697
+ python examples/train_hypernix_1_5_gtx1080.py \
698
+ --dataset corpus.txt \
699
+ --tokenizer-source ./hyper-nix-v1 \
700
+ --out-dir ./hypernix-1.5 \
701
+ --steps 2000 --batch-size 1 --context-length 1024
702
+ ```
703
+
704
+ Auto-detects compute capability 6.x, forces fp16 (Pascal has no native
705
+ bf16), disables TF32 / SDPA / `torch.compile`, and wraps the training
706
+ loop in a `FlashFreezer` so OOMs pause-and-halve rather than crash. See
707
+ [`wiki/Pascal.md`](wiki/Pascal.md) for the full Pascal playbook.
708
+
709
+ ### Build a HyperNix 0.1.5 evaluator
710
+
711
+ ```bash
712
+ python examples/train_hypernix_0_1_5_evaluator.py --out-dir ./eval
713
+ ```
714
+
715
+ Synthesizes a judge-training corpus with `mediocre_fridge`, freezes
716
+ embeddings with `old_fridge`, trains via `oven.train`, reloads with the
717
+ other oven, plots the loss curve with `new_fridge`. Self-contained
718
+ smoke test for every subsystem.
719
+
720
+ ## Python API tour
721
+
722
+ ```python
723
+ import hypernix
724
+ from hypernix import freezer, old_oven, old_fridge, mediocre_fridge, new_fridge
725
+
726
+ # 1) Auto-pick a VRAM strategy. On a GTX 1080 this returns OldFreezer(fp16);
727
+ # on a 3090 it returns NewFreezer(fp32 / bf16 on Ampere).
728
+ fz = freezer.flash_freezer(base=freezer.auto_freezer(), slow=True)
729
+
730
+ # 2) Preheat an oven from a short name (downloads on first call).
731
+ oven = old_oven.preheat(repo_id="nix2.5", device="cuda", dtype="float16")
732
+
733
+ # 3) Memory hygiene.
734
+ old_fridge.freeze(oven.model, patterns=("embed_tokens",))
735
+ print(old_fridge.parameter_stats(oven.model))
736
+
737
+ # 4) Training data.
738
+ dataset = mediocre_fridge.synthesize_judge_corpus(n=1024, out_path="judge.txt")
739
+
740
+ # 5) Train inside a FlashFreezer so OOMs don't blow up the run.
741
+ fz.guard(lambda: oven.train(dataset, "./trained", steps=500, batch_size=1))
742
+
743
+ # 6) Graph.
744
+ import pathlib
745
+ log = pathlib.Path("./trained/train.log").read_text()
746
+ new_fridge.plot_loss_curve(new_fridge.parse_training_log(log), "loss.png")
747
+ ```
748
+
749
+ ## CLI reference
750
+
751
+ `hypernix --help` prints the authoritative list — this is the shape of
752
+ it. An unknown subcommand exits 2 on stderr and suggests the nearest
753
+ real one rather than printing usage and claiming success.
754
+
755
+ ```
756
+ hypernix <subcommand> [options]
757
+
758
+ all download -> convert -> [quantize] (default)
759
+ download fetch a HuggingFace snapshot
760
+ convert produce fp32 / fp16 GGUF from a snapshot
761
+ quantize run llama-quantize on an fp16 / fp32 GGUF
762
+ verify read-validate a GGUF and print headers
763
+ info package + optional GGUF header summary
764
+ upload push files to a HuggingFace repo
765
+ doctor environment diagnostic (pass --fix to install deps)
766
+ path put the console scripts on your PATH (--apply / --undo)
767
+ fetch-llama-quantize pre-seed the llama-quantize cache
768
+ train init create a fresh HyperNix snapshot
769
+ train expand warm-start a bigger model from a smaller one
770
+ train run minimal causal-LM training loop
771
+ generate sample text from a local snapshot
772
+ oven code-generation wrapper (preheat + complete / fill)
773
+ chat interactive chat REPL against any supported model
774
+ brew custom architecture builder and training suite
775
+ fizzle fuse models and LoRAs (fiz)
776
+ fusebox GPU thermal governor: pace a run, trip on heat
777
+ devices what accelerators this machine has, and what they do
778
+ wakeup train a trigger phrase, then listen for it
779
+ websearch the search backend behind chat and the assistant
780
+ gather crawl a site into a corpus (robots-aware)
781
+ runtime use HyperNix's llama.cpp from LM Studio and friends
782
+ hyprslug-headers self-describing GGUF headers, and the sub-bit server
783
+ stml VRAM trained context length calculator
784
+ ```
785
+
786
+ The rest are their own console scripts, because each is a program rather
787
+ than a step in the pipeline:
788
+
789
+ | Command | What it is |
790
+ |---|---|
791
+ | `hyped` / `hyped-pro` | The TUI agent CLI. `/gui` for a desktop window, `/t1api` to route through a T1 server, `/noodle` for the autonomous executor. |
792
+ | `hyprslug` (`doomslug`, `dstd`) | The quantiser, including the sub-bit tiers. |
793
+ | `dflash2` / `dflash1` | Speculative-decoding drafts: embedded in the base GGUF, or standalone for `--model-draft`. |
794
+ | `hnx-bundle` (`multiquant`) | Several quantisations in one GGUF. |
795
+ | `hnx-imatrix` | Importance matrices. |
796
+ | `steamroller` | The descending llama.cpp quantiser. |
797
+ | `tvtoppro` / `cctvtop` / `tvtop-old` / `tvtop-older` | The dashboards, newest to oldest. |
798
+ | `hnx-map` | The steampunk schematic TUI. |
799
+ | `hnx-scriptgen` | The training-script builder. |
800
+ | `waiter` | The T1 API's client TUI/CLI. Needs no server extra. |
801
+ | `t1-accounts` | Web accounts for a T1 server: create, reset, unlock, and the four deployment modes. |
802
+ | `gkey` | Gatekeeper + Keymaster, in one place. |
803
+ | `multilama` | One interface over vanilla llama.cpp, ik_llama.cpp, PrismML and KoboldCpp. |
804
+ | `noodle` | The autonomous multi-agent executor, standalone. |
805
+ | `eth` / `ups` | Ethanol, and the UPS monitor. |
806
+
807
+ `train run` accepts curriculum / context management flags:
808
+
809
+ ```bash
810
+ hypernix train run --model-dir ./snap --dataset data.txt --out-dir ./out \
811
+ --use-turbo-abbicus \ # exponential curriculum (--use-abbicus for linear)
812
+ --use-stml \ # fold long sequences into batch segments
813
+ --untrained-max-context 16384 \
814
+ --segment-length 512
815
+ ```
816
+
817
+ Quant aliases accepted by `--quants` and `hypernix quantize` (v0.51.3
818
+ ships 49 aliases mapping to 30 distinct quant types — the table below
819
+ shows the headline subset; `hypernix.quant_list_types()` returns the
820
+ full list at runtime, and `hypernix.QUANT_CATALOG[name]` gives you the
821
+ full `QuantSpec` for any one):
822
+
823
+ | Alias | llama.cpp enum | bpw | Recommended? |
824
+ |---|---|---|---|
825
+ | `fp32`, `f32` | F32 | 32.0 | reference |
826
+ | `fp16`, `f16` | F16 | 16.0 | ✓ baseline |
827
+ | `bf16` | BF16 | 16.0 | |
828
+ | `q4_0`, `q4_1`, `q5_0`, `q5_1` | Q4_0 / Q4_1 / Q5_0 / Q5_1 | 4.5 – 6.0 | legacy |
829
+ | `q8`, `q8_0` | Q8_0 | 8.5 | ✓ near-lossless |
830
+ | `q2_k`, `q2_k_s`, `q3_k_s`, `q3_k_m`, `q3_k_l` | Q2_K … Q3_K_L | 2.5 – 4.0 | |
831
+ | `q4_k_s`, `q4km`, `q4_k_m` | Q4_K_S, Q4_K_M | 4.5, 4.83 | ✓ chat sweet spot |
832
+ | `q5_k_s`, `q5km`, `q5_k_m` | Q5_K_S, Q5_K_M | 5.5, 5.83 | ✓ |
833
+ | `q6`, `q6_k` | Q6_K | 6.56 | ✓ near-fp16 |
834
+ | `iq1_s`, `iq1_m`, `iq2_*`, `iq3_*`, `iq4_nl`, `iq4_xs` | IQ1_S … IQ4_XS | 1.56 – 4.5 | imatrix-friendly |
835
+
836
+ ## Supported model families
837
+
838
+ ### Short names (CLI & Python)
839
+
840
+ Pass any of these to `hypernix chat --repo-id`, `old_oven.preheat`,
841
+ `download_model`, etc.
842
+
843
+ | Family | Short names |
844
+ |---|---|
845
+ | **HyperNix** | `hyper-nix.1`, `hyper-nix`, `hypernix`, `nano-nano-v4`, `nano-mini-6.99-v2`, `nano-nano-927-v3` |
846
+ | **Nix** (ray0rf1re/nix collection) | `nix`, `nix2.5`, `nix2.6-m`, `nix2.6-mm`, `nix-2.7a`, `nix2.7`, `nix2.6` |
847
+ | **Llama 3.x** | `llama-3.1-8b`, `llama-3.1-8b-instruct`, `llama-3.2-1b`, `llama-3.2-3b`, `llama-3.3-70b-instruct` |
848
+ | **Qwen 2.5 / 3 / 3.5 / 3.6** | `qwen2.5-*`, `qwen3-0.6b`, `qwen3-8b`, `qwen3.5-{0.8b,2b,4b,9b,27b,35b-a3b,122b-a10b,397b-a17b}`, `qwen3.6-35b-a3b` |
849
+ | **Gemma 2 / 3 / 4** | `gemma-2-{2b,9b,27b}`, `gemma-3-{1b,4b}`, `gemma-4-{e2b,e4b,26b-a4b,31b}` |
850
+ | **Phi 3 / 3.5 / 4** | `phi-3-mini`, `phi-3.5-mini`, `phi-4` |
851
+ | **DeepSeek** | `deepseek-r1-distill-llama-8b`, `deepseek-r1-distill-qwen-7b`, `deepseek-v2-lite`, `deepseek-v3` |
852
+ | **GLM 4 / 5 / 5.1** | `glm-4-9b-chat`, `glm-4.1v`, `glm-5`, `glm-5.1`, `glm-5.1-fp8` |
853
+ | **Mistral / Mixtral** | `mistral-7b-instruct`, `mixtral-8x7b-instruct` |
854
+ | **NVIDIA** | `nemotron-4-15b`, `llama-3.1-nemotron-70b-instruct`, `mistral-nemo-12b` |
855
+ | **OpenAI gpt-oss** | `gpt-oss-20b`, `gpt-oss-120b` |
856
+
857
+ The full registry lives in `hypernix.KNOWN_MODELS`.
858
+
859
+ ### ARCH_PRESETS (seeds for `new_oven`)
860
+
861
+ `new_oven(arch="...", ...)` spins a fresh, parametric model in the
862
+ shape of any of these families:
863
+
864
+ - `hypernix`, `llama`, `llama3`, `llama3.1`, `llama3.2`, `llama3.3`, `llama4`
865
+ - `qwen2`, `qwen2.5`, `qwen3`, `qwen3.5`, `qwen3.6`
866
+ - `gemma`, `gemma2`, `gemma3`, `gemma4`
867
+ - `mistral`, `phi3`, `phi4`
868
+ - `glm4`, `glm5`, `glm5.1`
869
+ - `deepseek`, `deepseek-r1`, `nemotron`, `gpt-oss` / `gptoss`
870
+ - `nix`, `nix2`
871
+
872
+ Presets are seeds for brand-new parametric models. **Loading** a
873
+ pretrained checkpoint for any of these families works without a matching
874
+ preset because non-HyperNix `model_type` values route through
875
+ `transformers.AutoModelForCausalLM`.
876
+
877
+ ## Examples
878
+
879
+ - [`examples/quickstart.py`](examples/quickstart.py) — 5-line Python API demo.
880
+ - [`examples/custom_arch.py`](examples/custom_arch.py) — arbitrary-size HyperNix.
881
+ - [`examples/upload_to_hub.py`](examples/upload_to_hub.py) — publish to the Hub.
882
+ - [`examples/train_hypernix_0_1_5_evaluator.py`](examples/train_hypernix_0_1_5_evaluator.py) — tiny evaluator demo wiring ovens + all three fridges.
883
+ - [`examples/train_hypernix_1_5_gtx1080.py`](examples/train_hypernix_1_5_gtx1080.py) — production-shape 92.1 M model trained on an 8 GB Pascal card.
884
+
885
+ ## Wiki / deep dives
886
+
887
+ Topic-focused reference guides live in the `wiki/` directory:
888
+
889
+ - [`wiki/Home.md`](wiki/Home.md) — index
890
+ - [`wiki/Ovens.md`](wiki/Ovens.md) — `old_oven` / `new_oven` reference
891
+ - [`wiki/Fridges.md`](wiki/Fridges.md) — `old_fridge` / `mediocre_fridge` / `new_fridge`
892
+ - [`wiki/Ranges.md`](wiki/Ranges.md) — `new_range` / `old_range` / `industrial_range` (labeling rubrics)
893
+ - [`wiki/Freezer.md`](wiki/Freezer.md) — VRAM manager (OldFreezer / NewFreezer / FlashFreezer)
894
+ - [`wiki/Alarms.md`](wiki/Alarms.md) — smoke alarms (Rads / Gas / Modern / Auto) + CPU / GPU preset tables
895
+ - [`wiki/Kitchen.md`](wiki/Kitchen.md) — pans / microwave / table / sink / instant pot / coffee maker / pressure cooker / qa
896
+ - [`wiki/Abbicus.md`](wiki/Abbicus.md) — Abbicus (linear) and TurboAbbicus (exponential + sine oscillation)
897
+ - [`wiki/STML.md`](wiki/STML.md) — Short Term Memory Loss context manager and VRAM calculator
898
+ - [`wiki/Pascal.md`](wiki/Pascal.md) — CUDA 6.1 / GTX 1080 playbook
899
+ - [`wiki/Architectures.md`](wiki/Architectures.md) — ARCH_PRESETS and KNOWN_MODELS
900
+ - [`wiki/Training.md`](wiki/Training.md) — scratch training, expansion, and fine-tuning flows
901
+ - [`wiki/CLI.md`](wiki/CLI.md) — full CLI cheat sheet
902
+ - [`wiki/Quantization.md`](wiki/Quantization.md) — GGUF conversion + k-quant pipeline
903
+ - [`wiki/Changelog.md`](wiki/Changelog.md) — full per-release version history
904
+ - [`wiki/Pressure-Cooker-V5.md`](wiki/Pressure-Cooker-V5.md) — Pressure Cooker V5 / V5+ / V5S with QAT and MTP
905
+ - [`wiki/MTP.md`](wiki/MTP.md) — Multi-Token Prediction guide
906
+ - [`wiki/Scavenger.md`](wiki/Scavenger.md) — HuggingFace dataset discovery
907
+ - [`wiki/Model-Training-Guide.md`](wiki/Model-Training-Guide.md) — which of these do I use, and in what order
908
+ - [`wiki/HyprSlug.md`](wiki/HyprSlug.md) — the sub-bit quantiser
909
+ - [`wiki/HyprSlug-Headers.md`](wiki/HyprSlug-Headers.md) — self-describing headers, the compat export, the sub-bit server
910
+ - [`wiki/LowBit.md`](wiki/LowBit.md) — the fixed-codebook tiers and the measurements behind them
911
+ - [`wiki/Dflash2.md`](wiki/Dflash2.md) — speculative-decoding drafts
912
+ - [`wiki/TvTopPro.md`](wiki/TvTopPro.md) — the dashboard, its themes and its modules
913
+ - [`wiki/T1-API.md`](wiki/T1-API.md) — the T1 API server
914
+ - [`wiki/HyperLink-Sync.md`](wiki/HyperLink-Sync.md) — the phone app and what it talks to
915
+ - [`wiki/Roadmap.md`](wiki/Roadmap.md) — what is planned, and what landed
916
+
917
+ ## How the GGUF pipeline works
918
+
919
+ 1. `huggingface_hub.snapshot_download` pulls weights + tokenizer files.
920
+ 2. The converter loads the state dict, infers dimensions from tensor
921
+ shapes (so any HyperNix size works), and maps tensor names onto
922
+ llama.cpp's canonical GGUF layout when a recognizable pattern matches
923
+ (Llama, GPT-NeoX, GPT-2, nanoGPT). Unknown names round-trip verbatim.
924
+ 3. `llama-quantize` consumes the fp16 GGUF to produce each k-quant.
925
+
926
+ The CLI emits exactly one fp16 intermediate and reuses it for every
927
+ k-quant in the plan.
928
+
929
+ ## Platform notes
930
+
931
+ - **Linux**: full support, every distro tested on: (Ubuntu, Debian, Arch.)
932
+ - **macOS**: Metal for inference, Homebrew for `llama-quantize`. (untested)
933
+ - **Windows**: native support; doctor accepts Windows; `llama-quantize` auto-downloads Windows binaries; use scoop / chocolatey for system deps. (untested)
934
+ - **Pascal (GTX 1080 / 1080 Ti / Titan Xp)**: install torch from the CUDA 11.8 index first (see above). Use `OldFreezer` or `auto_freezer()`; `pascal_safe_dtype()` picks fp16. `hypernix.freezer.pascal_mode_hints()` returns a dict of recommended settings (batch size, dtype, TF32/SDPA toggles) for the detected card.
935
+
936
+ ## CI autofix
937
+
938
+ Three scripts in `scripts/`, each owning one failure class, plus a router
939
+ that reads a CI log and runs the right one:
940
+
941
+ | Script | Owns |
942
+ |---|---|
943
+ | `autofix-B` | ruff diagnostics |
944
+ | `autofix-E` | imports, syntax, anything that stops collection |
945
+ | `autofix-F` | failing tests for a module category (timing by default) |
946
+
947
+ ```bash
948
+ scripts/autofix # reproduce the failure, classify, fix
949
+ scripts/autofix --log ci-output.txt # classify an existing CI log
950
+ scripts/autofix-F --dry-run # timer-test repair, without writing
951
+ ```
952
+
953
+ `autofix-F` engages only when *some but not all* of the timing tests fail —
954
+ the signature of a wall-clock assertion that lost a race, which is the one
955
+ thing it can fix. It widens the margins in those tests by scaling every time
956
+ constant in them uniformly, re-runs only what it changed, and commits with an
957
+ `Autofix-Scope:` trailer. CI reads that trailer and verifies just those tests
958
+ instead of re-running the 4-OS x 4-Python matrix. Failures it can't honestly
959
+ fix — a renamed symbol, a changed signature, a real regression — are reported
960
+ and left alone.
961
+
962
+ See [`scripts/README.md`](scripts/README.md) for the full picture.
963
+
964
+ ## Build / release
965
+
966
+ ```bash
967
+ pip install build twine
968
+ python -m build
969
+ twine check --strict dist/*
970
+ ```
971
+
972
+ Release tags (`vX.Y.Z`) fire `.github/workflows/release.yml` which
973
+ publishes to PyPI via Trusted Publishing and attaches the wheel +
974
+ sdist + an `examples-scripts` tarball + `SHA256SUMS` to a GitHub
975
+ Release.
976
+
977
+ ## Usage & Documentation
978
+
979
+ Comprehensive performance analysis and training guides available in the following PDFs:
980
+
981
+ | Document | Description |
982
+ |---|---|
983
+ | [**pressure_cooker_v5_v5s_paper.md**](pressure_cooker_v5_v5s_paper.md) | PressureCookerV5 / V5S architecture, math, and measured efficiency numbers (memory + step-time), reproducible from the scripts below. |
984
+ | [**01_ram_and_training_time.pdf**](01_ram_and_training_time.pdf) | RAM usage patterns and training time impact analysis. |
985
+ | [**02_optimizer_speed_and_memory.pdf**](02_optimizer_speed_and_memory.pdf) | Optimizer performance comparison and memory optimization strategies. |
986
+ | [**03_gpu_utilization_and_vram.pdf**](03_gpu_utilization_and_vram.pdf) | GPU utilization patterns and VRAM management best practices. |
987
+ | [**04_architecture_and_pipeline.pdf**](04_architecture_and_pipeline.pdf) | Detailed architecture documentation and training pipeline information. |
988
+
989
+ ```bash
990
+ # Reproduce the optimizer benchmarks yourself:
991
+ python scripts/benchmark_v5.py # AdamW vs PressureCookerV5, step time + peak mem
992
+ python scripts/benchmark_v5s.py # AdamW vs V5 vs V5S, step time + peak mem
993
+ python scripts/measure_optimizer_memory.py # exact optimizer-state bytes per parameter tensor
994
+ ```
995
+
996
+ ## License
997
+
998
+ HyperNix is **dual-licensed** — recipients choose one of the two options
999
+ below (see the full text in [`LICENSE`](LICENSE)):
1000
+
1001
+ - **LLU-0.1** — the HyperNix OpenCode Light Limited Use License, Version
1002
+ 0.1. Source-available, with a same-license requirement for forks and a
1003
+ §12 field-of-use restriction (it does not meet the OSI Open Source
1004
+ Definition because of that restriction). This is the **default** if
1005
+ you don't make an active choice.
1006
+ - **HOS-1.0** — the HyperNix Open Source License, Version 1.0. An
1007
+ OSI-compliant open-source license with no field-of-use restrictions.
1008
+
1009
+ You must pick one license and follow its terms — you can't mix terms
1010
+ from both. Large trained models (29.1B+ parameters) that are shared
1011
+ publicly carry a transparency requirement (disclosing training-data
1012
+ sources or a data composition summary) under either license; see
1013
+ `LICENSE` §7–8 (LLU-0.1) / the equivalent HOS-1.0 sections for specifics.
1014
+ `hypernix` is **not** Apache-2.0, MIT, or any other stock license.
1015
+
1016
+
1017
+ Full detail in the [Changelog](wiki/Changelog.md).