Metadata-Version: 2.4
Name: hypernix
Version: 0.72.4.post17
Summary: Download and quantize the HyperNix PyTorch model to GGUF (fp32/fp16/Q8_0/Q6_K/Q4_K_M).
Home-page: https://github.com/trail-b1az3r/hypernix-pip
Author: HyperNix contributors
License: HOL-1.0
Project-URL: Homepage, https://trail-b1az3r.github.io/HyperNix-pip/
Project-URL: Source, https://github.com/trail-b1az3r/hypernix-pip
Project-URL: Issues, https://github.com/trail-b1az3r/hypernix-pip/issues
Project-URL: Logo, https://raw.githubusercontent.com/trail-b1az3r/hypernix-pip/main/assets/logo.png
Keywords: hypernix,gguf,quantization,llama.cpp,pytorch
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: <3.15,>=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: torch<3,>=1.13
Requires-Dist: numpy<3,>=1.26
Requires-Dist: safetensors>=0.4.3
Requires-Dist: huggingface-hub>=0.24
Requires-Dist: gguf>=0.10.0
Requires-Dist: tqdm>=4.66
Requires-Dist: rich<=14.3.4,>14
Requires-Dist: sentencepiece>=0.2.1
Provides-Extra: llama-cpp
Requires-Dist: llama-cpp-python>=0.2.90; extra == "llama-cpp"
Provides-Extra: train
Requires-Dist: transformers>=4.44; extra == "train"
Requires-Dist: accelerate>=0.33; extra == "train"
Provides-Extra: dev
Requires-Dist: pytest>=8; extra == "dev"
Requires-Dist: ruff>=0.5; extra == "dev"
Requires-Dist: build>=1.2; extra == "dev"
Requires-Dist: twine>=5; extra == "dev"
Provides-Extra: security
Requires-Dist: cryptography>=42; extra == "security"
Provides-Extra: t1api
Requires-Dist: fastapi<1,>=0.110; extra == "t1api"
Requires-Dist: uvicorn[standard]<1,>=0.29; extra == "t1api"
Requires-Dist: pydantic<3,>=2; extra == "t1api"
Requires-Dist: python-dotenv<2,>=1; extra == "t1api"
Requires-Dist: python-multipart<1,>=0.0.9; extra == "t1api"
Provides-Extra: t1api-pg
Requires-Dist: psycopg[binary,pool]<4,>=3.1; extra == "t1api-pg"
Provides-Extra: t1api-test
Requires-Dist: hypernix[dev,t1api]; extra == "t1api-test"
Requires-Dist: httpx<1,>=0.27; extra == "t1api-test"
Provides-Extra: legacy-torch
Requires-Dist: numpy<2,>=1.21; extra == "legacy-torch"
Requires-Dist: safetensors>=0.3.1; extra == "legacy-torch"
Requires-Dist: huggingface-hub>=0.16; extra == "legacy-torch"
Requires-Dist: tqdm>=4.64; extra == "legacy-torch"
Requires-Dist: sentencepiece>=0.1.99; extra == "legacy-torch"
Provides-Extra: gui-qt
Requires-Dist: PySide6>=6.6; extra == "gui-qt"
Provides-Extra: gui-gtk
Requires-Dist: PyGObject>=3.48; extra == "gui-gtk"
Provides-Extra: gui
Requires-Dist: hypernix[gui-qt]; extra == "gui"
Dynamic: license-file

<!-- README_HEADER_START -->
<p align="center">
  <img src="https://raw.githubusercontent.com/trail-b1az3r/HyperNix-pip/main/assets/logo-new/hypernix-lockup-dark.svg" alt="hypernix logo" width="240" />
</p>

<p align="center">
  <img alt="PyPI" src="https://img.shields.io/badge/PyPI-v0.72.4.post14-ff2d55?style=for-the-badge&logo=pypi&logoColor=white" />
  <img alt="Python" src="https://img.shields.io/badge/Python-3.10--3.14-00c9ff?style=for-the-badge&logo=python&logoColor=white" />
  <img alt="License" src="https://img.shields.io/badge/License-HOS%20/%20LLU-00c853?style=for-the-badge" />
</p>
<!-- README_HEADER_END -->

**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](/wiki/Changelog.md)
for most updates

## Table of contents

- [What's fixed in this update](#whats-fixed-in-this-update)
- [What's new: 0.72.3.post2 — sub-bit models you can actually run](#whats-new-0723post2--sub-bit-models-you-can-actually-run)
- [What's new: 0.72.3 — T1 v1.0.2026.8.1.1](#whats-new-0723--t1-v102026811)
- [Package layout](#package-layout)
- [Module reference](#module-reference)
- [What's new in v0.70.5](#whats-new-in-v0705)
- [What's new in v0.70.4](#whats-new-in-v0704)
- [Install](#install)
- [Quickstart](#quickstart)
- [Python API tour](#python-api-tour)
- [CLI reference](#cli-reference)
- [Supported model families](#supported-model-families)
- [Examples](#examples)
- [Wiki / deep dives](#wiki--deep-dives)
- [How the GGUF pipeline works](#how-the-gguf-pipeline-works)
- [Platform notes](#platform-notes)
- [CI autofix](#ci-autofix)
- [Build / release](#build--release)
- [Usage & Documentation](#usage--documentation)
- [License](#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.

```bash
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](wiki/HnxRun.md) 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](wiki/HyprSlug-Headers.md).

**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](wiki/LowBit.md).

**`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.

```bash
tvtoppro --theme gruvbox-dark
tvtoppro --theme ~/.config/btop/themes/nord.theme
```

Seven themes built in and exported to `examples/tvtoppro/`. See
[TvTopPro](wiki/TvTopPro.md).

**`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.

```bash
./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.

```bash
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.

```bash
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](wiki/Changelog.md).
