gui.versions.pinned_version

gui.versions.pinned_version(root, package='spotregen')

The version of package that uv.lock in root pins.

Parameters

Name Type Description Default
root Path | str Repository root. required
package str The package to look up. 'spotregen'

Returns

Name Type Description
str | None str | None: The pinned version, or None if there is no readable uv.lock or it does not list the package.

Examples

from pathlib import Path
from tempfile import TemporaryDirectory

from spotregen import make_sample_repo
from spotregen.gui.versions import pinned_version

with TemporaryDirectory() as tmp:
    root = make_sample_repo(Path(tmp) / "demo")
    print(pinned_version(root))
    (root / "uv.lock").write_text(
        '[[package]]\nname = "spotregen"\nversion = "0.8.0"\n'
    )
    print(pinned_version(root))
None
0.8.0