Skip to content

how to keep build and run dependencies in sync? #194

@lgarrison

Description

@lgarrison

Just noting that now that JAX is a build-time dependency as of #189, one might run into the following error if the build-time and run-time versions of JAX resolve differently:

RuntimeError: Unable to initialize backend 'cpu': INVALID_ARGUMENT: FFI handler registration for nufft1d1f on platform Host (canonical host) failed because the handler's API version (0.2) is incompatible with the framework's API version (0.1) (you may need to uninstall the failing plugin package, or set JAX_PLATFORMS=cpu to skip this backend.)

I don't think there's a general way to enforce consistent versions at build and run time, short of disabling build isolation. uv has the concept of match-runtime in the extra-build-dependencies, but that only seems to apply to build requirements of dependencies, not the current package (astral-sh/uv#16066).

Hopefully people won't run into this very often. The takeaway is probably that we need to publish CUDA wheels!

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