hypernix 0.71.0__tar.gz → 0.71.2__tar.gz

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