Skip to content

bug/Dependency resolution discrepancy for numba #4216

@taylorn-ai

Description

@taylorn-ai

Describe the bug
When installing unstructured==0.18.31, different package managers resolve the numba dependency to different versions:

pip: Resolves to numba==0.63.1 (compatible with Python 3.12)
uv: Resolves to numba==0.53.1 (requires Python <3.10, incompatible with Python 3.12)
The package declares unstructured as supporting Python 3.10, 3.11, and 3.12 (per classifiers and Requires-Python: >=3.10.0), but the unpinned numba dependency in the package metadata allows resolver tools to select incompatible versions.

To Reproduce
Run uv pip install unstructured==0.18.31 in a new/clean virtual environment.

      RuntimeError: Cannot install on Python version 3.12.12; only versions >=3.6,<3.10 are supported.

      hint: This usually indicates a problem with the package or the build environment.
  help: `llvmlite` (v0.36.0) was included because `unstructured` (v0.18.31) depends on `numba` (v0.53.1) which depends on `llvmlite`

Expected behavior
Installation should complete without error

Suggested fix
Pin numba to >=0.63.0 in constraints.txt

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions