Skip to content

Dependency resolution error when using a version not yet on PyPI #2093

@Andrew-S-Rosen

Description

@Andrew-S-Rosen

I have a Python package (quacc) that has a required dependency (ase). The most recent version of ase on PyPI is 3.22.1, but the master branch of ase is >3.22.1. Since the quacc package relies on features added since the last ase release, in the dependencies list in pyproject.toml of my quacc package, I have ase>3.22.1 to ensure that users won't have a silent failure when installing the package if they have an out-of-date dependency. However, uv does not like this at all (even though pip is perfectly content).

Reproduction with uv 0.1.13 on Ubuntu in a clean miniconda environment:

uv pip install "ase @ git+https://gitlab.com/ase/ase.git" # installs >3.22.1
uv pip install "quacc @ git+https://github.com/Quantum-Accelerators/quacc.git" # or `uv pip install quacc`

Traceback:

 Updated https://github.com/Quantum-Accelerators/quacc.git (8c55f09)                     × No solution found when resolving dependencies:
  ╰─▶ Because only ase<=3.22.1 is available and quacc==0.6.8 depends on ase>3.22.1,
      we can conclude that quacc==0.6.8 cannot be used.
      And because only quacc==0.6.8 is available and you require quacc, we can
      conclude that the requirements are unsatisfiable.

While it is true that only ase<=3.22.1 is available on PyPI, the current Python environment has ase>3.22.1, and that should have priority. uv should not try to be installing ase since it's already in my environment.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions