-
-
Notifications
You must be signed in to change notification settings - Fork 458
Closed
Labels
🐛 bugSomething isn't workingSomething isn't working
Description
Describe the bug
Defining a dependency as
dev = ["mdformat-py-edu-fr @ http://foss.heptapod.net/py-edu-fr/mdformat-py-edu-fr/-/archive/0.1.1/mdformat-py-edu-fr.tar.gz"]with use_uv, I get when locking
pdm.termui: Error occurs
Traceback (most recent call last):
File "/home/pierre/.local/share/uv/tools/pdm/lib/python3.12/site-packages/pdm/termui.py", line 259, in logging
yield logger
File "/home/pierre/.local/share/uv/tools/pdm/lib/python3.12/site-packages/pdm/cli/actions.py", line 137, in do_lock
resolved, new_groups = resolver.resolve()
^^^^^^^^^^^^^^^^^^
File "/home/pierre/.local/share/uv/tools/pdm/lib/python3.12/site-packages/pdm/resolver/uv.py", line 206, in resolve
return self._parse_uv_lock(uv_lock_path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/pierre/.local/share/uv/tools/pdm/lib/python3.12/site-packages/pdm/resolver/uv.py", line 170, in _parse_uv_lock
candidate.hashes.append(make_hash(wheel))
^^^^^^^^^^^^^^^^
File "/home/pierre/.local/share/uv/tools/pdm/lib/python3.12/site-packages/pdm/resolver/uv.py", line 136, in make_hash
link = Link(item["url"])
~~~~^^^^^^^
KeyError: 'url'
Indeed, the uv lock file contains:
[[package]]
name = "mdformat-py-edu-fr"
version = "0.1.1"
source = { url = "http://foss.heptapod.net/py-edu-fr/mdformat-py-edu-fr/-/archive/0.1.1/mdformat-py-edu-fr.tar.gz" }
dependencies = [
{ name = "jupytext" },
{ name = "mdformat-myst" },
]
sdist = { hash = "sha256:124488d1796a7ad5f98b1365fe00ff3e71846fd1f91d46e54f8b73c0cdbd78a1" }
I guess I could work on a workaround in pdm/resolver/uv.py (somewhere around https://github.com/pdm-project/pdm/blob/main/src/pdm/resolver/uv.py#L170) but I first like to have feedback on this bug and on the proper way to solve it.
To reproduce
Lock with use_uv and
dev = ["mdformat-py-edu-fr @ http://foss.heptapod.net/py-edu-fr/mdformat-py-edu-fr/-/archive/0.1.1/mdformat-py-edu-fr.tar.gz"]Expected Behavior
PDM should produce a lock file.
Environment Information
$ pdm info && pdm info --env
PDM version:
2.25.9
Python Interpreter:
/home/pierre/output/teach/py-edu-fr/books/intro-prog/.venv/bin/python (3.13)
Project Root:
/home/pierre/output/teach/py-edu-fr/books/intro-prog
Local Packages:
/home/pierre/output/teach/py-edu-fr/books/intro-prog/.venv/lib/python3.13/site
-packages
{
"implementation_name": "cpython",
"implementation_version": "3.12.10",
"os_name": "posix",
"platform_machine": "x86_64",
"platform_release": "6.1.0-40-amd64",
"platform_system": "Linux",
"platform_version": "#1 SMP PREEMPT_DYNAMIC Debian 6.1.153-1 (2025-09-20)",
"python_full_version": "3.13.7",
"platform_python_implementation": "CPython",
"python_version": "3.13",
"sys_platform": "linux"
}
Verbose Command Output
No response
Additional Context
No response
Are you willing to submit a PR to fix this bug?
- Yes, I would like to submit a PR.
Metadata
Metadata
Assignees
Labels
🐛 bugSomething isn't workingSomething isn't working