Skip to content

fix(setup): update auditwheel to 6.3.0 and wrap InWheel args in Path#3063

Open
Copilot wants to merge 2 commits intomainfrom
copilot/update-auditwheel-dependency
Open

fix(setup): update auditwheel to 6.3.0 and wrap InWheel args in Path#3063
Copilot wants to merge 2 commits intomainfrom
copilot/update-auditwheel-dependency

Conversation

Copy link
Copy Markdown

Copilot AI commented May 4, 2026

auditwheel 6.3.0 changed InWheel.__init__ to call .absolute() on its path arguments, requiring pathlib.Path instead of str. This broke the wheel-building step with AttributeError: 'str' object has no attribute 'absolute'.

Changes

  • pyproject.toml: bump auditwheel 6.2.06.3.0
  • setup.py: add from pathlib import Path; wrap InWheel arguments:
# before
with InWheel(in_wheel=wheelhouse_whl, out_wheel=whlfile):

# after
with InWheel(in_wheel=Path(wheelhouse_whl), out_wheel=Path(whlfile)):
Original prompt

update the auditwheel dep, you'll have to update some argument in setup.py apparently. make sure you branch off main, not this branch

Chronological Review: 1. User asked to merge open PRs (many dependabot) on microsoft/playwright-python. 2. Triaged 7 dependabot PRs; merged 3 green ones (#3049, #3041, #2994). 3. Posted `@dependabot rebase` then `@dependabot recreate` on remaining 4. 4. After waiting, merged 3 more (#2976, #2975, #2896). Left #2785 (auditwheel) open with real build failure. 5. User asked to fix the auditwheel bit. 6. Inspected setup.py — found InWheel usage at lines 85, 87, 176, 179. 7. User asked: "can we delegate it to the cloud?" — meaning use Copilot coding agent. 8. Agent confirmed yes, viewed setup.py lines 170-190 to gather context for the issue description. 9. Summarization triggered before agent could create the issue and assign to Copilot.

Intent Mapping:

  • "let's get them merged" — merge open dependabot PRs (largely done; 6/7 merged)
  • "please fix the auditwheel bit" — fix build(deps-dev): bump auditwheel from 6.2.0 to 6.4.2 #2785 build failure
  • "can we delegate it to the cloud?" — delegate the fix to Copilot coding agent rather than doing it locally

Technical Inventory:

  • gh CLI for PR review/merge/comment
  • GitHub MCP server for issue creation, job logs
  • microsoft/playwright-python repo, fork at Skn0tt/playwright-python
  • auditwheel 6.3.0 API change: InWheel(in_wheel=...) now requires pathlib.Path, not str. Error: AttributeError: 'str' object has no attribute 'absolute' at auditwheel/wheeltools.py:114.

Code Archaeology:

  • /Users/skn0tt/dev/microsoft/playwright-python/setup.py
    • Line 85: from auditwheel.wheeltools import InWheel
    • Line 87: InWheel = None (fallback)
    • Line 174-180: Loop wrapping wheels with InWheel:
      for whlfile in glob.glob(os.path.join(self.dist_dir, "*.whl")):
          os.makedirs("wheelhouse", exist_ok=True)
          if InWheel:
              wheelhouse_whl = os.path.join("wheelhouse", os.path.basename(whlfile))
              shutil.move(whlfile, wheelhouse_whl)
              with InWheel(in_wheel=wheelhouse_whl, out_wheel=whlfile):
                  print(f"Updating RECORD file of {whlfile}")
  • Fix needed: wrap wheelhouse_whl and whlfile in Path(...) (and add from pathlib import Path if missing).

Progress Assessment:

Recent Commands Analysis:

  • Last command: view on setup.py lines 170-190, returning the InWheel block context.
  • Prior: grep for "auditwheel|in_wheel|InWheel" in setup.py, returned the 4 lines listed above.
  • Pre-summary state: Agent had confirmed delegation to cloud is possible and was gathering context to write the issue body for Copilot.

Context Validation:

1. Conversation Overview: - Primary Objectives: - "there is a bunch of open PRs in this repo, many of them dependabot. let's get them merged." - "please fix the auditwheel bit" - "can we delegate it to the cloud?" (use Copilot coding agent rather than fix locally) - Session Context: Triaged + merged 6 of 7 open dependabot PRs on microsoft/playwright-python. Last remaining PR #2785 (auditwheel 6.2.0→6.3.0) has a real build failure requiring code fix in setup.py. User now wants the fix delegated to Copilot coding agent in the cloud. - User Intent Evolution: Merge sweep → fix the one real failure → delegate that fix to cloud agent.
  1. Technical Foundation:

    • GitHub repo: microsoft/playwright-python (Skn0tt is maintainer; fork at Skn0tt/playwright-python, local clone at /Users/skn0tt/dev/microsoft/playwright-python)
    • gh CLI authenticated as Skn0tt with repo/workflow scopes
    • GitHub MCP server available for issue creation, job logs, etc.
    • auditwheel 6.3.0 API change: InWheel(in_wheel=...) now requires pathlib.Path, not str. Triggers AttributeError: 'str' object has no attribute 'absolute' at auditwheel/wheeltools.py:114 (self.in_wheel = in_wheel.absolute()).
  2. Codebase Status:

    • /Users/skn0tt/dev/microsoft/playwright-python/setup.py:
      • Purpose: Build script that uses auditwheel's InWheel context manager to update RECORD files in built wheels.
      • Current State: Unmodified locally. Needs fix.
      • Key Code Segments:
        • Line 85: from auditwheel.wheeltools import InWheel
        • Line 87: InWheel = None (import fallback)
        • Lines 174-180:
          for whlfile in glob.glob(os.path.join(self.dist_dir, "*.whl")):
              os.makedirs("wheelhouse", exist_ok=True)
              if InWheel:
                  wheelhouse_whl = os.pa...

Created from Copilot CLI via the copilot delegate command.

Copilot AI changed the title [WIP] Update auditwheel dependency and modify setup.py arguments fix(setup): update auditwheel to 6.3.0 and wrap InWheel args in Path May 4, 2026
Copilot finished work on behalf of Skn0tt May 4, 2026 10:29
Copilot AI requested a review from Skn0tt May 4, 2026 10:29
@Skn0tt Skn0tt marked this pull request as ready for review May 4, 2026 10:31
@Skn0tt Skn0tt requested a review from dgozman May 4, 2026 10:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants