Skip to content

Support for uv's --resolution as an alternative to frozen constraints #28

@Stealthii

Description

@Stealthii

What's the problem this feature will solve?

Running tests against the minimum supported set of dependencies as defined by the package, utilising the resolution feature that uv offers.

Describe the solution you'd like

Providing a new configuration option called uv-resolution, letting this option be passed to uv when installing dependencies would enable the resolution of alternate or minimum dependencies without extra boilerplate or generated constraint lists.

[testenv:py38-mindeps]
uv_resolution = lowest-direct

Alternative Solutions

An existing use of hardcoded dependencies with the constrain_package_deps and/or use_frozen_constraints options exists, but has issues when used with tox-uv at present (tracked by #38):

[testenv:py38-mindeps]
constrain_package_deps = true
use_frozen_constraints = true
deps =
    ciso8601 == 2.2
    importlib-metadata == 1.4
    httpx == 0.24
py38-mindeps: install_package_deps> /opt/_internal/cpython-3.11.8/bin/uv pip install 'ciso8601~=2.2' 'httpx>=0.24' 'importlib-metadata>=1.4' 'pytest-cov>=4.0' 'pytest>=7.3' types-pkg_resources -c/app/.tox/py38-mindeps/constraints.txt
error: Unexpected 'xpected '-c', '-e', '-r' or the start of a requirement in `/app/.tox/py38-mindeps/constraints.txt` at position 0
py38-mindeps: exit 2 (0.10 seconds) /app> /opt/_internal/cpython-3.11.8/bin/uv pip install 'ciso8601~=2.2' 'httpx>=0.24' 'importlib-metadata>=1.4' 'pytest-cov>=4.0' 'pytest>=7.3' types-pkg_resources -c/app/.tox/py38-mindeps/constraints.txt pid=263

Additional context

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesthelp wantedExtra attention is needed

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions