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
What's fixed in this update
See Changelog.md for most updates
Table of contents
- What's fixed in this update
- What's new: 0.72.3.post2 — sub-bit models you can actually run
- What's new: 0.72.3 — T1 v1.0.2026.8.1.1
- Package layout
- Module reference
- What's new in v0.70.5
- What's new in v0.70.4
- Install
- Quickstart
- Python API tour
- CLI reference
- Supported model families
- Examples
- Wiki / deep dives
- How the GGUF pipeline works
- Platform notes
- CI autofix
- Build / release
- Usage & Documentation
- License
Cross-platform: Linux, macOS, Windows. Python 3.10 - 3.14.
What's new: 0.72.3.post2 — sub-bit models you can actually run
The error this release is about. LM Studio, opening a model this package produced:
llama_model_loader: failed to load model from Qwen3.8-2B-IQ0.9_L.gguf
That error is correct, and no header fixes it: the GGML type id at 200 is
how the loader noticed, but the missing dequantisation kernel is why it
stopped. So there are three real ways out, and
hypernix hyprslug-headers leads with which is which.
hypernix hyprslug-headers install # find what needs it
hypernix hyprslug-headers serve model.iq09.gguf # keep the tier, talk HTTP
hypernix hyprslug-headers wrap model.iq09.gguf -o ok.gguf # open anywhere, bigger
hypernix hyprslug-headers stamp model.iq09.gguf # make it self-describing
serve puts HnxRun behind /v1/chat/completions, so
LM Studio and Bionic reach a 0.9-bit model without converting it.
wrap re-encodes to a stock type and says, in the report, that the
result is a Q2_K copy of a IQ0.9_L model rather than the original —
verified against the reference gguf reader. See
HyprSlug-Headers.
Five new quant types. IQ0.25_UXL at a quarter of a bit exactly,
INT1, FP2, INT4, and Q4M as a spelling of Q4_K_M that used to
be rejected. FP2's scale is searched, not fitted to the block peak —
the obvious fit scored worse than one bit, and a 2-bit format that
loses to a 1-bit format is not a format. Full table and the measurement
in LowBit.
tvtoppro — tvtop++'s stats under a btop++ presentation, with
themes. Braille graphs, gradient meters, titles in the box border, and
btop's own .theme files loading unchanged.
tvtoppro --theme gruvbox-dark
tvtoppro --theme ~/.config/btop/themes/nord.theme
Seven themes built in and exported to examples/tvtoppro/. See
TvTopPro.
hypernix-t1 fixes. create --host/--port failed from a checkout
(the documented flags reached install-t1.sh, which had never heard of
them), and hypernix-t1 start started uvicorn on a different port from
the one the installer configured, because the bind address only ever went
into start-t1.sh. Both paths agree now.
What's new: 0.72.3 — T1 v1.0.2026.8.1.1
A new server can be set up without knowing anything. It issues itself
one admin key on first start, prints it once, and that key works only
from the machine that made it and only for three days. That is enough to
point waiter at it and mint a real one.
./install-t1.sh # interactive setup, or:
hypernix-t1 start # start / stop / restart / status / logs
hypernix-t1 test # health, status, and a real end-to-end probe
hypernix-t1 autostart on # a systemd user service
HyperLink connects. Three separate bugs each produced the same symptom — the app times out and the server log is empty, because nothing ever arrived. The server advertised port 8000 whatever port it was on; iOS blocked tailnet addresses before sending, since Tailscale's 100.64.0.0/10 is not one of the RFC 1918 ranges ATS exempts; and when Tailscale was missing the server said nothing about why. All three fixed, and the app now takes a T2S key as well as a pairing code.
Keys can pay for themselves. A T2P key carries a billing binding — provider references, a spend cap, a currency — so it can be issued to someone who pays for their own usage. No card data reaches the server, and the binding is not in the credential. A server can refuse them outright and point at its own payment page, or require payment on a separate key, so the credential that identifies a caller and the one that spends money have different lifetimes.
gkey mints every format. -v v1|v2|v2short, plus gkey version
for what this build can issue.
gkey create -v v2 --level 5 # T2_…-5
gkey create -v v2short # T2S_… for HyperLink
gkey version # package, T1 API, key formats
The AI agent asks before it runs anything. Tool calls are parsed out
of the model's own reply, so anything that can influence that reply — a
file it read, a web result, a page it fetched — could previously execute
shell commands with no prompt. Side-effecting tools now require consent;
HYPERNIX_TOOL_POLICY=ask|deny|allow, and "ask" with no terminal means
deny.
More fits on the same card. hypernix.system.vram — allocator
tuning so a long run stops fragmenting, activation checkpointing so
sequence length stops costing activation memory, an optimizer that steps
during backward so the gradients are never all held at once, and a way to
measure whether any of it worked. Nothing is applied for you and nothing
changes a default.
hypernix train run ... --gradient-checkpointing --tune-allocator
Releases are gated on a live server. After the tests, two jobs each mint a T2 key, start a real API, chat through a fake model, drive an iPhone simulator, then delete every key they made. Nothing publishes until both pass.
Full detail in the Changelog.
Metadata
Release files for hypernix 0.72.4.post13
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| hypernix-0.72.4.post13.tar.gz | 3.5 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hypernix-0.72.4.post13-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 4.9 MB
Release files / hypernix-0.72.4.post13.tar.gz
| Download URL | hypernix-0.72.4.post13.tar.gz |
|---|---|
| Size | 3.5 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dfebbaa824f30847302eb9e77237c98761c6c62900ae2ef5ac7ed9755aad253e
|
|
BLAKE2b-256 checksum How to use checksums |
6630c911b4fb189d8dc1d91874317db0faeea21afdc9ffb5e20f231d3f61b64f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 10, 2026.
Transparency logRelease files / hypernix-0.72.4.post13-py3-none-any.whl
| Download URL | hypernix-0.72.4.post13-py3-none-any.whl |
|---|---|
| Size | 1.4 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
96c41f8c7efe6beee83762b7d1fe588b361d84cb603f1785628ff27cafbf4af9
|
|
BLAKE2b-256 checksum How to use checksums |
980a938ca042466d444ba5ccae536d04cf4c480033ec5126438b13b882bed539
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 10, 2026.
Transparency log