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 aBatch:rows,columns,column(i),line(row),raw(column, row),get(column, row)andtext(column, row), and its rows when iterated. Each column is aColumnDatawithvalues,verdicts,fault_count,faults(),raw(row)andcolumn[row]for one cell asSuccessorFault. A batch owns what it shows: it stays valid after the reader has moved on. - Nothing is sniffed. The
Dialectstates the separator, the quoting and the header;SheetOptionsstates a sheet's header, whether empty rows are skipped and the batch size; the plan states each column's door and, for numbers, itsNumFormat. - HyperCast is the judge.
Success,Fault,CastFailure,NumFormat,UnixPrecision,DateOrderandExcelEpochare thehypercastpackage's own objects, re-exported here unchanged. A text cell means exactly whathypercast.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, andstrfor text. - A bad value is a verdict; a broken file is an exception. A cell that does not cast is
a
Faultin 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, raisesTabularError— 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
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)
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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logSecurity 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.
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 logA 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.