Skip to content

📦 Implement PEP 517 setting for in-place builds#1590

Merged
webknjaz merged 2 commits intoaio-libs:masterfrom
webknjaz:packaging/in-tree-build-toggle
Oct 30, 2025
Merged

📦 Implement PEP 517 setting for in-place builds#1590
webknjaz merged 2 commits intoaio-libs:masterfrom
webknjaz:packaging/in-tree-build-toggle

Conversation

@webknjaz
Copy link
Member

@webknjaz webknjaz commented Oct 28, 2025

This patch adds a new config setting for controlling whether to build the project in-tree or in a temporary directory. It only affects wheels and is set up to build in a temporary directory by default. It does not affect editable wheel builds — they will keep being built in-tree regardless.

Example use:

$ python -m build \
   --config-setting=build-inplace=true

Are there changes in behavior for the user?

This will likely only be used by downstream packagers.

Related issue number

Checklist

  • I think the code is well written
  • Unit tests for the changes exist
  • Documentation reflects the changes

@codspeed-hq
Copy link

codspeed-hq bot commented Oct 28, 2025

CodSpeed Performance Report

Merging #1590 will not alter performance

Comparing webknjaz:packaging/in-tree-build-toggle (2e20137) with master (ee03bb7)

Summary

✅ 101 untouched

@codecov
Copy link

codecov bot commented Oct 28, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 99.57%. Comparing base (ee03bb7) to head (2e20137).
⚠️ Report is 27 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #1590   +/-   ##
=======================================
  Coverage   99.57%   99.57%           
=======================================
  Files          29       29           
  Lines        5853     5872   +19     
  Branches      266      266           
=======================================
+ Hits         5828     5847   +19     
  Misses         21       21           
  Partials        4        4           
Flag Coverage Δ
CI-GHA 99.57% <100.00%> (+<0.01%) ⬆️
MyPy 97.94% <100.00%> (+<0.01%) ⬆️
OS-Linux 99.80% <ø> (ø)
OS-Windows 99.48% <ø> (ø)
OS-macOS 99.68% <ø> (ø)
Py-3.10.11 99.45% <ø> (ø)
Py-3.10.18 99.70% <ø> (ø)
Py-3.11.13 99.70% <ø> (ø)
Py-3.11.9 99.45% <ø> (ø)
Py-3.12.10 99.45% <ø> (ø)
Py-3.12.11 99.70% <ø> (ø)
Py-3.13.7 99.75% <ø> (ø)
Py-3.13.9 99.65% <ø> (ø)
Py-3.13.9t 99.75% <ø> (ø)
Py-3.14.0 99.75% <ø> (ø)
Py-3.14.0t 99.75% <ø> (ø)
Py-3.9.13 99.41% <ø> (ø)
Py-3.9.23 99.65% <ø> (ø)
Py-pypy3.10.16-7.3.19 99.36% <ø> (ø)
Py-pypy3.9.19-7.3.16 99.33% <ø> (ø)
VM-macos-latest 99.68% <ø> (ø)
VM-ubuntu-latest 99.80% <ø> (ø)
VM-windows-latest 99.48% <ø> (ø)
pytest 99.80% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

webknjaz added a commit to webknjaz/yarl that referenced this pull request Oct 30, 2025
@webknjaz webknjaz force-pushed the packaging/in-tree-build-toggle branch from f3256ed to f26fb35 Compare October 30, 2025 00:12
@psf-chronographer psf-chronographer bot added the bot:chronographer:provided There is a change note present in this PR label Oct 30, 2025
@webknjaz webknjaz requested a review from Copilot October 30, 2025 00:15
@webknjaz webknjaz marked this pull request as ready for review October 30, 2025 00:15

This comment was marked as resolved.

This commit adds a new config setting for controlling whether to build
the project in-tree or in a temporary directory. It only affects
wheels and is set up to build in a temporary directory by default. It
does not affect editable wheel builds — they will keep being
built in-tree regardless.

Example use:
```console
$ python -m build \
   --config-setting=build-inplace=true
```

Refs:
* aio-libs/frozenlist#577
* aio-libs#1551
@webknjaz webknjaz force-pushed the packaging/in-tree-build-toggle branch from f56ff63 to 2e20137 Compare October 30, 2025 00:20
@webknjaz webknjaz merged commit 6cbe369 into aio-libs:master Oct 30, 2025
19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bot:chronographer:provided There is a change note present in this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants