tt-lang-t27
Open numeric-format SSOT bridge from gHashTag/t27 (83-format catalog, GoldenFloat family, Apache-2.0, Tiny Tapeout silicon) into tenstorrent/tt-lang kernel author workflows.
v0.3.0 ships the full 83-format catalog from gHashTag/t27 directly
inside the wheel. import tt_lang_t27 now exposes every IEEE 754 binary +
decimal float, every fp8 / fp6 / fp4, every microscaling format, every posit /
takum, every lns, every GF ladder rung, every historical vendor float (IBM
HFP, VAX, Cray, x87, MS MBF, ...), and every theoretical / compression format,
with bit layout + bias + cluster + status (Verified / Open / ... ) + standard
- use case + GF relation -- all in one frozen dataclass per format.
What this is
A pure-Python side-package -- zero coupling with tt-lang upstream.
Reads the t27 FORMAT-SPEC-001.json registry, validates kernel functions
against bit-precise conformance vectors, and (optionally) hands off to a
Coq formal oracle.
What this is NOT
- Not a fork of tt-lang.
- Not a patch to tt-lang.
- Not a build-time dependency of tt-lang.
- Not a CLA / copyright crossing.
Both repos remain Apache-2.0, separately governed.
Install
pip install tt-lang-t27 # from PyPI (planned)
# or
pip install git+https://github.com/gHashTag/tt-lang-t27
No Coq / no MLIR / no ttnn dependencies.
Quickstart
from tt_lang_t27 import t27_kernel, load_registry, load_vectors
@t27_kernel(
fmt="GF16",
registry_path="format-spec-001.json",
vectors_path="gf16_conformance_v0.json",
)
def my_matmul(a, b):
return a @ b
Every call logs a deterministic provenance tag:
[t27] kernel=my_matmul fmt=GF16 ssot=d9b76c5 tag=0a5ecb845def
[t27] vector-check n=21 fmt=GF16
CLI
tt-lang-t27-conform \
--registry format-spec-001.json \
--vectors gf16_conformance_v0.json
# OK conform=true reasons=0 sha256=<hex>
tt-lang-t27-mxfp4-conform \
--vectors mxfp4_conformance_v0.json
# OK mxfp4_conform=true reasons=0 sha256=<hex>
83-format catalog (new in v0.3)
The full catalog is loaded once from a JSON resource shipped inside the wheel. No network calls, no file paths to manage.
import tt_lang_t27 as t27
t27.catalog_count() # 83
t27.clusters() # ['Ieee754Binary', 'Ieee754Decimal', ...]
t27.by_id("bfloat16").e_int # 8
t27.by_id("bfloat16").bias_int # 127
len(t27.by_cluster("GoldenFloat")) # 22
len(t27.by_status("Verified")) # >= 20
t27.ANCHOR # 'phi^2 + 1/phi^2 = 3 = L_2'
t27.ARXIV # 'arXiv:2606.05017'
From the command line:
tt-lang-t27-catalog --count # 83
tt-lang-t27-catalog --clusters # 13 cluster names
tt-lang-t27-catalog --cluster GoldenFloat # 22 GF rungs
tt-lang-t27-catalog --status Verified # all Verified formats
tt-lang-t27-catalog --show bfloat16 # full record for bfloat16
tt-lang-t27-catalog --json > catalog.json # full JSON dump
Each record carries: id, name, bits, s, e, m, bias,
phi_distance (signed, -1.0 = undefined sentinel), storage, cluster,
status, standard, use_case, gf_relation, source.
Canonical source of truth (upstream gHashTag/t27):
specs/numeric/formats_catalog.t27.
MXFP4 cross-validation (new in v0.2)
tt_lang_t27.mxfp4 is a pure-Python reference codec for OCP MXFP4
(S1E2M1, block_size=32, E8M0 shared scale). Constants pinned to
tt-metal kMxFp4Params:
block_size = 32scale_bias = 0x7F(E8M0 bias 127)elem_exp_bits = 2,elem_man_bits = 1,elem_exp_bias = 1- saturation
sat_pos_bits = 0x7,sat_neg_bits = 0xF - inf / nan: NotRepresentable
The vectors/mxfp4_conformance_v0.json pack carries 12 32-element blocks
with expected scale byte + 32 nibbles + packed bytes hex. Any reference
implementation (including tt-metal's pack_as_mxfp4_tiles<float>) can
verify bit-exact parity by re-encoding each input_f32 and comparing to
expected_bytes_hex.
Provenance tag formula
sha256(kernel_name || ssot_commit || fmt || anchor_hash)
anchor_hash = SHA-256("phi^2 + 1/phi^2 = 3").
References
Anchor
phi^2 + 1/phi^2 = 3 = L_2 (Lucas number).
Metadata
Release files for tt-lang-t27 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| tt_lang_t27-0.4.0.tar.gz | 48.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tt_lang_t27-0.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 74.4 kB
Release files / tt_lang_t27-0.4.0.tar.gz
| Download URL | tt_lang_t27-0.4.0.tar.gz |
|---|---|
| Size | 48.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b205a30f571f5894e93494685b00e80cdb5fc986bebbb689610d773b3304c59b
|
|
BLAKE2b-256 checksum How to use checksums |
3841fa22e08e78db22af0f8fee1aab3d68e8cb164225e8969e4fd06d458af0f1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jun 8, 2026.
Transparency logRelease files / tt_lang_t27-0.4.0-py3-none-any.whl
| Download URL | tt_lang_t27-0.4.0-py3-none-any.whl |
|---|---|
| Size | 25.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2001f151098a14fcbae1e602b8f142a32a6feb6eef940aeab5f02e16b48305fb
|
|
BLAKE2b-256 checksum How to use checksums |
efa2a17cf97457d9a0d7524e8d4ecad7b754bcbeca3bb5aee12949c6beacbf7d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jun 8, 2026.
Transparency log