1
0
Fork 0
llm-ingestion-pipeline-secu.../pyproject.toml
Kjell Tore Guttormsen 73ad5e1ed8 release(0.4.0): the raise is breaking, so the number says so
okf answered the exposure question with a measured no — zero call sites for the
three capped surfaces anywhere in their src/, and their screen_output path
reaches only scan_output, which truncates. So the blast radius is zero and 0.3.5
would have hurt nobody.

It is still 0.4.0. Adding a raise to a previously total public function is
breaking under SemVer, and this file declares SemVer; a survey that comes back
clean tells you the upgrade is easy, not that the contract held. The version
number describes the change, not the luck of who happens to call it.

Cost, stated: 0.4.0 was penciled in for the axis separation. That moves to 0.5.0.
Tags are never moved, so the choice is made once.

README still advertises v0.3.4 — it is updated after a clean-venv install proves
the tag resolves, so the install block never points at something unproven.
2026-08-10 14:49:47 +02:00

38 lines
1.5 KiB
TOML

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "llm-ingestion-guard"
version = "0.4.0"
description = "Write-time defensive layer for Python pipelines that persist LLM output: sanitize, fence, tool-less quarantined transform, capability isolation, scan before persist, fail-secure."
readme = "README.md"
requires-python = ">=3.10"
license = { file = "LICENSE" }
authors = [{ name = "Kjell Tore Guttormsen" }]
keywords = ["llm", "security", "prompt-injection", "rag", "ingestion", "guardrails", "write-time"]
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Topic :: Security",
]
dependencies = [] # stdlib-only core — see design principle 1
[project.optional-dependencies]
ml = [] # pluggable embedding/classifier detectors (placeholder)
judge = [] # LLM-judge / source-grounding implementation (placeholder)
# Showcase-only extraction parsers for the two-stage OKF inbox demo (docs/PLAN.md
# §247). Deliberately in `dev`, NOT the core `dependencies` (which stays []) and
# NOT a public `[extract]` extra — the front-end is an in-repo demonstration, not
# v1 shipped code. They pull lxml/Pillow transitively; that footprint is dev-only.
dev = ["pytest>=8", "python-docx>=1.2", "python-pptx>=1.0", "openpyxl>=3.1"]
[tool.hatch.build.targets.wheel]
packages = ["src/llm_ingestion_guard"]
[tool.pytest.ini_options]
testpaths = ["tests"]
pythonpath = ["src"]
addopts = "-q"