docs(install): correct how the guard reaches a consumer, measured both ways
The v0.4.0 release commit claimed the [tool.uv.sources] entry "never reaches consumers". Measured against the pushed tag in clean environments, that is wrong in one direction and understated in the other: - uv, installing this package from git, DOES pick the guard up from the tag automatically. uv reads pyproject.toml when it builds from the source tree, so the source applies to the consumer too, not just to development here. - pip does not read it, and fails outright: "No matching distribution found for llm-ingestion-guard<0.3,>=0.2". The guard must be installed from its own tag FIRST. Verified that the guard-first order then installs cleanly and that the shipped adapter runs against the real guard in that environment. What did hold is the part that matters for the pin: the built wheel carries `Requires-Dist: llm-ingestion-guard<0.3,>=0.2`, so the range is still the declared dependency and the git URL is still a channel. README now states the pip order as the default instruction, with the uv shortcut beside it, because a consumer hitting the resolution error would otherwise read it as a broken release.
This commit is contained in:
parent
524ade78a6
commit
4ea00a902f
2 changed files with 25 additions and 9 deletions
|
|
@ -50,9 +50,14 @@ python_version = "3.10"
|
|||
module = ["llm_ingestion_guard", "llm_ingestion_guard.*"]
|
||||
ignore_missing_imports = true
|
||||
|
||||
# Development-time install CHANNEL for the guard, which is not on a package
|
||||
# index yet. It resolves `uv lock`/`uv sync` against the tag; it is uv-specific
|
||||
# and never reaches consumers — the built wheel carries the range from
|
||||
# [project.dependencies] above, which is the pin.
|
||||
# Install CHANNEL for the guard, which is not on a package index yet. It is
|
||||
# uv-specific, and it reaches further than a dev-only setting: measured
|
||||
# 2026-07-25, a consumer installing this package from git WITH UV picks the
|
||||
# guard up from this tag automatically, because uv reads this file when it
|
||||
# builds from the source tree. pip does not read it — it resolves
|
||||
# [project.dependencies] alone and fails with "No matching distribution found
|
||||
# for llm-ingestion-guard" until the guard is installed from its own tag first
|
||||
# (README). Either way the range above stays the pin: the built wheel carries
|
||||
# `Requires-Dist: llm-ingestion-guard<0.3,>=0.2`, verified against the wheel.
|
||||
[tool.uv.sources]
|
||||
llm-ingestion-guard = { git = "https://git.fromaitochitta.com/open/llm-ingestion-pipeline-security.git", tag = "v0.2.0" }
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue