Skip to content

Installation

Keyten is distributed as a Python wheel. The current release supports CPython 3.11 and newer on:

  • 64-bit Linux on x86_64 (manylinux2014 / glibc 2.17 or newer)
  • macOS 11 or newer on Apple Silicon (arm64)

Install from PyPI:

python -m pip install keyten

Use the interpreter that will run your code. This matters when a machine has several Python installations.

Verify the install

import keyten as kt

print(kt.__version__)
assert kt.effective_workers() >= 1

keyten has no required Python dependencies. The query engine is inside the wheel, so importing it does not start a service or download another runtime.

Upgrade or pin a release

python -m pip install --upgrade keyten
python -m pip install "keyten==0.1.52"

Keyten is currently an alpha release. Pin the version in production environments and read the release notes before upgrading.

Build the wheel from source

Building requires access to the Keyten repository, Git, uv, and Rust 1.85 or newer:

git clone https://github.com/k10works/keyten.git
cd keyten
uv build --wheel py
uv pip install py/dist/keyten-*.whl

The root crate and Python binding are one Cargo workspace. The wheel therefore contains the engine from the same checkout, not a separately downloaded binary.

Installation problems

No matching distribution

pip could not find a wheel for the interpreter or machine. Check all three values:

python -c "import platform, sys; print(sys.version); print(platform.system(), platform.machine())"

Intel macOS, Windows, Linux on ARM, and 32-bit systems do not have published wheels yet. Build from source on a supported Rust target or run Keyten in a supported Linux environment.

The wrong Python received the package

Run python -m pip show keyten and python -c "import keyten; print(keyten.__file__)" with the same python command your application uses. Avoid a bare pip when more than one interpreter is installed.

Linux reports a loader or GLIBC error

The Linux wheel targets manylinux2014. Use a distribution with glibc 2.17 or newer. Musl-based distributions such as Alpine do not consume that wheel directly.