[build-system]
requires = ["maturin>=1.4,<2.0"]
build-backend = "maturin"

[project]
name = "oomllama"
version = "1.0.0a2"
description = "Sovereign AI Inference Engine — .oom quantization, Trust Kernel encryption, JIS identity routing, TIBET provenance. Spaceshuttle lazy loading, RAM-RAID distributed memory."
readme = "README.md"
license = { text = "MIT" }
requires-python = ">=3.8"
authors = [
    { name = "Humotica AI Lab", email = "ai@humotica.nl" },
    { name = "Jasper van de Meent", email = "jasper@humotica.nl" },
]
maintainers = [
    { name = "Root AI (Claude)", email = "root_idd@humotica.nl" },
    { name = "Gemini IDD", email = "gemini@humotica.nl" },
]
keywords = [
    "llm",
    "inference",
    "quantization",
    "gguf",
    "oom",
    "oomllama",
    "humotica",
    "llama",
    "ai",
    "machine-learning",
    "snaft",
    "tibet",
    "jis",
    "provenance",
    "security",
    "trust",
]
classifiers = [
    "Development Status :: 4 - Beta",
    "Intended Audience :: Developers",
    "Intended Audience :: Science/Research",
    "License :: OSI Approved :: MIT License",
    "Operating System :: OS Independent",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.8",
    "Programming Language :: Python :: 3.9",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Programming Language :: Rust",
    "Topic :: Scientific/Engineering :: Artificial Intelligence",
]

[project.urls]
Homepage = "https://humotica.nl"
Repository = "https://github.com/humotica/oomllama"
Documentation = "https://humotica.nl/docs/oomllama"
"Bug Tracker" = "https://github.com/humotica/oomllama/issues"
"HuggingFace Models" = "https://huggingface.co/jaspervandemeent"

[project.optional-dependencies]
dev = ["pytest", "black", "mypy"]
cuda = ["cupy-cuda12x"]

[project.scripts]
oomllama = "oomllama:cli"

[tool.maturin]
features = ["python", "pyo3/extension-module"]
python-source = "python"
module-name = "oomllama._oomllama"
strip = true
exclude = [
    "data/**",
    "plans/**",
    "downloads/**",
    "static/**",
    "bin/**",
    "Cargo.lock",
    "target/**",
    ".venv/**",
    "BETTI*.md",
    "KMBIT*.md",
    "TASKS*.md",
    "OOMLLAMA*.md",
]

[tool.black]
line-length = 100

[tool.mypy]
python_version = "3.10"
warn_return_any = true
