Skip to content

Unsolvable dependency conflict between uvicorn and uvicorn-worker #5677

@EmilienM

Description

@EmilienM

Describe the bug

When installing feast>=0.54.0, the package resolver fails due to an unsolvable dependency conflict.

  • feast requires uvicorn[standard]<=0.34.0.
  • feast also requires uvicorn-worker.
  • Recent versions of uvicorn-worker (e.g., 0.4.0) require uvicorn>=0.36.0.

This creates a situation where no valid version of uvicorn can be found, causing the installation to fail.

To Reproduce

  1. Create a requirements.txt file with the following content:
    feast==0.54.0
    
  2. Attempt to install the dependencies using pip or uv:
    pip install -r requirements.txt
  3. The installation will fail with a dependency resolution error.

Expected behavior

The installation should complete successfully by finding a compatible set of packages.

Actual behavior

The package installation fails with a resolution error similar to this:

ERROR: Could not produce a pip compatible constraints file.

[...]

* No single version of uvicorn meets all requirements
  uvicorn[standard]<=0.34.0,>=0.30.6 matches ['0.34.0']
    feast==0.54.0
  uvicorn>=0.36.0 matches ['0.37.0']
    uvicorn-worker==0.4.0

System Information

  • Feast Version: 0.54.0
  • Python Version: 3.12
  • OS: RHEL 9.6

Proposed Solution / Workaround

A temporary workaround is to manually constrain the version of uvicorn-worker:

uvicorn-worker<=0.3.0

I think the long-term fix would be for Feast to remove any upper version caps.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions