Skip to main content

hypertabular

Delimited text — CSV, TSV, any single-byte ASCII separator — and workbooks — XLSX, ODS and Numbers — read a batch at a time into typed columns, with a HyperCast verdict for every cell.

pip install hypertabular
from hypertabular import Column, DelimitedReader, Dialect, Fault, SheetOptions, Success, Workbook

# The header first; then a plan that reads the columns by name, wherever the file put them.
with DelimitedReader.open("orders.csv", Dialect.CSV) as reader:
    header = reader.header                    # Header(('id', 'name', 'score'))
    plan = [
        Column.i32(header.ordinal("id")),     # KeyError naming the column if it is missing
        Column.text(header.ordinal("name")),
        Column.f64(header.ordinal("score")),
    ]
    reader.bind(plan)
    for batch in reader:
        ids, names, scores = batch.columns

        # A column at a time, as the core wrote it…
        total = sum(scores.values)            # a memoryview of C doubles
        for row, fault in scores.faults():
            print(row, fault.reason.name, scores.raw(row))

        # …or a cell at a time, as HyperCast's union.
        for row in range(batch.rows):
            match scores[row]:
                case Success(value):
                    print(names.values[row], value)
                case Fault(reason, offset, length):
                    print(reason.name, "on line", batch.line(row), "in", scores.raw(row))

# A workbook reads into the same batch, its sheet header first or with the plan up front.
book = Workbook.open("orders.xlsx")
print(book.sheets)                            # (SheetInfo(name='Orders', hidden=False),)
sheet = book.sheet("Orders", SheetOptions())
sheet.bind([Column.i32(sheet.header.ordinal("id")), Column.text(sheet.header.ordinal("name"))])
for batch in sheet:
    ...

A plan known up front goes straight to the constructor — DelimitedReader.open(path, dialect, plan), book.sheet(which, options, plan) — which binds it before the header is read.

Header first

A reader made without a plan — DelimitedReader(source, dialect), DelimitedReader.open(path, dialect), book.sheet(which, options) — reads the header and waits: bind(plan) declares the plan once, before the first read. A read before it raises RuntimeError (and a later bind puts that right); so does a second bind. is_bound says which it is, and a delimited reader's column_count is the header's width, or the first record's once it has been read. Once a delimited header has fixed that width, a plan column at or past it could only ever be empty, so it is a ValueError naming the column — from bind, or from the constructor (and open_async) as soon as the header is read. Without a header such a column reads as empty, and a plan reaching past 256 source columns reads shorter batches, as many rows as about 8 MiB of cell table holds.

The header is a Header: a tuple of str, with ordinal(name) — the first column with exactly that name, case and spaces included, or a KeyError naming it — and get(name, default=None), which returns default instead. A bytes name is matched against the bytes the file holds.

Rows

A batch is column-major; a Row reads it across, for code that builds an object a row at a time. for row in batch (or batch.iter_rows(), batch.row(i)) gives views — the batch and an index, nothing copied — with index, line, get(column) (the cell as Success or Fault), text(column) (a text cell's str, or None) and raw(column). reader.rows() and sheet.rows() run across batches, reading the next as one runs out. A batch owns what it shows, so a row stays valid after the reader has moved on.

with DelimitedReader.open("orders.csv", Dialect.CSV, plan) as reader:
    orders = [
        Order(id.value, row.text(1))
        for row in reader.rows()
        if isinstance(id := row.get(0), Success)
    ]

Streams and asyncio

DelimitedReader(source, …) takes bytes or a binary file object (anything with read(size)), and so does Workbook(data): a workbook is read to the end into memory it owns, since a zip is read from its directory at the end back. Either way the format is read from the bytes. A file object is the caller's to close. A delimited reader calls the object's read1(size) where it has one and parses whatever each read returns, so over a pipe, a socket or a FIFO opened with DelimitedReader.open the header and every complete record arrive without waiting for the buffer to fill.

An asynchronous stream — an asyncio.StreamReader, or anything with async read(size) — is read with asyncio:

reader = await DelimitedReader.open_async(stream, Dialect.CSV)   # the header is awaited too
reader.bind([Column.i64(reader.header.ordinal("id"))])
async for batch in reader:                                       # or: await reader.read_async()
    ...

book = await Workbook.open_async(stream)

The core never waits: when a read needs input it says how much, the stream is awaited for that much and the read goes on, all the core's work done between awaits with the interpreter released. Cancellation is asyncio's, and a read cancelled while it awaits the stream leaves the reader where it was — the next read carries on. read_async and async for work on any reader; over bytes or a blocking file object they complete without awaiting anything.

The shape

The native core owns no memory and reads no files. It is linked straight into a CPython extension module (hypertabular._native, PyO3), and the extension is the binding: it allocates a value array and a verdict array per column, once, and the core fills them in one call per batch with the interpreter released. A column reaches Python whole — a read-only memoryview of the door's own item type, which anything that takes a buffer takes — with no Python call per cell.

  • One batch type. Iterating a reader or a sheet (or calling read()) gives a Batch: rows, columns, column(i), line(row), raw(column, row), get(column, row) and text(column, row), and its rows when iterated. Each column is a ColumnData with values, verdicts, fault_count, faults(), raw(row) and column[row] for one cell as Success or Fault. A batch owns what it shows: it stays valid after the reader has moved on.
  • Nothing is sniffed. The Dialect states the separator, the quoting and the header; SheetOptions states a sheet's header, whether empty rows are skipped and the batch size; the plan states each column's door and, for numbers, its NumFormat.
  • HyperCast is the judge. Success, Fault, CastFailure, NumFormat, UnixPrecision, DateOrder and ExcelEpoch are the hypercast package's own objects, re-exported here unchanged. A text cell means exactly what hypercast.cast_* says of the same text, a typed workbook cell is converted by the door directly, and its value is the Python type that door gives: int, float, bool, decimal.Decimal, uuid.UUID, datetime, date, time, timedelta, and str for text.
  • A bad value is a verdict; a broken file is an exception. A cell that does not cast is a Fault in its column and the read goes on. A record of the wrong width, input that ends inside a quoted cell, a workbook whose container or parts cannot be read, raises TabularError — after every intact row before it has been delivered.

hypertabular.native_version() reports the core the extension was built from.

Platforms

Each platform gets three wheels, which between them cover every CPython from the 3.11 floor up, with the GIL or without it, so nothing is compiled on install:

Wheel Interpreters
cp311-abi3 CPython 3.11 and newer, with the GIL
cp314-cp314t free-threaded CPython 3.14
cp315-abi3.abi3t CPython 3.15 and newer, free-threaded or not (PEP 803)

The platforms are Linux (glibc and musl) on x86-64 and arm64, macOS on Apple silicon and Intel, and Windows on x86-64 and arm64: 24 wheels, and a twenty-fifth for Pyodide (below). There is no source distribution, so an interpreter none of them matches (free-threaded 3.13, PyPy) gets No matching distribution found from pip.

Free-threaded CPython runs it without the GIL. The extension declares it needs no GIL, and so does HyperCast's, so a free-threaded interpreter keeps the GIL off after import hypertabular (no RuntimeWarning), and readers on different threads run truly in parallel. A Batch, its columns and rows, and a Workbook are immutable once made and can be shared by any number of threads; a column's values is built once, whichever thread asks first. A DelimitedReader or a Sheet is read by one thread at a time, as everywhere: a second thread calling into one while another is inside a read gets RuntimeError (PyO3's "Already borrowed") and nothing else, never a race on its buffers. The bindings are written once, for free-threading; a GIL build runs the same code. CI runs the whole suite on free-threaded 3.15 on every platform, and installs each wheel on its own interpreters before it is published.

In the browser (Pyodide)

The same PyO3 extension, compiled for Pyodide's Emscripten target, is published to PyPI as a twenty-fifth wheel, hypertabular-<version>-cp311-abi3-pyemscripten_2026_0_wasm32.whl, so micropip finds it the way pip finds the native wheels, and HyperCast's beside it:

import micropip
await micropip.install("hypertabular")

import hypertabular
hypertabular.native_version()   # the linked core's version

It is the same native extension, with the same API and no JavaScript bridge. CI installs the wheel into Pyodide and runs this package's whole pytest suite in it twice, under Node and in headless Chrome, corpus replay included; the one test that starts threads is skipped, since Pyodide cannot. The wheel is for Pyodide 314.x (Python 3.14, platform pyemscripten_2026_0): each Pyodide ABI year needs its own wheel.

Verifying provenance

Every wheel PyPI serves, the Pyodide one included, verifies from the release tag alone: the release attestation, signed by this repository's release.yml at the tag, names every one of them, with the release inventory as its predicate.

pip download hypertabular==<version> --no-deps -d .
gh attestation verify hypertabular-<version>-*.whl --repo SkunkWerkx/HyperTabular \
  --source-ref refs/tags/v<version> --predicate-type https://github.com/SkunkWerkx/.github/predicates/release/v1

Each wheel also carries build provenance from where it was built, installed and attested: hyper-build-wheels.yml in SkunkWerkx/.github, at the preparation commit on master the release was prepared from (release.yml verifies each wheel against it before publishing it unchanged). That check names the signer, or uses --owner for both:

gh attestation verify hypertabular-<version>-*.whl \
  --repo SkunkWerkx/HyperTabular --signer-repo SkunkWerkx/.github
# or: gh attestation verify hypertabular-<version>-*.whl --owner SkunkWerkx

Both are the GitHub/Sigstore transparency-log route, checked with gh attestation verify, the same route every other artifact in this project uses. Separately, PyPI itself holds a PEP 740 publish attestation for every wheel, filed by gh-action-pypi-publish at publication and shown on each file's PyPI page, which PyPI-side tooling checks on its own. The root README's Provenance section has the whole picture.

License

MIT

Metadata

Release files for hypertabular 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for hypertabular 1.0.0
File
hypertabular-1.0.0-cp315-abi3.abi3t-win_arm64.whl CPython 3.15 abi3, abi3t Windows ARM64 Details
hypertabular-1.0.0-cp315-abi3.abi3t-win_amd64.whl CPython 3.15 abi3, abi3t Windows x86-64 Details
hypertabular-1.0.0-cp315-abi3.abi3t-musllinux_1_2_x86_64.whl CPython 3.15 abi3t, abi3 Linux musl 1.2+ x86-64 Details
hypertabular-1.0.0-cp315-abi3.abi3t-musllinux_1_2_aarch64.whl CPython 3.15 abi3, abi3t Linux musl 1.2+ ARM64 Details
hypertabular-1.0.0-cp315-abi3.abi3t-manylinux_2_28_x86_64.whl CPython 3.15 abi3t, abi3 Linux glibc 2.28+ x86-64 Details
hypertabular-1.0.0-cp315-abi3.abi3t-manylinux_2_28_aarch64.whl CPython 3.15 abi3, abi3t Linux glibc 2.28+ ARM64 Details
hypertabular-1.0.0-cp315-abi3.abi3t-macosx_11_0_arm64.whl CPython 3.15 abi3, abi3t macOS 11.0+ ARM64 Details
hypertabular-1.0.0-cp315-abi3.abi3t-macosx_10_12_x86_64.whl CPython 3.15 abi3, abi3t macOS 10.12+ x86-64 Details
hypertabular-1.0.0-cp314-cp314t-win_arm64.whl CPython 3.14 CPython 3.14 free-threading Windows ARM64 Details
hypertabular-1.0.0-cp314-cp314t-win_amd64.whl CPython 3.14 CPython 3.14 free-threading Windows x86-64 Details
hypertabular-1.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64 Details
hypertabular-1.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64 Details
hypertabular-1.0.0-cp314-cp314t-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-64 Details
hypertabular-1.0.0-cp314-cp314t-manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ ARM64 Details
hypertabular-1.0.0-cp314-cp314t-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 Details
hypertabular-1.0.0-cp314-cp314t-macosx_10_12_x86_64.whl CPython 3.14 CPython 3.14 free-threading macOS 10.12+ x86-64 Details
hypertabular-1.0.0-cp311-abi3-win_arm64.whl CPython 3.11 abi3 Windows ARM64 Details
hypertabular-1.0.0-cp311-abi3-win_amd64.whl CPython 3.11 abi3 Windows x86-64 Details
hypertabular-1.0.0-cp311-abi3-pyemscripten_2026_0_wasm32.whl CPython 3.11 abi3 PyEmscripten 2026.0+ WebAssembly Details
hypertabular-1.0.0-cp311-abi3-musllinux_1_2_x86_64.whl CPython 3.11 abi3 Linux musl 1.2+ x86-64 Details
hypertabular-1.0.0-cp311-abi3-musllinux_1_2_aarch64.whl CPython 3.11 abi3 Linux musl 1.2+ ARM64 Details
hypertabular-1.0.0-cp311-abi3-manylinux_2_28_x86_64.whl CPython 3.11 abi3 Linux glibc 2.28+ x86-64 Details
hypertabular-1.0.0-cp311-abi3-manylinux_2_28_aarch64.whl CPython 3.11 abi3 Linux glibc 2.28+ ARM64 Details
hypertabular-1.0.0-cp311-abi3-macosx_11_0_arm64.whl CPython 3.11 abi3 macOS 11.0+ ARM64 Details
hypertabular-1.0.0-cp311-abi3-macosx_10_12_x86_64.whl CPython 3.11 abi3 macOS 10.12+ x86-64 Details

Total release size: 12.3 MB

Release files / hypertabular-1.0.0-cp315-abi3.abi3t-win_arm64.whl

Download URL hypertabular-1.0.0-cp315-abi3.abi3t-win_arm64.whl
Size 397.3 kB
Tags CPython 3.15 Windows ARM64 abi3 abi3t
SHA-256 checksum
How to use checksums
1a6969048b501dc82cf3b86b44649f7757a409f317a472aede71bbe54d167760
BLAKE2b-256 checksum
How to use checksums
f7714bf2186eb55df0e1a343d8b15d1a81aaa0ce6ad17f2d91f476cc7e63d5e1
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 Oct 26, 2026.

Transparency log

Release files / hypertabular-1.0.0-cp315-abi3.abi3t-win_amd64.whl

Download URL hypertabular-1.0.0-cp315-abi3.abi3t-win_amd64.whl
Size 427.5 kB
Tags CPython 3.15 Windows x86-64 abi3 abi3t
SHA-256 checksum
How to use checksums
a23d4041616e1582b8dac179b72b072dc3ccfc24a1fbc6320d8774f29fddebcb
BLAKE2b-256 checksum
How to use checksums
dbaea8939c1bea0a03af000094c14577c4385ea428650a02c805c446e47cae68
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 Oct 26, 2026.

Transparency log

Release files / hypertabular-1.0.0-cp315-abi3.abi3t-musllinux_1_2_x86_64.whl

Download URL hypertabular-1.0.0-cp315-abi3.abi3t-musllinux_1_2_x86_64.whl
Size 713.3 kB
Tags CPython 3.15 Linux musl 1.2+ x86-64 abi3 abi3t
SHA-256 checksum
How to use checksums
35bbeb3030fb753f03291f60aa72e3ad4ba6546ad3d8f019df4d963f9841326f
BLAKE2b-256 checksum
How to use checksums
6921aeb6782e581fea80415f6bdf90e60cf64de29edfaa819349a2ba6fd88d85
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 Oct 26, 2026.

Transparency log

Release files / hypertabular-1.0.0-cp315-abi3.abi3t-musllinux_1_2_aarch64.whl

Download URL hypertabular-1.0.0-cp315-abi3.abi3t-musllinux_1_2_aarch64.whl
Size 646.4 kB
Tags CPython 3.15 Linux musl 1.2+ ARM64 abi3 abi3t
SHA-256 checksum
How to use checksums
3d0c08123c9fa309443783c2e8adcc1cdb359f35c077b7087645ce04792fbd3c
BLAKE2b-256 checksum
How to use checksums
759eb5d6920be0ff4ef68954de4b6eedd06dca2301e016bc8a3f21f39f89d563
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 Oct 26, 2026.

Transparency log

Release files / hypertabular-1.0.0-cp315-abi3.abi3t-manylinux_2_28_x86_64.whl

Download URL hypertabular-1.0.0-cp315-abi3.abi3t-manylinux_2_28_x86_64.whl
Size 500.4 kB
Tags CPython 3.15 Linux glibc 2.28+ x86-64 abi3 abi3t
SHA-256 checksum
How to use checksums
f8f8a9659583ec2e501812be3d9c7561ec9893328e819bfb20b77099e94aa211
BLAKE2b-256 checksum
How to use checksums
e6904b50304c2a92241e4322a841f48840b9951c04991bdf009e0bc766708561
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 Oct 26, 2026.

Transparency log

Release files / hypertabular-1.0.0-cp315-abi3.abi3t-manylinux_2_28_aarch64.whl

Download URL hypertabular-1.0.0-cp315-abi3.abi3t-manylinux_2_28_aarch64.whl
Size 467.9 kB
Tags CPython 3.15 Linux glibc 2.28+ ARM64 abi3 abi3t
SHA-256 checksum
How to use checksums
9bf548e3fbfce9419e264803d58e1144f05180a44caff4a98c5e1ab894e60802
BLAKE2b-256 checksum
How to use checksums
8372b586e6adbc504ae469b3b341a198488d8059499ca928ad38cb405a42dce2
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 Oct 26, 2026.

Transparency log

Release files / hypertabular-1.0.0-cp315-abi3.abi3t-macosx_11_0_arm64.whl

Download URL hypertabular-1.0.0-cp315-abi3.abi3t-macosx_11_0_arm64.whl
Size 454.3 kB
Tags CPython 3.15 abi3 abi3t macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
c666ef3e357be3b83b45dae4626e1374061cb38b985965163b8031e6410ba473
BLAKE2b-256 checksum
How to use checksums
a498114ec8763257c0a8aedac8aa931c7268073fcf8f188beb938b1d1ecfccd5
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 Oct 26, 2026.

Transparency log

Release files / hypertabular-1.0.0-cp315-abi3.abi3t-macosx_10_12_x86_64.whl

Download URL hypertabular-1.0.0-cp315-abi3.abi3t-macosx_10_12_x86_64.whl
Size 487.6 kB
Tags CPython 3.15 abi3 abi3t macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
6fac365184ea6c11872c2426d9ce60d57d5d24a9c44319e9db2fd24d0f01f921
BLAKE2b-256 checksum
How to use checksums
a93458862c4b0a644c29a1e5f8fbc984665aeb8fa172ef4fc23306356c888564
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 Oct 26, 2026.

Transparency log

Release files / hypertabular-1.0.0-cp314-cp314t-win_arm64.whl

Download URL hypertabular-1.0.0-cp314-cp314t-win_arm64.whl
Size 376.9 kB
Tags CPython 3.14 CPython 3.14 free-threading Windows ARM64
SHA-256 checksum
How to use checksums
6350395fd3efc3c333a0db118b6faf0597c16e5dffe4506862afda7f9850bfe3
BLAKE2b-256 checksum
How to use checksums
323affd4b178c71a33566de1b26eb6de3779409d99bcbd4588d5731545c56f40
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 Oct 26, 2026.

Transparency log

Release files / hypertabular-1.0.0-cp314-cp314t-win_amd64.whl

Download URL hypertabular-1.0.0-cp314-cp314t-win_amd64.whl
Size 405.2 kB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
18bb72f4408be7b6aab1fa0a21ae1e95a526de82f2656da7f82f92fd8f87b10b
BLAKE2b-256 checksum
How to use checksums
b8cdd1711af5f0f6c307373a89403019c1c3becf8d0b21d0283f5cc6934055c4
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 Oct 26, 2026.

Transparency log

Release files / hypertabular-1.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl

Download URL hypertabular-1.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl
Size 694.2 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
1c789ce21dbde15a87e03ba69549dae91704fe5f4dc8fb29b34a76e6bbb991e5
BLAKE2b-256 checksum
How to use checksums
24a33c5d7641f3453f3fb56c7c7e866b804d683de4afecd8acb5561472c462d1
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 Oct 26, 2026.

Transparency log

Release files / hypertabular-1.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl

Download URL hypertabular-1.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl
Size 630.0 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
5c45bd7a9185b7719bbf281a726c3d7b1d2b0963d6d3e819ffeffab7d82bce67
BLAKE2b-256 checksum
How to use checksums
e710e7bdaba813efd2680803d15d70546143bdfd6491d88e595e045f5132fea1
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 Oct 26, 2026.

Transparency log

Release files / hypertabular-1.0.0-cp314-cp314t-manylinux_2_28_x86_64.whl

Download URL hypertabular-1.0.0-cp314-cp314t-manylinux_2_28_x86_64.whl
Size 481.5 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
27092d0c74955d8e7aea1b892e9b320cb6372a638ab08113cacdf898d7022331
BLAKE2b-256 checksum
How to use checksums
b96ebe3d9e39f308d5bb2b6e08871080be05029f31b3e8203217118018d02f2f
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 Oct 26, 2026.

Transparency log

Release files / hypertabular-1.0.0-cp314-cp314t-manylinux_2_28_aarch64.whl

Download URL hypertabular-1.0.0-cp314-cp314t-manylinux_2_28_aarch64.whl
Size 451.8 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
e831521ec472b93328c41ac9b47805d4af127478fcfb186bcd884c4edc614827
BLAKE2b-256 checksum
How to use checksums
118885d5c8ee4e6ccb3002d677c6f3160d4ac66f67ea69716c372a5a8b5d1f15
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 Oct 26, 2026.

Transparency log

Release files / hypertabular-1.0.0-cp314-cp314t-macosx_11_0_arm64.whl

Download URL hypertabular-1.0.0-cp314-cp314t-macosx_11_0_arm64.whl
Size 437.6 kB
Tags CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
737c43b3f100d81964defae1095590c76882f9cb5dab5ab6189169122122d527
BLAKE2b-256 checksum
How to use checksums
d0e45e8800247420a2880e4817f7892ba7f92459523a7cd380f4aef7e295759e
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 Oct 26, 2026.

Transparency log

Release files / hypertabular-1.0.0-cp314-cp314t-macosx_10_12_x86_64.whl

Download URL hypertabular-1.0.0-cp314-cp314t-macosx_10_12_x86_64.whl
Size 469.6 kB
Tags CPython 3.14 CPython 3.14 free-threading macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
23ddb5a9798228fa422bdacde63655d136c2879fad01ece011543131b9c26ce3
BLAKE2b-256 checksum
How to use checksums
6837c35637f274c9db23eec14bd27a87e561ab1708d3899e78f9240d1d987e09
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 Oct 26, 2026.

Transparency log

Release files / hypertabular-1.0.0-cp311-abi3-win_arm64.whl

Download URL hypertabular-1.0.0-cp311-abi3-win_arm64.whl
Size 387.7 kB
Tags CPython 3.11 Windows ARM64 abi3
SHA-256 checksum
How to use checksums
1b24d2516d2dee7a75552a2e4086e69bc0920e353dbb787e8af9172ae19a942c
BLAKE2b-256 checksum
How to use checksums
f7fc7eeedb30f71d8db210757f73cb4f10a0c4cc11dde2498a25886736d271b9
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 Oct 26, 2026.

Transparency log

Release files / hypertabular-1.0.0-cp311-abi3-win_amd64.whl

Download URL hypertabular-1.0.0-cp311-abi3-win_amd64.whl
Size 415.0 kB
Tags CPython 3.11 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
25cadeb155ed295e4cdec425d5d287f8725123f7c994b7650e524cfbe2d7443c
BLAKE2b-256 checksum
How to use checksums
e9d3dbcc3e7314eee3c90d2d25a56afb0b0dbc3ca7a130b5c6a6a91b39276a14
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 Oct 26, 2026.

Transparency log

Release files / hypertabular-1.0.0-cp311-abi3-pyemscripten_2026_0_wasm32.whl

Download URL hypertabular-1.0.0-cp311-abi3-pyemscripten_2026_0_wasm32.whl
Size 238.6 kB
Tags CPython 3.11 PyEmscripten 2026.0+ WebAssembly abi3
SHA-256 checksum
How to use checksums
ef8e4da3c911ba6b412584658eff051c8a4c6bdfa8eeec68e22865c01edc2e31
BLAKE2b-256 checksum
How to use checksums
1acc62f075721b5f70a139613d7fc480cbe03d9a90c656e6ea835e6c6f0c6a2d
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 Oct 26, 2026.

Transparency log

Release files / hypertabular-1.0.0-cp311-abi3-musllinux_1_2_x86_64.whl

Download URL hypertabular-1.0.0-cp311-abi3-musllinux_1_2_x86_64.whl
Size 702.0 kB
Tags CPython 3.11 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
637783f4839f2b3f26d7593c252198be27f9507f8896a4b1b5fcf75bbc0cb6c3
BLAKE2b-256 checksum
How to use checksums
4107ce0836358f5710bf7bd26ecb6a2f93c78834b206ffdce78726c6a7330ec9
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 Oct 26, 2026.

Transparency log

Release files / hypertabular-1.0.0-cp311-abi3-musllinux_1_2_aarch64.whl

Download URL hypertabular-1.0.0-cp311-abi3-musllinux_1_2_aarch64.whl
Size 636.6 kB
Tags CPython 3.11 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
a4c1dadc822a4e72fa6e0fcf435bb5a650ba5e932d25f6a9b95d35cc83e65d24
BLAKE2b-256 checksum
How to use checksums
b42339ea0cc2cf688bc58edff98082a4d9e6594f9ff55a20b9acf7c9e069535c
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 Oct 26, 2026.

Transparency log

Release files / hypertabular-1.0.0-cp311-abi3-manylinux_2_28_x86_64.whl

Download URL hypertabular-1.0.0-cp311-abi3-manylinux_2_28_x86_64.whl
Size 489.4 kB
Tags CPython 3.11 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
3476e9159ceca3202e939c8475d1e91426c610ca40c1ffcb7f658182aa4bb5e7
BLAKE2b-256 checksum
How to use checksums
b0b7be96d4eac0ab980b3b6ac6c79168688ae451c8113ea5c6be3b74fef8047a
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 Oct 26, 2026.

Transparency log

Release files / hypertabular-1.0.0-cp311-abi3-manylinux_2_28_aarch64.whl

Download URL hypertabular-1.0.0-cp311-abi3-manylinux_2_28_aarch64.whl
Size 458.4 kB
Tags CPython 3.11 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
d8fa906ca86ae9958fd02a96e373a04eb79f78da22f691b7d2308e8296e47104
BLAKE2b-256 checksum
How to use checksums
24d487abb2645841420eec7ba3832af90c764c452c3ef27e89bcf2d6c1919459
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 Oct 26, 2026.

Transparency log

Release files / hypertabular-1.0.0-cp311-abi3-macosx_11_0_arm64.whl

Download URL hypertabular-1.0.0-cp311-abi3-macosx_11_0_arm64.whl
Size 446.1 kB
Tags CPython 3.11 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
5def0e982202d217c3cd239646be91bc02b286c8a145a62a7e06a1f6ffe772d6
BLAKE2b-256 checksum
How to use checksums
9220e8e8d4c8a3271b2fcc011f536b9e411a2b742b983dc5e5de89dcc85a9cd0
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 Oct 26, 2026.

Transparency log

Release files / hypertabular-1.0.0-cp311-abi3-macosx_10_12_x86_64.whl

Download URL hypertabular-1.0.0-cp311-abi3-macosx_10_12_x86_64.whl
Size 467.4 kB
Tags CPython 3.11 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
102a28dd8c6dac0310607753ec0e1989b3fd5dcd2721c6183731de771dfd2a99
BLAKE2b-256 checksum
How to use checksums
97be1c6be23a0b1a44caa7e8c9632b8b6010b56f8a1e5501e3fa45ad17d8b02f
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 Oct 26, 2026.

Transparency log

Security for hypertabular 1.0.0

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.

Full provenance

All 25 files in this release have been uploaded with provenance metadata.

Select from 25 files

Attestation for hypertabular-1.0.0-cp315-abi3.abi3t-win_arm64.whl

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 Oct 26, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page