Skip to main content

skene

A draken-native columnar file format: reader, writer, and specification.

.skene stores one or more row groups of draken vectors losslessly — including the things Parquet drops. An IPv4 column is a UINT32 refined by an IPV4 logical descriptor; Parquet stores the 32 bits and loses the refinement on every round trip. .skene carries it. It likewise restores a column's dictionary encoding and layout hints rather than re-deriving them.

Reads are per row group and the index is always explicit — read_morsel(buf, row_group). Pruning goes through the small file-level index (read_metadata), which carries the schema, the row group directory and every row group's per-column statistics without opening a single row group's own footer.

It is not portable, and no foreign reader is promised. Parquet stays the default for interchange and for most stored datasets; .skene is for the cases where the draken-native round trip is what matters — query results, sort spill, and datasets we want optimised rather than interoperable.

  • FORMAT.md — the normative specification. Complete enough to write an independent reader from.
  • Rationale — opteryx-core/docs/SKENE_FILE_FORMAT_DESIGN.md: why Parquet and the existing IPC format were rejected, what was traded, what is still open.

C++17, no dependencies, no Python.

Build

skene imports draken's headers; it never copies them. Point it at an opteryx-core checkout — a sibling directory by default:

make            # library and tests
make test       # build and run every test
make DRAKEN_ROOT=/path/to/opteryx-core

Status

v1 is a DRAFT and is not frozen. Byte layouts are implemented and tested, but fields may still change without a version bump until v1 is released.

Implemented, writer and reader: the complete required-section layout in AS_WRITTEN mode — every family (fixed-width, BOOL, the string family including length-only columns, ARRAY with recursive children, NULL), all three selection kinds, LogicalType round-trip, per-section and footer checksums, head/tail framing, column selection, metadata-only reads with per-column byte extents, and version identification. That is exactly the shape sort spill needs.

