Skip to main content

keyten

Python bindings for Keyten, a compact Rust dataframe engine that keeps columnar data compressed through whole queries.

Queries stay lazy until collect(), then run entirely in the engine with the GIL released — predicate and projection pushdown, vectorized parallel execution, disk spilling for data bigger than memory, and native-table I/O all happen outside the interpreter.

Install

Keyten supports 64-bit Linux, macOS arm64 (Apple Silicon), and CPython 3.11 or newer. See the installation guide for exact wheel tags and source builds.

pip install keyten

A first query

import keyten as kt

trades = kt.DataFrame([
    kt.Series.string("sym", ["a", "b", "a", "b"]),
    kt.Series.int("qty", [1, 2, 3, 4]),
])

result = (
    trades.lazy()
    .filter(kt.col("qty") > 1)
    .with_columns((kt.col("qty") * 10).alias("q10"))
    .group_by("sym")
    .agg([
        kt.col("q10").sum(),
        kt.col("qty").count().alias("n"),
    ])
    .sort("sym")
    .collect()
)

print(result)

What's in the box

  • Expressions — arithmetic, comparisons, boolean logic, casts, string operations (substring, regex extract), value recoding, null/NaN shaping, and conditional if_else.
  • Aggregations — totals, extrema, sample moments, exact distinct counts, quantiles, and pairwise correlation, per group or whole-frame.
  • Windows — cumulative, fixed-row rolling, duration rolling, exponentially weighted, ranking, filling, and partitioned over(...) evaluation.
  • Joins — inner, left, semi, anti, and backward/forward/nearest asof joins with by-groups and tolerance.
  • Mutation — eager append, upsert, update, and delete; existing lazy plans retain their original snapshot.
  • Temporal kinds — dates, timestamps, and times are first-class, parse straight from CSV, and ride the integer encodings.
  • Sourcesscan_csv (strict typed inference), scan_parquet (files or directories, statistics-pruned), and scan_native, the engine's own zero-copy, crash-safe table format.
  • Interop — Arrow PyCapsule import/export with no required Arrow library dependency.
  • Scale — out-of-core execution against a self-derived memory budget; nothing to configure.
  • Workers — serializable scans can execute remotely or scatter mergeable aggregation across a worker list.

The package ships typed stubs (py.typed), so editors and type checkers see the full API with docstrings.

Documentation

Tutorials, the full API reference, and engine internals live at k10.works/docs.

Copyright

Copyright © 2026 Rayforce Technologies Inc. All rights reserved.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

keyten-0.1.52-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.0 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.17+ x86-64

keyten-0.1.52-cp311-abi3-macosx_11_0_arm64.whl (4.3 MB view details)

Uploaded CPython 3.11+macOS 11.0+ ARM64

File details

Details for the file keyten-0.1.52-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for keyten-0.1.52-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 177464527869f64f96d44264f0c83ce4870160cccd32958ece5a0ce109116c83
MD5 b9e59d31c0405d37c0fd3b2b53d65944
BLAKE2b-256 2e64866609dad3317f619b706eba6408a4b768e66f4fe8a9c8ddd06a09492b7f

See more details on using hashes here.

Provenance

The following attestation bundles were made for keyten-0.1.52-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: py-release.yml on k10works/keyten

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file keyten-0.1.52-cp311-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for keyten-0.1.52-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 031b3fd567205ce57e14fbaf74512c1d01745a50c03da1a253fbd023c5ae4cf6
MD5 a037c364fbca9693748ffd24d5a451d5
BLAKE2b-256 44f64d14337c77868012b2fa32c1b1ad9543c074df9bc703bafb4e43fd8c4af9

See more details on using hashes here.

Provenance

The following attestation bundles were made for keyten-0.1.52-cp311-abi3-macosx_11_0_arm64.whl:

Publisher: py-release.yml on k10works/keyten

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page