kenoma
A shell powered by LLM completion.
Install
pip install kenoma
Or from source:
git clone https://github.com/a9lim/kenoma
cd kenoma
pip install -e .
For bitsandbytes quantization (CUDA only):
pip install kenoma[quantize]
Usage
kenoma # defaults to Qwen/Qwen2.5-0.5B
kenoma google/gemma-3n-E4B
kenoma /path/to/local/model
The model argument is any HuggingFace model id or a local path. This is meant for base/completion models, instruction-tuned models may not work properly.
Configuration
By precedence: CLI flags, then KENOMA_* environment variables, then a TOML config file at $XDG_CONFIG_HOME/kenoma/config.toml (falls back to ~/.config/kenoma/config.toml).
Example config:
model = "google/gemma-3n-E4B"
device = "auto"
temperature = 1.0
top_p = 0.95
repetition_penalty = 1.05
max_new_tokens = 2048
context_chars = 6000
history = 20
tmux_lines = 300
quantize = "none"
kv_cache = true
compile = false
The env var for any key is KENOMA_<KEY> uppercased, so KENOMA_MODEL=gpt2 kenoma works.
Flags:
--version: print version and exit.--prompt: override the capturedPS1. Multi-line prompts are not supported and fall back to a constructeduser@host:cwd $.--device {auto,cuda,mps,cpu}:autoresolves to cuda, then mps, then cpu.--quantize {none,4bit,8bit}: bitsandbytes quantization. Requires CUDA and thequantizeextra.--no-kv-cache: disable KV cache reuse across turns.--compile:torch.compilethe model with a static KV cache for faster decode (best on CUDA). The first turn pays a compile cost; cross-turn KV cache reuse is forfeited because the static cache doesn't exposecrop().--history N: seed with the last N commands from shell history (0 disables).--tmux-lines N: if inside tmux, seed with the last N lines of pane scrollback (0 disables).--context-chars N: cap the rolling buffer at N chars.--max-new-tokens N: per-turn cap on generated tokens.
Cancelling a turn. Ctrl-C during generation cancels the current turn, invalidates the KV cache, and redraws the prompt. Ctrl-C at the input prompt exits.
License
AGPL-3.0-or-later. See LICENSE.
Metadata
Release files for kenoma 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| kenoma-1.1.0.tar.gz | 46.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| kenoma-1.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 80.6 kB
Release files / kenoma-1.1.0.tar.gz
| Download URL | kenoma-1.1.0.tar.gz |
|---|---|
| Size | 46.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f626940112b256415600777ac6ec8fc66818e08dbb2d84e00ece482eabc3db51
|
|
BLAKE2b-256 checksum How to use checksums |
639b5c515ef1a578d6335a506b31b76fa2fca23c262928a040cce8a118450c4f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Apr 26, 2026.
Transparency logRelease files / kenoma-1.1.0-py3-none-any.whl
| Download URL | kenoma-1.1.0-py3-none-any.whl |
|---|---|
| Size | 34.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6eab392691eb480256bac1a2e96883cdc2b9c020fe0d71154d66e1c57d65c09b
|
|
BLAKE2b-256 checksum How to use checksums |
d6067e825a2c470ee01c63f851980cf62c6415ca9b47139b2a55894bb1557b8c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Apr 26, 2026.
Transparency log