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.
Feature request
https://docs.astral.sh/uv/concepts/projects/workspaces/
uvallows projects to define a workspace and reference local packages in the workspace as dependencies.For example:
Using such workspace dependencies in a bentoml project thus excludes it from using
pyproject.tomlbased configurations.Ideally,
bentoml buildcould 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.