Skip to content

Files included relatively in requirements.in file gets converted to absolute paths because of pip 25 upgrade #12632

@alexwlchan

Description

@alexwlchan

Is there an existing issue for this?

  • I have searched the existing issues

Package ecosystem

Python

Package manager version

uv 0.6.2 (6d3614eec 2025-02-19)

Language version

Python 3.13.1

Manifest location and content before the Dependabot update

I have a minimal example repo which demonstrates this issue: https://github.com/alexwlchan/dependabot-testing-2025-07-15/tree/main

  • requirements.in:

    authlib
    
  • dev_requirements.in

    -r requirements.in
    
    ruff
    

    (I should have written -r requirements.txt, but this line is relevant to this issue.)

  • requirements.txt:

    # This file was autogenerated by uv via the following command:
    #    uv pip compile requirements.in --output-file requirements.txt
    authlib==1.5.2
        # via -r requirements.in
    cffi==1.17.1
        # via cryptography
    cryptography==45.0.5
        # via authlib
    pycparser==2.22
        # via cffi
    
  • dev_requirements.txt:

    # This file was autogenerated by uv via the following command:
    #    uv pip compile dev_requirements.in --output-file dev_requirements.txt
    authlib==1.5.2
        # via -r requirements.in
    cffi==1.17.1
        # via cryptography
    cryptography==44.0.2
        # via authlib
    pycparser==2.22
        # via cffi
    ruff==0.12.1
        # via -r dev_requirements.in
    

dependabot.yml content

https://github.com/alexwlchan/dependabot-testing-2025-07-15/blob/main/.github/dependabot.yml

version: 2
updates:
  - package-ecosystem: "pip"
    directory: "/"
    schedule:
      interval: "daily"

Updated dependency

alexwlchan/dependabot-testing-2025-07-15#2

"Bumps ruff from 0.12.1 to 0.12.3."

What you expected to see, versus what you actually saw

The version number for ruff is updated, but nothing else.

This is the diff I'd expect:

 # This file was autogenerated by uv via the following command:
 #    uv pip compile dev_requirements.in --output-file dev_requirements.txt
 authlib==1.5.2
     # via -r requirements.in
 cffi==1.17.1
     # via cryptography
 cryptography==44.0.2
     # via authlib
 pycparser==2.22
     # via cffi
-ruff==0.12.1
+ruff==0.12.3
     # via -r dev_requirements.in

This is the diff I got:

 # This file was autogenerated by uv via the following command:
 #    uv pip compile dev_requirements.in --output-file dev_requirements.txt
 authlib==1.5.2
-    # via -r requirements.in
+    # via -r /home/dependabot/dependabot-updater/tmp/20250715-1355-wc4z3p/dependabot_20250715-1355-lk2w08/requirements.in
 cffi==1.17.1
     # via cryptography
 cryptography==44.0.2
     # via authlib
 pycparser==2.22
     # via cffi
-ruff==0.12.1
+ruff==0.12.3
     # via -r dev_requirements.in

Native package manager behavior

This looks like a weird interaction between pip-tools and pip – I see the same behaviour when using pip-tools locally (more notes below).

Images of the diff or a link to the PR, issue, or logs

Link to the relevant PR: alexwlchan/dependabot-testing-2025-07-15#2

Smallest manifest that reproduces the issue

Link to a minimal reproduction repo: https://github.com/alexwlchan/dependabot-testing-2025-07-15

Metadata

Metadata

Assignees

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions