skillfed

nox-uv

Facilitate nox integration with uv for Python projects

nox-uv v0.8.0 247.0K downloads/30d#8,702 on PyPI31
Permissive license MIT Active released

What it is and what it does

nox-uv bridges nox (a Python test automation tool) and uv (a fast Python package manager) by providing a drop-in replacement for nox's @session decorator that installs dependencies from a uv lockfile instead of resolving them at runtime. This ensures that all developers and CI systems run tests against identical dependency versions, eliminating the "works on my machine" problem.

The package adds parameters to the session decorator—uv_groups, uv_extras, uv_only_groups, and others—that let you specify which dependency groups and optional dependencies from your pyproject.toml should be installed into each test session. It uses uv sync under the hood, which is faster than pip and respects the locked versions in uv.lock. By default it also validates that the lockfile is up to date, catching cases where dependencies have drifted.

Use it for:

  • Run test suites across multiple Python versions (3.10–3.14) with locked dependencies to ensure reproducible CI results.
  • Separate development dependency groups (lint, type-check, test) in nox sessions without manual version management.
  • Validate that uv.lock stays synchronized with pyproject.toml during development and CI runs.
  • Speed up test session setup by using uv's faster dependency resolution instead of pip.
  • Manage optional dependencies and workspace packages in uv-based monorepos via nox sessions.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

nox-uv replaces nox's standard session decorator to install dependencies from a uv lockfile, ensuring reproducible test and development environments across Python versions.

Yes. If you use nox for test automation and uv for dependency management, nox-uv is the natural integration layer—it's lightweight, actively maintained, has no known vulnerabilities, and solves the real problem of keeping lockfile-based environments synchronized across test sessions. Install it if you want reproducible, fast test runs; skip it if you're not using both nox and uv.

Install

nox-uv on PyPI

pip

pip install nox-uv

uv

uv add nox-uv

poetry

poetry add nox-uv

Installing nox-uv

Before you install

Low friction: pure Python wheel with a single runtime dependency on nox. Actively maintained as of May 2026, with recent releases and no known vulnerabilities.

License in practice

MIT license permits unrestricted use, modification, and distribution in both open and closed projects.

Quickstart

# Install: uv add --group nox nox-uv
# In noxfile.py:
from nox import Session, options
from nox_uv import session

options.default_venv_backend = "uv"

@session(uv_groups=["test"])
def test(s: Session) -> None:
    s.run("python", "-m", "pytest")

Requires nox and uv to be installed; requires a uv.lock file in the project.

Verify before relying

  • Whether uv.lock validation (uv_sync_locked parameter) incurs meaningful performance overhead in CI pipelines.
  • Compatibility guarantees with nox versions prior to the package's first release (2025-04-05).

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 1 — nox
Maintenance actively maintained — 94 days since the last release
Last repo commit
First released
Downloads 246,978/month — #8,702 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: nox_uv-0.8.0-py3-none-any.whl

Keywords: nox, uv

Development Status :: 4 - BetaIntended Audience :: DevelopersOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Software Development :: TestingTyping :: Typed

Tags

nox uv integrationlockfile-based session managementreproducible test environmentsuv dependency resolution with noxnox venv backend uvpython testing with lockfiles
test-automationdependency-lockinguv-integration

More Testing packages