uv Helpers¶
These helpers wrap the uv pip commands most often used in nox session
bootstrap. They are designed to compose cleanly: start with
setup_uv() for the common case, then drop to the lower-level helpers when you
need more control over how requirement files are compiled or installed.
liblaf.nox_recipes.Resolution
¶
Bases: StrEnum
flowchart TD
liblaf.nox_recipes.Resolution[Resolution]
click liblaf.nox_recipes.Resolution href "" "liblaf.nox_recipes.Resolution"
Dependency resolution strategies supported by uv pip.
Attributes:
-
HIGHEST–Prefer the newest compatible versions.
-
LOWEST–Prefer the oldest compatible versions across the graph.
-
LOWEST_DIRECT–Prefer the oldest compatible versions for direct dependencies while still allowing newer transitive requirements when needed.
liblaf.nox_recipes.setup_uv
¶
setup_uv(
s: Session,
*,
extras: Iterable[str] = (),
all_extras: bool = False,
groups: Iterable[str] = (),
resolution: Resolution | None = None,
quiet: bool = True,
) -> None
Create and sync a session environment from pyproject.toml.
setup_uv() is the high-level helper for most projects. It compiles a
constraints file, compiles the requested requirements against those
constraints, syncs the session environment, and finally installs the current
project in editable mode.
Parameters:
-
(s¶Session) –The active
noxsession. -
(extras¶Iterable[str], default:()) –Project extras to include while compiling and installing.
-
(all_extras¶bool, default:False) –Whether to include every defined extra.
-
(groups¶Iterable[str], default:()) –Dependency groups to include when compiling the session requirements.
-
(resolution¶Resolution | None, default:None) –Optional dependency resolution strategy for the initial constraints compile.
-
(quiet¶bool, default:True) –Whether to ask
uvfor quieter output.
Source code in src/liblaf/nox_recipes/_uv.py
liblaf.nox_recipes.uv_pip_compile
¶
uv_pip_compile(
s: Session,
*options: StrPath,
constraints: Iterable[StrPath] = (),
extras: Iterable[str] = (),
all_extras: bool = False,
groups: Iterable[str] = (),
output_file: StrPath | None = None,
resolution: Resolution | None = None,
quiet: bool = True,
) -> None
Run uv pip compile against the current project's pyproject.toml.
Parameters:
-
(s¶Session) –The active
noxsession. -
(*options¶StrPath, default:()) –Additional command-line options appended before
pyproject.toml. -
(constraints¶Iterable[StrPath], default:()) –Compiled requirement files passed with
--constraints. -
(extras¶Iterable[str], default:()) –Project extras enabled during compilation.
-
(all_extras¶bool, default:False) –Whether to enable every defined extra.
-
(groups¶Iterable[str], default:()) –Dependency groups enabled during compilation.
-
(output_file¶StrPath | None, default:None) –Optional destination file passed with
--output-file. -
(resolution¶Resolution | None, default:None) –Optional dependency resolution strategy for
uv. -
(quiet¶bool, default:True) –Whether to ask
uvfor quieter output.
Source code in src/liblaf/nox_recipes/_uv.py
liblaf.nox_recipes.uv_pip_sync
¶
Run uv pip sync for one or more compiled requirement files.
Parameters:
-
(s¶Session) –The active
noxsession. -
(*src_files¶StrPath, default:()) –Requirement files consumed by
uv pip sync. -
(quiet¶bool, default:True) –Whether to ask
uvfor quieter output.
Source code in src/liblaf/nox_recipes/_uv.py
liblaf.nox_recipes.uv_pip_install
¶
uv_pip_install(
s: Session,
*options: StrPath,
constraints: Iterable[StrPath] = (),
editables: Iterable[str] = (),
extras: Iterable[str] = (),
all_extras: bool = False,
groups: Iterable[str] = (),
no_deps: bool = False,
resolution: Resolution | None = None,
quiet: bool = True,
) -> None
Run uv pip install with session-oriented defaults.
Parameters:
-
(s¶Session) –The active
noxsession. -
(*options¶StrPath, default:()) –Additional command-line options forwarded to
uv pip install. -
(constraints¶Iterable[StrPath], default:()) –Compiled requirement files passed with
--constraints. -
(editables¶Iterable[str], default:()) –Editable paths installed with
--editable. -
(extras¶Iterable[str], default:()) –Project extras enabled during installation.
-
(all_extras¶bool, default:False) –Whether to enable every defined extra.
-
(groups¶Iterable[str], default:()) –Dependency groups enabled during installation.
-
(no_deps¶bool, default:False) –Whether to pass
--no-deps. -
(resolution¶Resolution | None, default:None) –Optional dependency resolution strategy for
uv. -
(quiet¶bool, default:True) –Whether to ask
uvfor quieter output.