Also implemented: value ordering (sort + deduplicate each column's values, with the selection carrying row order, so a predicate becomes a binary search and data_length is the exact distinct count) and statistics (min/max ordinals, null count, exact 128-bit sum).

Also implemented: four encodings (bit packing for selection codes, delta+bitpack for ascending integer data, and two per-section general-purpose codecs — zstd and lz4), zone maps, and bloom filters.

The two codecs are postures rather than alternatives to pick per section: zstd for ratio (7.34x at level 9 on ClickBench section bytes), lz4 for read latency (4.49x, but decoding at roughly the rate the reader's own uncompressed path runs at). zstd's decode rate does not vary with the level that produced the bytes, so a low zstd level gives up ratio and buys nothing back.

Per-section compression matters more than expected: on TPC-H, skene without it is 1.9-3.8x larger than the equivalent ZSTD Parquet, and with it 0.92-1.09x. See BENCHMARKS.md.

Not implemented: permutations — deferred because nothing produces a stored sort order yet — and migration, which needs a v2 to migrate from.

A file never claims more than was computed: a column ineligible for ordering is written as-written, and a statistic that cannot be defined is absent rather than zero.

Versioning

A build reads two versions — the one it writes and its predecessor — and writes exactly one. Older files are migrated forward one hop at a time using retained release binaries: binary vX migrates (X-1) → X, so a v1 file reaches v4 by running v2, then v3, then v4. See FORMAT.md §12.

Because of that, any build can identify any file even when it cannot read it — which is what freezes the first six bytes of the header for all time.

Metadata

Release files for libskene 0.3.3

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 libskene 0.3.3
File
libskene-0.3.3-cp314-cp314-manylinux_2_34_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.34+ x86-64 Details
libskene-0.3.3-cp314-cp314-manylinux_2_34_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.34+ ARM64 Details
libskene-0.3.3-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
libskene-0.3.3-cp313-cp313-manylinux_2_34_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.34+ x86-64 Details
libskene-0.3.3-cp313-cp313-manylinux_2_34_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.34+ ARM64 Details
libskene-0.3.3-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
libskene-0.3.3-cp312-cp312-manylinux_2_34_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.34+ x86-64 Details
libskene-0.3.3-cp312-cp312-manylinux_2_34_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.34+ ARM64 Details
libskene-0.3.3-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
libskene-0.3.3-cp311-cp311-manylinux_2_34_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.34+ x86-64 Details
libskene-0.3.3-cp311-cp311-manylinux_2_34_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.34+ ARM64 Details
libskene-0.3.3-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details

Total release size: 54.7 MB

Release files / libskene-0.3.3-cp314-cp314-manylinux_2_34_x86_64.whl

Download URL libskene-0.3.3-cp314-cp314-manylinux_2_34_x86_64.whl
Size 6.1 MB
Tags CPython 3.14 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
24489008a3a465866385bbdc4f779945b3fc48acf206acbc0cf275a44d9e44e4
BLAKE2b-256 checksum
How to use checksums
5bad42c4909dcbeb9d0858431df22c02782952e6a94b0fc48d140f986a9f066c
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 2, 2026.

Transparency log

Release files / libskene-0.3.3-cp314-cp314-manylinux_2_34_aarch64.whl

Download URL libskene-0.3.3-cp314-cp314-manylinux_2_34_aarch64.whl
Size 4.4 MB
Tags CPython 3.14 Linux glibc 2.34+ ARM64
SHA-256 checksum
How to use checksums
03697eee9c9631b9c23f81ca6eba3609457daaa9065393c49ca34744b639fba3
BLAKE2b-256 checksum
How to use checksums
c3373ac28e502953ccf1209a1a72c85b64808dc89d3229832dca8bb6287027d4
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 2, 2026.

Transparency log

Release files / libskene-0.3.3-cp314-cp314-macosx_11_0_arm64.whl

Download URL libskene-0.3.3-cp314-cp314-macosx_11_0_arm64.whl
Size 3.1 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
5397a9f3ae02194611b2666b1c03c9734f0b297156b1b8ec113ca0a43039c8bd
BLAKE2b-256 checksum
How to use checksums
461bc063c162e61beea8badd925cb37020c4d34ad08af13e4f813a0981339e36
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 2, 2026.

Transparency log

Release files / libskene-0.3.3-cp313-cp313-manylinux_2_34_x86_64.whl

Download URL libskene-0.3.3-cp313-cp313-manylinux_2_34_x86_64.whl
Size 6.1 MB
Tags CPython 3.13 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
755da78110de2726d79a201b955d2073142e85e041c45f2e536d264ae3f9710f
BLAKE2b-256 checksum
How to use checksums
79938ca38aa3f9472d6a024d4443fc445ef41befbc95e798ebddb539679f5d03
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 2, 2026.

Transparency log

Release files / libskene-0.3.3-cp313-cp313-manylinux_2_34_aarch64.whl

Download URL libskene-0.3.3-cp313-cp313-manylinux_2_34_aarch64.whl
Size 4.4 MB
Tags CPython 3.13 Linux glibc 2.34+ ARM64
SHA-256 checksum
How to use checksums
09a85d65074ea522bd53617bf2939c26d2452e5e94eaac7dbc4edffeb75fd1e6
BLAKE2b-256 checksum
How to use checksums
01a181dd60af02d0d61ae22c6c44290ed572c273e9ecfe5b46db5e6fb5259e38
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 2, 2026.

Transparency log

Release files / libskene-0.3.3-cp313-cp313-macosx_11_0_arm64.whl

Download URL libskene-0.3.3-cp313-cp313-macosx_11_0_arm64.whl
Size 3.1 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b601816e36336d9c8066221eb55f88281104844e4c78761bb2899e4615436d31
BLAKE2b-256 checksum
How to use checksums
dd0f1c475da7d96abc7c27907a02421cc37e2a56260dec3a37ece07ecea84b8e
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 2, 2026.

Transparency log

Release files / libskene-0.3.3-cp312-cp312-manylinux_2_34_x86_64.whl

Download URL libskene-0.3.3-cp312-cp312-manylinux_2_34_x86_64.whl
Size 6.1 MB
Tags CPython 3.12 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
3c5097f5d8cfa13897014d3be2ec9e2d9b6c43269a37017962701f622fe9b9cc
BLAKE2b-256 checksum
How to use checksums
d5240a01940fed739460e9beddd42474e55c1a5f8b1a4fc888441864083a792a
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 2, 2026.

Transparency log

Release files / libskene-0.3.3-cp312-cp312-manylinux_2_34_aarch64.whl

Download URL libskene-0.3.3-cp312-cp312-manylinux_2_34_aarch64.whl
Size 4.4 MB
Tags CPython 3.12 Linux glibc 2.34+ ARM64
SHA-256 checksum
How to use checksums
969502d11a473c43e8d83818aee10dee0ecabbe3a3691299b7fbdb92d66e8c59
BLAKE2b-256 checksum
How to use checksums
fdfeac022ce55065a227d3deaeab93f1315dcbe184340fb9f260ef64403435b7
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 2, 2026.

Transparency log

Release files / libskene-0.3.3-cp312-cp312-macosx_11_0_arm64.whl

Download URL libskene-0.3.3-cp312-cp312-macosx_11_0_arm64.whl
Size 3.1 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d5f5f1b874b657b4d71f8546be353a71a8114355db6f798902f812d38f2222cd
BLAKE2b-256 checksum
How to use checksums
44f8d07f8722a6349be7a9359c06808091d57004850a61dd4daf86143bd4d6b7
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 2, 2026.

Transparency log

Release files / libskene-0.3.3-cp311-cp311-manylinux_2_34_x86_64.whl

Download URL libskene-0.3.3-cp311-cp311-manylinux_2_34_x86_64.whl
Size 6.1 MB
Tags CPython 3.11 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
375c25e630656663c1750486673c0f854f2534f6ef2854319ba66cef6bee32ce
BLAKE2b-256 checksum
How to use checksums
1159fa32f4e92cf2158b32e08d5b9e7eeca1e401339763d3bc00372e1c0ce7a7
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 2, 2026.

Transparency log

Release files / libskene-0.3.3-cp311-cp311-manylinux_2_34_aarch64.whl

Download URL libskene-0.3.3-cp311-cp311-manylinux_2_34_aarch64.whl
Size 4.4 MB
Tags CPython 3.11 Linux glibc 2.34+ ARM64
SHA-256 checksum
How to use checksums
40fa5edd85492ed631e93d4db15b97cb0245aa2c79d9c984bedc054a9cb319d7
BLAKE2b-256 checksum
How to use checksums
1018e22716acafbd9169054c0ed186808e40e167b7899313a0491c6c64803977
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 2, 2026.

Transparency log

Release files / libskene-0.3.3-cp311-cp311-macosx_11_0_arm64.whl

Download URL libskene-0.3.3-cp311-cp311-macosx_11_0_arm64.whl
Size 3.1 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
14119656d0ea71eb19fcdfb0f8a84522317932f849238327b43baf93e87e59df
BLAKE2b-256 checksum
How to use checksums
b346a7ca8aa98889f8d77387d693eee135a3e9524b560816eb0666e7fabb5364
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 2, 2026.

Transparency log

Release history Release notifications | RSS feed

0.3.5

12 release files

This release

0.3.3 This release

12 release files

0.3.1

12 release files

0.2.5

12 release files

0.2.3

12 release files

0.2.2

12 release files

0.2.1

12 release files

0.2.0

12 release files

0.1.9

12 release files

0.1.8

12 release files

0.1.7

12 release files

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