hypernix 0.70.2__tar.gz → 0.70.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {hypernix-0.70.2 → hypernix-0.70.4}/.github/workflows/deploy-docs.yml +10 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/.github/workflows/public-release.yml +11 -5
- {hypernix-0.70.2 → hypernix-0.70.4}/PKG-INFO +34 -7
- {hypernix-0.70.2 → hypernix-0.70.4}/README.md +32 -5
- {hypernix-0.70.2 → hypernix-0.70.4}/pyproject.toml +17 -10
- {hypernix-0.70.2 → hypernix-0.70.4}/scripts/install_deps.sh +61 -7
- {hypernix-0.70.2 → hypernix-0.70.4}/setup.cfg +4 -1
- hypernix-0.70.4/setup.py +30 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/__init__.py +73 -9
- hypernix-0.70.4/src/hypernix/abbicus.py +271 -0
- hypernix-0.70.4/src/hypernix/cardboard_box.py +159 -0
- hypernix-0.70.4/src/hypernix/cctvtop.py +34 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/cli.py +94 -5
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/compute_framework.py +77 -4
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/download.py +14 -2
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/instant_pot.py +6 -1
- hypernix-0.70.4/src/hypernix/lazy_suzan.py +211 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/new_fridge.py +32 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/old_fridge.py +28 -3
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/old_oven.py +39 -9
- hypernix-0.70.4/src/hypernix/optimizer_framework.py +328 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/pressure_cooker_v3.py +73 -8
- hypernix-0.70.4/src/hypernix/pressure_cooker_v4.py +243 -0
- hypernix-0.70.4/src/hypernix/qa.py +129 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/quantize.py +124 -0
- hypernix-0.70.4/src/hypernix/stml.py +140 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/train.py +57 -3
- hypernix-0.70.4/src/hypernix/tupperware.py +217 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/tv.py +190 -19
- hypernix-0.70.4/src/hypernix/tvtop_plus_plus.py +496 -0
- hypernix-0.70.4/src/hypernix/version_launcher.py +125 -0
- hypernix-0.70.4/src/hypernix/webui.py +560 -0
- hypernix-0.70.4/src/hypernix/webui_static/app.js +801 -0
- hypernix-0.70.4/src/hypernix/webui_static/index.html +712 -0
- hypernix-0.70.4/src/hypernix/webui_static/style.css +1726 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/workshop.py +15 -3
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix.egg-info/SOURCES.txt +29 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/tests/test_fridges.py +16 -4
- hypernix-0.70.4/tests/test_lazy_suzan.py +94 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/tests/test_pressure_cooker_v3.py +27 -1
- hypernix-0.70.4/tests/test_quantize_v0703.py +51 -0
- hypernix-0.70.4/tests/test_tupperware.py +67 -0
- hypernix-0.70.4/tests/test_tvtop_plus_plus_comprehensive.py +535 -0
- hypernix-0.70.4/tests/test_v0703_additional.py +140 -0
- hypernix-0.70.4/tests/test_v0704_tvtop_plus_plus.py +114 -0
- hypernix-0.70.4/tests/test_v0704b11_features.py +644 -0
- hypernix-0.70.4/tests/test_v0704b12_cctvtop.py +22 -0
- hypernix-0.70.4/tests/test_version_launcher.py +264 -0
- hypernix-0.70.4/tests/test_webui.py +41 -0
- hypernix-0.70.4/wiki/Abbicus.md +143 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/wiki/CLI.md +11 -2
- {hypernix-0.70.2 → hypernix-0.70.4}/wiki/Changelog.md +110 -0
- hypernix-0.70.4/wiki/Frameworks.md +49 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/wiki/Fridges.md +9 -2
- {hypernix-0.70.2 → hypernix-0.70.4}/wiki/Home.md +11 -3
- {hypernix-0.70.2 → hypernix-0.70.4}/wiki/Kitchen.md +102 -6
- {hypernix-0.70.2 → hypernix-0.70.4}/wiki/Ovens.md +10 -0
- hypernix-0.70.4/wiki/Pressure-Cooker-V3.md +44 -0
- hypernix-0.70.4/wiki/Roadmap.md +25 -0
- hypernix-0.70.4/wiki/STML.md +145 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/wiki/Training.md +31 -0
- hypernix-0.70.4/wiki/Tupperware.md +39 -0
- hypernix-0.70.2/setup.py +0 -11
- hypernix-0.70.2/src/hypernix/abbicus.py +0 -106
- hypernix-0.70.2/src/hypernix/webui.py +0 -613
- {hypernix-0.70.2 → hypernix-0.70.4}/.github/workflows/build.yml +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/.github/workflows/ci.yml +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/.github/workflows/release.yml +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/LICENSE +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/MANIFEST.in +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/assets/logo/Gemini_Generated_Image_nxfdm1nxfdm1nxfd-removebg-preview.png +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/assets/logo/Gemini_Generated_Image_nxfdm1nxfdm1nxfd.png +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/assets/logo.png +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/assets/logo1.png +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/examples/custom_arch.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/examples/quickstart.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/examples/run_hypernix.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/examples/train_hypernix_0_1_5_evaluator.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/examples/train_hypernix_1_5_gtx1080.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/examples/upload_to_hub.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/pytest.ini +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/ruff.toml +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/scripts/install_macos_legacy.sh +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/scripts/quantize_i7_7660u.sh +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/__main__.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/apron.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/arch.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/assistant.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/bell.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/blender.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/cake_pan.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/coffee_maker.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/compactor.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/convert.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/cookbook.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/countertop.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/cutting_board.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/deep_fryer.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/deps.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/dishwasher.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/doctor.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/espresso_maker.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/ethanol.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/fetcher.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/flour.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/food_processor.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/freezer.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/generate.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/hyped.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/industrial_range.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/injection.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/lunchbox.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/mediocre_fridge.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/menu.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/microwave.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/nano_nano.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/new_range.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/old_range.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/outage.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/pans.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/pepper_shaker.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/plasma.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/pressure_cooker.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/py.typed +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/recipe_book.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/salt_shaker.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/sink.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/smoke_alarm.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/smoker.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/strainer.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/table.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/thermometer.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/timer.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/toaster.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/torch_compat.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/tvtop.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/upload.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/ups.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/utils.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/src/hypernix/whisk.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/tests/test_alarms_and_presets.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/tests/test_arch_mapping.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/tests/test_cli_integration.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/tests/test_coverage_beef.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/tests/test_deps_and_windows.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/tests/test_fetcher.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/tests/test_freezer.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/tests/test_install_pin.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/tests/test_kitchen_v044.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/tests/test_kitchen_v045.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/tests/test_lunchbox.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/tests/test_new_archs_v035.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/tests/test_nix_fallback.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/tests/test_old_oven.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/tests/test_pressure_cooker_v048.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/tests/test_ranges.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/tests/test_shakers_and_torchcompat.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/tests/test_snapshot_roundtrip.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/tests/test_v031_chat_and_archs.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/tests/test_v047_deep_fryer_cake_pan_presets.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/tests/test_v050.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/tests/test_v051.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/tests/test_v051_1.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/tests/test_v051_3.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/tests/test_v051_4.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/tests/test_v052_5.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/tests/test_v052_6.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/tests/test_v060.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/tests/test_v061_1.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/tests/test_v061_2.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/tests/test_v061_b1.py +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/wiki/Alarms.md +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/wiki/Architectures.md +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/wiki/Freezer.md +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/wiki/Pascal.md +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/wiki/Quantization.md +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/wiki/Ranges.md +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/wiki/Workshop.md +0 -0
- {hypernix-0.70.2 → hypernix-0.70.4}/wiki/macOS-legacy.md +0 -0
|
@@ -10,11 +10,21 @@ on:
|
|
|
10
10
|
- 'docs/**'
|
|
11
11
|
- '.github/workflows/deploy-docs.yml'
|
|
12
12
|
workflow_dispatch:
|
|
13
|
+
workflow_run:
|
|
14
|
+
workflows: ["pages-build-deployment"]
|
|
15
|
+
types:
|
|
16
|
+
- completed
|
|
17
|
+
branches:
|
|
18
|
+
- main
|
|
19
|
+
schedule:
|
|
20
|
+
# Runs at 00:05 UTC every day for auto-updating content
|
|
21
|
+
- cron: '5 0 * * *'
|
|
13
22
|
|
|
14
23
|
permissions:
|
|
15
24
|
contents: read
|
|
16
25
|
pages: write
|
|
17
26
|
id-token: write
|
|
27
|
+
actions: read
|
|
18
28
|
|
|
19
29
|
concurrency:
|
|
20
30
|
group: "pages"
|
|
@@ -66,8 +66,10 @@ jobs:
|
|
|
66
66
|
- name: Validate version format
|
|
67
67
|
run: |
|
|
68
68
|
v='${{ inputs.version }}'
|
|
69
|
-
|
|
70
|
-
|
|
69
|
+
# PEP 440 allows: N.N.N, N.N.NaN, N.N.NbN, N.N.NrcN, N.N.N.postN, N.N.N.devN
|
|
70
|
+
# We map 'postr' to '.post' for PEP 440 compliance during build
|
|
71
|
+
if ! [[ "$v" =~ ^[0-9]+\.[0-9]+\.[0-9]+([._-]?(rc|pre|alpha|beta|a|b|post|postr|dev)[0-9]*)?$ ]]; then
|
|
72
|
+
echo "::error::version '$v' is not PEP 440-ish (e.g. 0.2.0, 0.2.0-rc1, 0.2.0a2, 0.2.0postr1)"
|
|
71
73
|
exit 1
|
|
72
74
|
fi
|
|
73
75
|
|
|
@@ -76,7 +78,8 @@ jobs:
|
|
|
76
78
|
run: |
|
|
77
79
|
v='${{ inputs.version }}'
|
|
78
80
|
tag="v$v"
|
|
79
|
-
|
|
81
|
+
# Treat postr as a post-release (prerelease for PyPI purposes)
|
|
82
|
+
if [[ "$v" =~ (rc|pre|alpha|beta|a|b|postr)[0-9]*$ ]]; then
|
|
80
83
|
echo "prerelease=true" >> "$GITHUB_OUTPUT"
|
|
81
84
|
echo "::notice::$tag is a prerelease (-> TestPyPI)"
|
|
82
85
|
else
|
|
@@ -114,17 +117,20 @@ jobs:
|
|
|
114
117
|
- name: Bump versions in source
|
|
115
118
|
run: |
|
|
116
119
|
v='${{ inputs.version }}'
|
|
120
|
+
# Convert postr to PEP 440 compliant .post format for pyproject.toml
|
|
121
|
+
pep440_v=$(echo "$v" | sed 's/postr/.post/g')
|
|
117
122
|
python - <<PY
|
|
118
123
|
import re
|
|
119
124
|
from pathlib import Path
|
|
120
125
|
|
|
121
126
|
v = "${{ inputs.version }}"
|
|
127
|
+
pep440_v = "$pep440_v"
|
|
122
128
|
|
|
123
129
|
p = Path("pyproject.toml")
|
|
124
|
-
p.write_text(re.sub(r'^version = "[^"]+"', f'version = "{
|
|
130
|
+
p.write_text(re.sub(r'^version = "[^"]+"', f'version = "{pep440_v}"', p.read_text(), count=1, flags=re.M))
|
|
125
131
|
|
|
126
132
|
s = Path("setup.cfg")
|
|
127
|
-
s.write_text(re.sub(r'^version = .+$', f'version = {
|
|
133
|
+
s.write_text(re.sub(r'^version = .+$', f'version = {pep440_v}', s.read_text(), count=1, flags=re.M))
|
|
128
134
|
|
|
129
135
|
init = Path("src/hypernix/__init__.py")
|
|
130
136
|
init.write_text(re.sub(r'__version__ = "[^"]+"', f'__version__ = "{v}"', init.read_text(), count=1))
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: hypernix
|
|
3
|
-
Version: 0.70.
|
|
3
|
+
Version: 0.70.4
|
|
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
|
|
7
7
|
License: Apache-2.0
|
|
8
|
-
Project-URL: Homepage, https://
|
|
8
|
+
Project-URL: Homepage, https://minerofthesoal.github.io/HyperNix-pip/
|
|
9
9
|
Project-URL: Source, https://github.com/minerofthesoal/hypernix-pip
|
|
10
10
|
Project-URL: Issues, https://github.com/minerofthesoal/hypernix-pip/issues
|
|
11
11
|
Project-URL: Logo, https://raw.githubusercontent.com/minerofthesoal/hypernix-pip/main/assets/logo.png
|
|
@@ -97,10 +97,12 @@ quantize, and ship.
|
|
|
97
97
|
| `hypernix.pepper_shaker` | 3-tier sharp perturbations: `SmallShaker` (MLM-style mask) / `Dish` (typos) / `TallHandmade` (negation). |
|
|
98
98
|
| `hypernix.pressure_cooker` | Custom AdamW optimizer in 5 tiers: base `PressureCooker` + CPU (`StovetopCooker`, `ElectricCooker`) + GPU (`InductionCooker`, `ProCooker`) + `universal_cooker` selector. Grad accumulation, GradScaler integration, fused/foreach AdamW, optional CUDA-graph capture on Pro. v0.70.0 V2 rewrite adds quantization-aware training (fp16/bf16/fp64 mixed-precision, QAT hooks for Q8/Q6/Q5.5/Q4M), gradient checkpointing, adaptive clipping, EMA shadowing, distributed awareness, dynamic loss scaling, parameter freezing callbacks, LR finder, and tvtop metrics streaming. |
|
|
99
99
|
| `hypernix.pressure_cooker_v3` | ZeRO-optimized V3 optimizer with FP8 support. New `QuantDtype` enum (FP8/FP16/FP32/FP64/Q8/Q6/Q5_5/Q4M) and `QuantConfig` dataclass. `PressureCookerV3` class with ZeRO-1/2 support, improved memory efficiency, and heavily tested quantization paths. `PressureCookerV3Plus` adds full QAT with calibration. |
|
|
100
|
-
| `hypernix.abbicus` | Automatic token regulation and curriculum tuning.
|
|
100
|
+
| `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`** (v0.70.4) grows context exponentially to a configurable `hard_cap`, then oscillates using a sine wave adjusted by CPU load (never GPU). Includes VRAM safeguard that scales back context when memory is tight. |
|
|
101
|
+
| `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 `predict_next` (concatenation). Optional `salt_shaker` / `pepper_shaker` seasoning applied *before* templating so template keywords are never corrupted. |
|
|
102
|
+
| `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. `STML` context manager enforces an `untrained_max_context` hard cap and folds long sequences into `(batch × segments, segment_length)` chunks so the model trains on all the data. Integrates with Abbicus / TurboAbbicus. CLI: `hypernix stml --vram 24 --params 7`. |
|
|
101
103
|
| `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, fallback logic. Supports `local_rank`, `world_size`, `use_ddp`, `use_fsdp`, `zero_stage`. Auto-detects backend and sets up device. |
|
|
102
104
|
| `hypernix.workshop` | Model frameworks and TTS/ASR pipelines. `WorkshopFramework` base class with `FrameworkConfig` for TTS, ASR, LLM, Vision models. Pre-built templates for ray0rf1re/nano-nano collection and 30+ architectures (LiquidAI LFM2.5, MiniCPM5, Gemma 4, Qwen3.5, Phi-4, DeepSeek-V2.5, GLM-Edge/MoE, GPT-OSS, Nemotron, Llama-3.2, Mistral-Nemo, Mixtral-8x22B). Includes `TTSEngine`, `ASREngine`, `ASRToTTS` (speech-to-speech), `ASRToLLMToTTS` (conversational pipeline). |
|
|
103
|
-
| `hypernix.tvtop` | Backwards-compatibility shim — all functionality moved to `hypernix.tv`. Re-exports everything so `import hypernix.tvtop` continues to work. Console script `tvtop`
|
|
105
|
+
| `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 premium `tvtop_plus_plus` dashboard; use `tvtop-old` for the classic view. |
|
|
104
106
|
| `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.from_list` so the Parquet `huggingface` metadata stays coherent with the column set (fixes the `CastError: column names don't match` path in the Hub viewer). |
|
|
105
107
|
| `hypernix.whisk` | Checkpoint averaging — `swa_average` (uniform mean), `ema` (exponential), `geometric_mean`. Accepts state dicts or paths to `.pt` / `.safetensors`. `whisk_to_snapshot` writes a full HF-style snapshot in one call. |
|
|
106
108
|
| `hypernix.cutting_board` | Train / val / test splitting. `CuttingBoard` (deterministic random) + `StratifiedBoard` (preserves class distribution on labelled records). Renormalises ratios; writes per-split files with `.slice_to_files()`. |
|
|
@@ -120,7 +122,19 @@ Cross-platform: Linux, macOS, Windows. Python 3.10 – 3.14.
|
|
|
120
122
|
|
|
121
123
|
---
|
|
122
124
|
|
|
123
|
-
## What's new in v0.70.
|
|
125
|
+
## What's new in v0.70.4
|
|
126
|
+
|
|
127
|
+
Seven additions in the 0.70.4 series:
|
|
128
|
+
|
|
129
|
+
- **`qa`** — `QAProcessor` formats Q&A datasets into causal LM training strings with optional salt/pepper seasoning
|
|
130
|
+
- **`stml`** — Short Term Memory Loss: `STML` context manager (segment folding, untrained hard cap) + `calculate_vram_context` VRAM calculator with CLI
|
|
131
|
+
- **`TurboAbbicus`** — exponential curriculum regulator with configurable hard cap, sine-wave oscillation (CPU-adjusted, never GPU), and VRAM safeguard
|
|
132
|
+
- **`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
|
|
133
|
+
- **`hypernix stml`** CLI subcommand — VRAM context calculator from the shell
|
|
134
|
+
- **`hypernix train run`** new flags — `--use-abbicus`, `--use-turbo-abbicus`, `--use-stml`, `--untrained-max-context`, `--segment-length`
|
|
135
|
+
- **`CodeOven.train()`** new kwargs — `use_turbo_abbicus`, `use_stml`, `untrained_max_context`, `segment_length`
|
|
136
|
+
|
|
137
|
+
### Earlier: v0.70.0
|
|
124
138
|
|
|
125
139
|
Five new modules + major optimizer rewrites:
|
|
126
140
|
|
|
@@ -129,7 +143,7 @@ Five new modules + major optimizer rewrites:
|
|
|
129
143
|
- **`pressure_cooker` V2** — Quantization-aware training with fp16/bf16/fp64 mixed-precision, QAT hooks for Q8/Q6/Q5.5/Q4M, plus 10 upgrades (gradient checkpointing, adaptive clipping, EMA shadowing, distributed awareness, dynamic loss scaling, parameter freezing callbacks, LR finder, tvtop metrics streaming)
|
|
130
144
|
- **`pressure_cooker_v3`** — ZeRO-1/2 optimizations, FP8 support, `QuantDtype` enum + `QuantConfig` dataclass
|
|
131
145
|
- **`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.5, GLM-Edge/MoE, GPT-OSS, Nemotron, Llama-3.2, Mistral-Nemo, Mixtral-8x22B)
|
|
132
|
-
- **`tvtop`** — Now
|
|
146
|
+
- **`tvtop`** — Now launches the premium `tvtop_plus_plus` dashboard by default; use `tvtop-old` for the classic view
|
|
133
147
|
|
|
134
148
|
## Install
|
|
135
149
|
|
|
@@ -276,6 +290,17 @@ hypernix <subcommand> [options]
|
|
|
276
290
|
generate sample text from a local snapshot
|
|
277
291
|
oven code-generation wrapper (preheat + complete / fill)
|
|
278
292
|
chat interactive chat REPL against any supported model
|
|
293
|
+
stml VRAM trained context length calculator
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
`train run` accepts curriculum / context management flags:
|
|
297
|
+
|
|
298
|
+
```bash
|
|
299
|
+
hypernix train run --model-dir ./snap --dataset data.txt --out-dir ./out \
|
|
300
|
+
--use-turbo-abbicus \ # exponential curriculum (--use-abbicus for linear)
|
|
301
|
+
--use-stml \ # fold long sequences into batch segments
|
|
302
|
+
--untrained-max-context 16384 \
|
|
303
|
+
--segment-length 512
|
|
279
304
|
```
|
|
280
305
|
|
|
281
306
|
Quant aliases accepted by `--quants` and `hypernix quantize` (v0.51.3
|
|
@@ -356,7 +381,9 @@ Topic-focused reference guides live in the `wiki/` directory:
|
|
|
356
381
|
- [`wiki/Ranges.md`](wiki/Ranges.md) — `new_range` / `old_range` / `industrial_range` (labeling rubrics)
|
|
357
382
|
- [`wiki/Freezer.md`](wiki/Freezer.md) — VRAM manager (OldFreezer / NewFreezer / FlashFreezer)
|
|
358
383
|
- [`wiki/Alarms.md`](wiki/Alarms.md) — smoke alarms (Rads / Gas / Modern / Auto) + CPU / GPU preset tables
|
|
359
|
-
- [`wiki/Kitchen.md`](wiki/Kitchen.md) — pans / microwave / table / sink / instant pot / coffee maker / pressure cooker
|
|
384
|
+
- [`wiki/Kitchen.md`](wiki/Kitchen.md) — pans / microwave / table / sink / instant pot / coffee maker / pressure cooker / qa
|
|
385
|
+
- [`wiki/Abbicus.md`](wiki/Abbicus.md) — Abbicus (linear) and TurboAbbicus (exponential + sine oscillation)
|
|
386
|
+
- [`wiki/STML.md`](wiki/STML.md) — Short Term Memory Loss context manager and VRAM calculator
|
|
360
387
|
- [`wiki/Pascal.md`](wiki/Pascal.md) — CUDA 6.1 / GTX 1080 playbook
|
|
361
388
|
- [`wiki/Architectures.md`](wiki/Architectures.md) — ARCH_PRESETS and KNOWN_MODELS
|
|
362
389
|
- [`wiki/Training.md`](wiki/Training.md) — scratch training, expansion, and fine-tuning flows
|
|
@@ -43,10 +43,12 @@ quantize, and ship.
|
|
|
43
43
|
| `hypernix.pepper_shaker` | 3-tier sharp perturbations: `SmallShaker` (MLM-style mask) / `Dish` (typos) / `TallHandmade` (negation). |
|
|
44
44
|
| `hypernix.pressure_cooker` | Custom AdamW optimizer in 5 tiers: base `PressureCooker` + CPU (`StovetopCooker`, `ElectricCooker`) + GPU (`InductionCooker`, `ProCooker`) + `universal_cooker` selector. Grad accumulation, GradScaler integration, fused/foreach AdamW, optional CUDA-graph capture on Pro. v0.70.0 V2 rewrite adds quantization-aware training (fp16/bf16/fp64 mixed-precision, QAT hooks for Q8/Q6/Q5.5/Q4M), gradient checkpointing, adaptive clipping, EMA shadowing, distributed awareness, dynamic loss scaling, parameter freezing callbacks, LR finder, and tvtop metrics streaming. |
|
|
45
45
|
| `hypernix.pressure_cooker_v3` | ZeRO-optimized V3 optimizer with FP8 support. New `QuantDtype` enum (FP8/FP16/FP32/FP64/Q8/Q6/Q5_5/Q4M) and `QuantConfig` dataclass. `PressureCookerV3` class with ZeRO-1/2 support, improved memory efficiency, and heavily tested quantization paths. `PressureCookerV3Plus` adds full QAT with calibration. |
|
|
46
|
-
| `hypernix.abbicus` | Automatic token regulation and curriculum tuning.
|
|
46
|
+
| `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`** (v0.70.4) grows context exponentially to a configurable `hard_cap`, then oscillates using a sine wave adjusted by CPU load (never GPU). Includes VRAM safeguard that scales back context when memory is tight. |
|
|
47
|
+
| `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 `predict_next` (concatenation). Optional `salt_shaker` / `pepper_shaker` seasoning applied *before* templating so template keywords are never corrupted. |
|
|
48
|
+
| `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. `STML` context manager enforces an `untrained_max_context` hard cap and folds long sequences into `(batch × segments, segment_length)` chunks so the model trains on all the data. Integrates with Abbicus / TurboAbbicus. CLI: `hypernix stml --vram 24 --params 7`. |
|
|
47
49
|
| `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, fallback logic. Supports `local_rank`, `world_size`, `use_ddp`, `use_fsdp`, `zero_stage`. Auto-detects backend and sets up device. |
|
|
48
50
|
| `hypernix.workshop` | Model frameworks and TTS/ASR pipelines. `WorkshopFramework` base class with `FrameworkConfig` for TTS, ASR, LLM, Vision models. Pre-built templates for ray0rf1re/nano-nano collection and 30+ architectures (LiquidAI LFM2.5, MiniCPM5, Gemma 4, Qwen3.5, Phi-4, DeepSeek-V2.5, GLM-Edge/MoE, GPT-OSS, Nemotron, Llama-3.2, Mistral-Nemo, Mixtral-8x22B). Includes `TTSEngine`, `ASREngine`, `ASRToTTS` (speech-to-speech), `ASRToLLMToTTS` (conversational pipeline). |
|
|
49
|
-
| `hypernix.tvtop` | Backwards-compatibility shim — all functionality moved to `hypernix.tv`. Re-exports everything so `import hypernix.tvtop` continues to work. Console script `tvtop`
|
|
51
|
+
| `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 premium `tvtop_plus_plus` dashboard; use `tvtop-old` for the classic view. |
|
|
50
52
|
| `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.from_list` so the Parquet `huggingface` metadata stays coherent with the column set (fixes the `CastError: column names don't match` path in the Hub viewer). |
|
|
51
53
|
| `hypernix.whisk` | Checkpoint averaging — `swa_average` (uniform mean), `ema` (exponential), `geometric_mean`. Accepts state dicts or paths to `.pt` / `.safetensors`. `whisk_to_snapshot` writes a full HF-style snapshot in one call. |
|
|
52
54
|
| `hypernix.cutting_board` | Train / val / test splitting. `CuttingBoard` (deterministic random) + `StratifiedBoard` (preserves class distribution on labelled records). Renormalises ratios; writes per-split files with `.slice_to_files()`. |
|
|
@@ -66,7 +68,19 @@ Cross-platform: Linux, macOS, Windows. Python 3.10 – 3.14.
|
|
|
66
68
|
|
|
67
69
|
---
|
|
68
70
|
|
|
69
|
-
## What's new in v0.70.
|
|
71
|
+
## What's new in v0.70.4
|
|
72
|
+
|
|
73
|
+
Seven additions in the 0.70.4 series:
|
|
74
|
+
|
|
75
|
+
- **`qa`** — `QAProcessor` formats Q&A datasets into causal LM training strings with optional salt/pepper seasoning
|
|
76
|
+
- **`stml`** — Short Term Memory Loss: `STML` context manager (segment folding, untrained hard cap) + `calculate_vram_context` VRAM calculator with CLI
|
|
77
|
+
- **`TurboAbbicus`** — exponential curriculum regulator with configurable hard cap, sine-wave oscillation (CPU-adjusted, never GPU), and VRAM safeguard
|
|
78
|
+
- **`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
|
|
79
|
+
- **`hypernix stml`** CLI subcommand — VRAM context calculator from the shell
|
|
80
|
+
- **`hypernix train run`** new flags — `--use-abbicus`, `--use-turbo-abbicus`, `--use-stml`, `--untrained-max-context`, `--segment-length`
|
|
81
|
+
- **`CodeOven.train()`** new kwargs — `use_turbo_abbicus`, `use_stml`, `untrained_max_context`, `segment_length`
|
|
82
|
+
|
|
83
|
+
### Earlier: v0.70.0
|
|
70
84
|
|
|
71
85
|
Five new modules + major optimizer rewrites:
|
|
72
86
|
|
|
@@ -75,7 +89,7 @@ Five new modules + major optimizer rewrites:
|
|
|
75
89
|
- **`pressure_cooker` V2** — Quantization-aware training with fp16/bf16/fp64 mixed-precision, QAT hooks for Q8/Q6/Q5.5/Q4M, plus 10 upgrades (gradient checkpointing, adaptive clipping, EMA shadowing, distributed awareness, dynamic loss scaling, parameter freezing callbacks, LR finder, tvtop metrics streaming)
|
|
76
90
|
- **`pressure_cooker_v3`** — ZeRO-1/2 optimizations, FP8 support, `QuantDtype` enum + `QuantConfig` dataclass
|
|
77
91
|
- **`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.5, GLM-Edge/MoE, GPT-OSS, Nemotron, Llama-3.2, Mistral-Nemo, Mixtral-8x22B)
|
|
78
|
-
- **`tvtop`** — Now
|
|
92
|
+
- **`tvtop`** — Now launches the premium `tvtop_plus_plus` dashboard by default; use `tvtop-old` for the classic view
|
|
79
93
|
|
|
80
94
|
## Install
|
|
81
95
|
|
|
@@ -222,6 +236,17 @@ hypernix <subcommand> [options]
|
|
|
222
236
|
generate sample text from a local snapshot
|
|
223
237
|
oven code-generation wrapper (preheat + complete / fill)
|
|
224
238
|
chat interactive chat REPL against any supported model
|
|
239
|
+
stml VRAM trained context length calculator
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
`train run` accepts curriculum / context management flags:
|
|
243
|
+
|
|
244
|
+
```bash
|
|
245
|
+
hypernix train run --model-dir ./snap --dataset data.txt --out-dir ./out \
|
|
246
|
+
--use-turbo-abbicus \ # exponential curriculum (--use-abbicus for linear)
|
|
247
|
+
--use-stml \ # fold long sequences into batch segments
|
|
248
|
+
--untrained-max-context 16384 \
|
|
249
|
+
--segment-length 512
|
|
225
250
|
```
|
|
226
251
|
|
|
227
252
|
Quant aliases accepted by `--quants` and `hypernix quantize` (v0.51.3
|
|
@@ -302,7 +327,9 @@ Topic-focused reference guides live in the `wiki/` directory:
|
|
|
302
327
|
- [`wiki/Ranges.md`](wiki/Ranges.md) — `new_range` / `old_range` / `industrial_range` (labeling rubrics)
|
|
303
328
|
- [`wiki/Freezer.md`](wiki/Freezer.md) — VRAM manager (OldFreezer / NewFreezer / FlashFreezer)
|
|
304
329
|
- [`wiki/Alarms.md`](wiki/Alarms.md) — smoke alarms (Rads / Gas / Modern / Auto) + CPU / GPU preset tables
|
|
305
|
-
- [`wiki/Kitchen.md`](wiki/Kitchen.md) — pans / microwave / table / sink / instant pot / coffee maker / pressure cooker
|
|
330
|
+
- [`wiki/Kitchen.md`](wiki/Kitchen.md) — pans / microwave / table / sink / instant pot / coffee maker / pressure cooker / qa
|
|
331
|
+
- [`wiki/Abbicus.md`](wiki/Abbicus.md) — Abbicus (linear) and TurboAbbicus (exponential + sine oscillation)
|
|
332
|
+
- [`wiki/STML.md`](wiki/STML.md) — Short Term Memory Loss context manager and VRAM calculator
|
|
306
333
|
- [`wiki/Pascal.md`](wiki/Pascal.md) — CUDA 6.1 / GTX 1080 playbook
|
|
307
334
|
- [`wiki/Architectures.md`](wiki/Architectures.md) — ARCH_PRESETS and KNOWN_MODELS
|
|
308
335
|
- [`wiki/Training.md`](wiki/Training.md) — scratch training, expansion, and fine-tuning flows
|
|
@@ -4,13 +4,14 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "hypernix"
|
|
7
|
-
version = "0.70.
|
|
7
|
+
version = "0.70.4"
|
|
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" }
|
|
11
|
-
# 3.12 is
|
|
12
|
-
#
|
|
13
|
-
#
|
|
11
|
+
# Python 3.12 is preferred and will auto-run if installed.
|
|
12
|
+
# If 3.12 is not found, the package supports running on 3.13 or 3.14.
|
|
13
|
+
# The code is pure-Python and runs on any CPython that has a compatible torch wheel.
|
|
14
|
+
# Keep the floor at 3.10 so modern syntax compiles (structural pattern matching, PEP 604 unions).
|
|
14
15
|
requires-python = ">=3.10,<3.15"
|
|
15
16
|
authors = [{ name = "HyperNix contributors" }]
|
|
16
17
|
keywords = ["hypernix", "gguf", "quantization", "llama.cpp", "pytorch"]
|
|
@@ -71,16 +72,22 @@ legacy-torch = [
|
|
|
71
72
|
]
|
|
72
73
|
|
|
73
74
|
[project.scripts]
|
|
74
|
-
hypernix = "hypernix.
|
|
75
|
-
hypernix-quantize = "hypernix.
|
|
76
|
-
|
|
77
|
-
|
|
75
|
+
hypernix = "hypernix.version_launcher:main"
|
|
76
|
+
hypernix-quantize = "hypernix.version_launcher:main"
|
|
77
|
+
hnx = "hypernix.version_launcher:main"
|
|
78
|
+
# v0.70.4b12: cctvtop C++ dashboard replaces tvtop++.
|
|
79
|
+
tvtop = "hypernix.cctvtop:cli_main"
|
|
80
|
+
cctvtop = "hypernix.cctvtop:cli_main"
|
|
81
|
+
tvtop-old = "hypernix.tvtop_plus_plus:cli_main"
|
|
82
|
+
tvtop-older = "hypernix.tv:cli_main"
|
|
83
|
+
tvtop-plus-plus = "hypernix.tvtop_plus_plus:cli_main"
|
|
84
|
+
tvtoppp = "hypernix.tvtop_plus_plus:cli_main"
|
|
78
85
|
eth = "hypernix.ethanol:cli_main"
|
|
79
86
|
# v0.61.1: high-quality TUI chat CLI with a configurator.
|
|
80
87
|
hyped = "hypernix.hyped:cli_main"
|
|
81
88
|
|
|
82
89
|
[project.urls]
|
|
83
|
-
Homepage = "https://
|
|
90
|
+
Homepage = "https://minerofthesoal.github.io/HyperNix-pip/"
|
|
84
91
|
Source = "https://github.com/minerofthesoal/hypernix-pip"
|
|
85
92
|
Issues = "https://github.com/minerofthesoal/hypernix-pip/issues"
|
|
86
93
|
Logo = "https://raw.githubusercontent.com/minerofthesoal/hypernix-pip/main/assets/logo.png"
|
|
@@ -96,7 +103,7 @@ where = ["src"]
|
|
|
96
103
|
include = ["hypernix*"]
|
|
97
104
|
|
|
98
105
|
[tool.setuptools.package-data]
|
|
99
|
-
hypernix = ["py.typed"]
|
|
106
|
+
hypernix = ["py.typed", "webui_static/*"]
|
|
100
107
|
|
|
101
108
|
# ---------------------------------------------------------------------------
|
|
102
109
|
# Ruff / pytest defaults (also duplicated in ruff.toml / pytest.ini so
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env bash
|
|
2
|
-
# Cross-distro bootstrap for `hypernix`.
|
|
2
|
+
# Cross-distro bootstrap for `hypernix`. Prefers Python 3.12 if installed with hypernix,
|
|
3
|
+
# otherwise falls back to 3.13 or 3.14 (checking each for hypernix). Installs pip and then
|
|
3
4
|
# `pip install "hypernix[llama-cpp]"` into a local virtualenv at ./.venv.
|
|
4
5
|
#
|
|
5
6
|
# Supported: Ubuntu/Debian/Mint/Pop!_OS, Arch/Manjaro/EndeavourOS, Fedora/RHEL,
|
|
@@ -12,7 +13,33 @@
|
|
|
12
13
|
set -euo pipefail
|
|
13
14
|
|
|
14
15
|
VENV="${VENV:-./.venv}"
|
|
15
|
-
|
|
16
|
+
|
|
17
|
+
# Function to check if hypernix is installed for a given python version
|
|
18
|
+
check_hypernix_installed() {
|
|
19
|
+
local py_cmd="$1"
|
|
20
|
+
"$py_cmd" -c "import hypernix" >/dev/null 2>&1
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
# Prefer Python 3.12 if available with hypernix; otherwise try 3.13, then 3.14, then generic python3
|
|
24
|
+
PY=""
|
|
25
|
+
for version in python3.12 python3.13 python3.14 python3; do
|
|
26
|
+
if command -v "$version" >/dev/null 2>&1; then
|
|
27
|
+
if check_hypernix_installed "$version"; then
|
|
28
|
+
PY="$version"
|
|
29
|
+
break
|
|
30
|
+
fi
|
|
31
|
+
fi
|
|
32
|
+
done
|
|
33
|
+
|
|
34
|
+
# If no version with hypernix found, just pick the first available python
|
|
35
|
+
if [[ -z "$PY" ]]; then
|
|
36
|
+
for version in python3.12 python3.13 python3.14 python3; do
|
|
37
|
+
if command -v "$version" >/dev/null 2>&1; then
|
|
38
|
+
PY="$version"
|
|
39
|
+
break
|
|
40
|
+
fi
|
|
41
|
+
done
|
|
42
|
+
fi
|
|
16
43
|
|
|
17
44
|
. /etc/os-release 2>/dev/null || true
|
|
18
45
|
ID="${ID:-unknown}"
|
|
@@ -40,19 +67,27 @@ install_system_packages() {
|
|
|
40
67
|
*ubuntu*|*debian*|*mint*|*pop*|*elementary*)
|
|
41
68
|
require_sudo
|
|
42
69
|
$SUDO apt-get update
|
|
70
|
+
# Try to install Python 3.12 first (preferred), but allow fallback to system default
|
|
43
71
|
if ! apt-cache show python3.12 >/dev/null 2>&1; then
|
|
44
72
|
$SUDO apt-get install -y software-properties-common
|
|
45
73
|
$SUDO add-apt-repository -y ppa:deadsnakes/ppa || true
|
|
46
74
|
$SUDO apt-get update
|
|
47
75
|
fi
|
|
48
|
-
|
|
76
|
+
# Install 3.12 if available, otherwise use system python3
|
|
77
|
+
if apt-cache show python3.12 >/dev/null 2>&1; then
|
|
78
|
+
$SUDO apt-get install -y python3.12 python3.12-venv python3-pip
|
|
79
|
+
else
|
|
80
|
+
$SUDO apt-get install -y python3 python3-venv python3-pip
|
|
81
|
+
fi
|
|
49
82
|
;;
|
|
50
83
|
*fedora*|*rhel*|*almalinux*|*rocky*|*centos*)
|
|
51
84
|
require_sudo
|
|
85
|
+
# Try 3.12 first, fall back to system python3
|
|
52
86
|
$SUDO dnf install -y python3.12 python3.12-pip || $SUDO dnf install -y python3 python3-pip
|
|
53
87
|
;;
|
|
54
88
|
*opensuse*|*suse*|*sles*)
|
|
55
89
|
require_sudo
|
|
90
|
+
# Try 3.12 first, fall back to system python3
|
|
56
91
|
$SUDO zypper install -y python312 python312-pip || $SUDO zypper install -y python3 python3-pip
|
|
57
92
|
;;
|
|
58
93
|
*alpine*)
|
|
@@ -65,7 +100,7 @@ install_system_packages() {
|
|
|
65
100
|
echo " nix-shell -p python312 gcc -- --run 'bash scripts/install_deps.sh'" >&2
|
|
66
101
|
;;
|
|
67
102
|
*)
|
|
68
|
-
echo "Unrecognized distro ($ID). Ensure 'python3.12'
|
|
103
|
+
echo "Unrecognized distro ($ID). Ensure 'python3.12', 'python3.13', 'python3.14', or 'python3' is on PATH, then rerun." >&2
|
|
69
104
|
;;
|
|
70
105
|
esac
|
|
71
106
|
}
|
|
@@ -73,9 +108,28 @@ install_system_packages() {
|
|
|
73
108
|
main() {
|
|
74
109
|
install_system_packages
|
|
75
110
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
111
|
+
# Re-detect Python after system package installation
|
|
112
|
+
if [[ -z "$PY" ]] || ! command -v "$PY" >/dev/null 2>&1; then
|
|
113
|
+
# Fall back to a generic python3 binary if preferred version isn't available.
|
|
114
|
+
PY=""
|
|
115
|
+
# First try to find a version with hypernix already installed
|
|
116
|
+
for version in python3.12 python3.13 python3.14 python3; do
|
|
117
|
+
if command -v "$version" >/dev/null 2>&1; then
|
|
118
|
+
if check_hypernix_installed "$version"; then
|
|
119
|
+
PY="$version"
|
|
120
|
+
break
|
|
121
|
+
fi
|
|
122
|
+
fi
|
|
123
|
+
done
|
|
124
|
+
# If no version with hypernix found, just pick the first available python
|
|
125
|
+
if [[ -z "$PY" ]]; then
|
|
126
|
+
for version in python3.12 python3.13 python3.14 python3; do
|
|
127
|
+
if command -v "$version" >/dev/null 2>&1; then
|
|
128
|
+
PY="$version"
|
|
129
|
+
break
|
|
130
|
+
fi
|
|
131
|
+
done
|
|
132
|
+
fi
|
|
79
133
|
[[ -n "$PY" ]] || { echo "no python3 on PATH" >&2; exit 1; }
|
|
80
134
|
fi
|
|
81
135
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[metadata]
|
|
2
2
|
name = hypernix
|
|
3
|
-
version = 0.70.
|
|
3
|
+
version = 0.70.4
|
|
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
|
|
@@ -65,6 +65,9 @@ legacy-torch =
|
|
|
65
65
|
console_scripts =
|
|
66
66
|
hypernix = hypernix.cli:main
|
|
67
67
|
hypernix-quantize = hypernix.cli:main
|
|
68
|
+
hnx = hypernix.cli:main
|
|
69
|
+
tvtop++ = hypernix.tvtop_plus_plus:cli_main
|
|
70
|
+
tvtoppp = hypernix.tvtop_plus_plus:cli_main
|
|
68
71
|
|
|
69
72
|
[egg_info]
|
|
70
73
|
tag_build =
|
hypernix-0.70.4/setup.py
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"""Legacy setup.py shim.
|
|
2
|
+
|
|
3
|
+
All real configuration lives in ``pyproject.toml`` (PEP 621). This file
|
|
4
|
+
exists so ``python setup.py <cmd>`` and ``pip install .`` work with
|
|
5
|
+
older tooling and with integrators that still look for ``setup.py``
|
|
6
|
+
in the project root.
|
|
7
|
+
"""
|
|
8
|
+
import os
|
|
9
|
+
from setuptools import setup, Extension
|
|
10
|
+
|
|
11
|
+
# By default, do not build the C++ extension during standard wheel builds
|
|
12
|
+
# to ensure we produce a universal py3-none-any.whl for PyPI.
|
|
13
|
+
# Users installing from source or those who explicitly set BUILD_CCTVTOP=1
|
|
14
|
+
# will get the compiled C++ cctvtop dashboard.
|
|
15
|
+
build_cctvtop = os.environ.get("BUILD_CCTVTOP", "0") == "1"
|
|
16
|
+
|
|
17
|
+
ext_modules = []
|
|
18
|
+
if build_cctvtop:
|
|
19
|
+
cctvtop_ext = Extension(
|
|
20
|
+
"hypernix.cctvtop_ext",
|
|
21
|
+
sources=["src/hypernix/cctvtop.cpp"],
|
|
22
|
+
language="c++",
|
|
23
|
+
extra_compile_args=["-std=c++17", "-O3"],
|
|
24
|
+
)
|
|
25
|
+
ext_modules.append(cctvtop_ext)
|
|
26
|
+
|
|
27
|
+
if __name__ == "__main__":
|
|
28
|
+
setup(
|
|
29
|
+
ext_modules=ext_modules,
|
|
30
|
+
)
|