Summary
I've run into a problem trying to lock a dependency which itself uses poetry and declares relative path dependencies. The package in question is a custom fork of DeepfilterNet here: https://github.com/benniekiss/DeepFilterNet
The package has a dependency on deepfilterlib via the relative path declared here. I implemented this change to make building DeepfilterNet standalone simpler for my dev setup, but this has resulted in issues with lock file generation.
Because of the path dependency, when the lockfile is generated, the deepfilterlib lock is something like this:
[[package]]
name = "deepfilterlib"
version = "0.5.7"
source = { directory = "/Users/benniekiss/.cache/uv/git-v0/checkouts/e42607f483442963/ba2260b/pyDF" }
This results in sync failures when trying to install on a different machine.
Is there a way to avoid this conflict without changing the packages dependencies, or is this expected behavior?
Here is a short MRE:
mkdir -p test_lock
cd test_lock
cat <<EOF > pyproject.toml
[project]
name = "test_lock"
version = "1"
requires-python = ">=3.13,<3.14"
dependencies = [
"deepfilternet",
]
[tool.uv.sources]
deepfilternet = [
{ git = "https://github.com/benniekiss/DeepFilterNet", subdirectory = "DeepFilterNet", branch = "dev" },
]
EOF
echo "LOCKING"
uv lock --no-cache
echo "SYNCING"
uv sync
Platform
macOS 26
Version
0.11.7
Python version
3.13
Summary
I've run into a problem trying to lock a dependency which itself uses poetry and declares relative path dependencies. The package in question is a custom fork of
DeepfilterNethere: https://github.com/benniekiss/DeepFilterNetThe package has a dependency on
deepfilterlibvia the relative path declared here. I implemented this change to make buildingDeepfilterNetstandalone simpler for my dev setup, but this has resulted in issues with lock file generation.Because of the path dependency, when the lockfile is generated, the
deepfilterliblock is something like this:This results in sync failures when trying to install on a different machine.
Is there a way to avoid this conflict without changing the packages dependencies, or is this expected behavior?
Here is a short MRE:
Platform
macOS 26
Version
0.11.7
Python version
3.13