-
Notifications
You must be signed in to change notification settings - Fork 935
Description
Feature request
https://docs.astral.sh/uv/concepts/projects/workspaces/
uv allows projects to define a workspace and reference local packages in the workspace as dependencies.
For example:
[project]
# ...snip
dependencies = ["bird-feeder", "tqdm>=4,<5"]
[tool.uv.sources]
bird-feeder = { workspace = true }Using such workspace dependencies in a bentoml project thus excludes it from using pyproject.toml based configurations.
╰─ bentoml build .
...snip
INFO: Locking PyPI package versions.
INFO: Locking packages for x86_64-manylinux_2_36. Pass `--platform` option to specify the platform.
× No solution found when resolving dependencies:
╰─▶ Because bird-feeder was not found in the package registry and you require bird-feeder, we can conclude that your requirements are unsatisfiable.
Ideally, bentoml build could capture the uv workspaces and correctly add them as dependencies. The docs seem to suggest uv is already used under the hood for locking.
Motivation
Currently the only workaround is to use alternative build systems (e.g. building into wheels, then using a bentofile.yaml). Adding this would massively simplify the build process for those who utilize uv workspaces.
Other
Happy to contribute if help is desired, although can't make any promises about schedule.