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.51-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.51-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.51-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for keyten-0.1.51-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8f15229aab58ed88578f13beb1bdc3e369d463b59177480aafe4c5b91bfc02c2
MD5 2abf5520e5ad864f955db2132a852ad4
BLAKE2b-256 28427807b81fa6e93b9ca426a413406ca8039ad5b76aa257731cb31bb0e39160

See more details on using hashes here.

Provenance

The following attestation bundles were made for keyten-0.1.51-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.51-cp311-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for keyten-0.1.51-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4a922f2fabccdce980147ca5007a2bf151b961990c049db91fae5641e9059921
MD5 ae7e7d4d2066946de732c334dd1690f2
BLAKE2b-256 c6e2107d5f387b4ca46ee28efcc63aa42c45511b2c14c7d21684417097453f3d

See more details on using hashes here.

Provenance

The following attestation bundles were made for keyten-0.1.51-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