oxillama-py
Python bindings for OxiLLaMa — high-performance LLM inference from Python.
Part of the OxiLLaMa workspace — a Pure Rust LLM inference engine.
What It Provides
EngineConfig— configuration dataclass for thread count, context size, tokenizer path, and sampler defaultsEngine— load a GGUF model and generate text; releases the GIL during inferenceAsyncEngine— async/await interface; streams tokens to Python coroutines without blocking the event loopSamplerConfig— all ten sampler knobs withgreedy()andmirostat_v2()static constructorsSpeculativeConfig/SpeculativeEngine— draft + target model pair for faster generationLora— load a LoRA adapter and hot-swap it onto anEngineTokenizer— first-class tokenizer object withencode,decode,encode_batch,apply_chat_templateCancellationToken— cooperative cancellation handle accepted bygenerate()andgenerate_streaming()- Structured exception hierarchy:
OxiLlamaError→LoadError,GenerateError,TokenizerError,GrammarError,QuantError,KvCacheFullError,GpuUnavailableError(raised if GPU offload is ever requested and unavailable — there is currently no constructor kwarg to request it from Python, see below) - Full Python type annotations (
.pyistubs) and docstrings - Wheels built with maturin (ABI3, Python 3.8+)
- Optional numpy interop (
embed_numpy(),embed_batch_numpy(),forward_logits_numpy()) vianumpyfeature
Status
Version: 0.1.4 — Tests: 131 Rust unit tests passing (cargo nextest -p oxillama-py --all-features); see TODO.md for the separate Python pytest suite count
Installation
pip install maturin
maturin develop --release # in-place development install
# or
maturin build --release # build a wheel
pip install target/wheels/oxillama_py-*.whl
Usage
import oxillama_py as ox
# Load model
engine = ox.Engine("llama-3.2-3b.Q4_K_M.gguf")
# Basic generation (GIL is released during the Rust inference call)
output = engine.generate(
prompt="Tell me about the Rust programming language.",
max_new_tokens=256,
temperature=0.8,
top_p=0.95,
)
print(output)
# Streaming generation with a callback
engine.generate_streaming(
"Explain quantum computing.",
max_tokens=256,
callback=lambda tok: print(tok, end="", flush=True),
)
# Async engine (non-blocking, event-loop friendly)
import asyncio
async def run():
aengine = ox.AsyncEngine("llama-3.2-3b.Q4_K_M.gguf")
result = await aengine.generate("Hello async world", max_new_tokens=64)
print(result)
asyncio.run(run())
# Cooperative cancellation
token = ox.CancellationToken()
engine.generate_streaming("Tell me a story", max_tokens=1024,
callback=print, cancel_token=token)
token.cancel() # stop from another thread
# Speculative decoding: 3-8x faster on large models
draft = ox.Engine("llama-3.2-1b.Q4_K_M.gguf")
target = ox.Engine("llama-3.2-8b.Q4_K_M.gguf")
spec = ox.SpeculativeEngine(draft=draft, target=target, gamma=4)
output = spec.generate("Once upon a time", max_new_tokens=512)
print(output)
# LoRA adapter
lora = ox.Lora.load("my-adapter.gguf")
engine.apply_lora(lora)
output = engine.generate("Write a haiku.", max_new_tokens=64)
engine.remove_lora()
# Tokenizer
tokenizer = ox.Tokenizer.from_file("tokenizer.json")
ids = tokenizer.encode("Hello, world!")
text = tokenizer.decode(ids)
# HuggingFace Hub loader
engine = ox.Engine.from_hub("meta-llama/Llama-3.2-3B-GGUF")
Feature Flags
| Feature | Default | Description |
|---|---|---|
numpy |
no | numpy interop for embed_numpy(), embed_batch_numpy(), forward_logits_numpy() |
hub |
no | HuggingFace Hub loader (Engine.from_hub()) — required for the Hub example above |
License
Apache-2.0 — COOLJAPAN OU (Team Kitasan)
Metadata
Release files for oxillama 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| oxillama-0.1.4.tar.gz | 1.9 MB | With provenance | Details for oxillama-0.1.4.tar.gz |
Built distributions (wheels)
| File | Actions Reset | |||
|---|---|---|---|---|
| oxillama-0.1.4-cp38-abi3-win_amd64.whl | CPython 3.8 | abi3 | Windows x86-64 | Details for oxillama-0.1.4-cp38-abi3-win_amd64.whl |
| oxillama-0.1.4-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl | CPython 3.8 | abi3 | Linux glibc 2.17+ x86-64 | Details for oxillama-0.1.4-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
| oxillama-0.1.4-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl | CPython 3.8 | abi3 | Linux glibc 2.17+ ARM64 | Details for oxillama-0.1.4-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
| oxillama-0.1.4-cp38-abi3-macosx_11_0_arm64.whl | CPython 3.8 | abi3 | macOS 11.0+ ARM64 | Details for oxillama-0.1.4-cp38-abi3-macosx_11_0_arm64.whl |
| oxillama-0.1.4-cp38-abi3-macosx_10_12_x86_64.whl | CPython 3.8 | abi3 | macOS 10.12+ x86-64 | Details for oxillama-0.1.4-cp38-abi3-macosx_10_12_x86_64.whl |
Total release size: 16.6 MB
Release files / oxillama-0.1.4.tar.gz
| Download URL | oxillama-0.1.4.tar.gz |
|---|---|
| Size | 1.9 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2419017802b1604e0452e1a9e5b3a83e4acb2e0c779ee489d1149d3402408700
|
|
BLAKE2b-256 checksum How to use checksums |
1743f3895cc712260d0e534ec194f508f0eb02fe844fe3b363cf226331398d3f
|
| 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 Aug 17, 2026.
Transparency logRelease files / oxillama-0.1.4-cp38-abi3-win_amd64.whl
| Download URL | oxillama-0.1.4-cp38-abi3-win_amd64.whl |
|---|---|
| Size | 3.0 MB |
| Tags | CPython 3.8 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
9ae0fd067a068f7eecac542e878400df7e735426104a54d3dec1b4de98c54f6b
|
|
BLAKE2b-256 checksum How to use checksums |
b2e708585e3c77f3e353a1d8a5b289908d8dc56fefc2a286a30a90bae9a1a0ad
|
| 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 Aug 17, 2026.
Transparency logRelease files / oxillama-0.1.4-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | oxillama-0.1.4-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 3.1 MB |
| Tags | CPython 3.8 Linux glibc 2.17+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
60be8a0b457943e399371fe957b560edeb09c233f2eeea6aa879043060260792
|
|
BLAKE2b-256 checksum How to use checksums |
5483a9b34378409ba2f24d2193506632663f5733a311be62a9259e5b9448c8f4
|
| 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 Aug 17, 2026.
Transparency logRelease files / oxillama-0.1.4-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | oxillama-0.1.4-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 2.9 MB |
| Tags | CPython 3.8 Linux glibc 2.17+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
96cab8e48f57117e16fd5ea7a5f59a0e064728a98145bdaaaf3bb98d1cb14fa0
|
|
BLAKE2b-256 checksum How to use checksums |
ead7a4b896a724015332be3f898d93c3e752a62ee350a0aa77c686cd06584d22
|
| 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 Aug 17, 2026.
Transparency logRelease files / oxillama-0.1.4-cp38-abi3-macosx_11_0_arm64.whl
| Download URL | oxillama-0.1.4-cp38-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 2.8 MB |
| Tags | CPython 3.8 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
80c8bfc5d0ce6281665c8fbfc246ac5723d9d069c3eb0f1cc4afaae2cddb7564
|
|
BLAKE2b-256 checksum How to use checksums |
cf70d6add9d0fe527b6cd8a6fca91efb497d0197a06ab0ff2e033b0249d5563c
|
| 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 Aug 17, 2026.
Transparency logRelease files / oxillama-0.1.4-cp38-abi3-macosx_10_12_x86_64.whl
| Download URL | oxillama-0.1.4-cp38-abi3-macosx_10_12_x86_64.whl |
|---|---|
| Size | 2.9 MB |
| Tags | CPython 3.8 abi3 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
de66cd2609f624b40fc82c6d2df79f9bcc206c4f1c76a91805ccbfece5711177
|
|
BLAKE2b-256 checksum How to use checksums |
fb1eaf4e593c9c76468d4ceed937a46b8ff25c6b26b8ce5ecddde4370bb6a479
|
| 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 Aug 17, 2026.
Transparency logSecurity for oxillama 0.1.4
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.
Full provenance
All 6 files in this release have been uploaded with provenance metadata.
Attestation for oxillama-0.1.4.tar.gz
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 Aug 17, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.