* Set SYSTEM_VERSION_COMPAT=0 during pip install on macos (#1767)
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Only set SYSTEM_VERSION_COMPAT=0 for CPython 3.8
* Set SYSTEM_VERSION_COMPAT=0 for CPython <= 3.8
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Update cibuildwheel/macos.py
Co-authored-by: Joe Rickerby <joerick@mac.com>
* Update cibuildwheel/macos.py
Co-authored-by: Joe Rickerby <joerick@mac.com>
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Joe Rickerby <joerick@mac.com>
* feat: add inherit to override
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
* refactor: use dict and support prepend
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
* Refactor: simplifying by splitting the responsibilities of _dig_first
* Refactor to allow merging of string settings, and preserve table cascades
* docs: add some docs for inherit
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
* Apply suggestions from code review
Co-authored-by: Joe Rickerby <joerick@mac.com>
---------
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
Co-authored-by: Joe Rickerby <joerick@mac.com>
* Edit path when building sdist package
This patch changes the working directory from the temp to the project
when building sdist package.This resolves issues with relative paths
in configuration files.
Resolves#1683
* Add a test for the `package` placeholder exposure
The change extends the existing test — `test_simple`. It checks that
the temporary wheel build directory is the project root extracted from
the source distribution. It does so by testing the presence of the
`setup.py` in the current working directory, as a side effect.
* Edit quotes in the CLI argument for Windows compatibility
Co-authored-by: Sviatoslav Sydorenko (Святослав Сидоренко) <wk.cvs.github@sydorenko.org.ua>
* Use single quotes to avoid syntax errors from f-string
Co-authored-by: Sviatoslav Sydorenko (Святослав Сидоренко) <wk.cvs.github@sydorenko.org.ua>
---------
Co-authored-by: Sviatoslav Sydorenko (Святослав Сидоренко) <wk.cvs.github@sydorenko.org.ua>
Historically, we required `--platform` when running cibuildwheel outside of CI, because cibuildwheel would attempt to globally install Python interpreters and some packages.
That was fixed in https://github.com/pypa/cibuildwheel/pull/974 a couple of years ago. As a result, there's no reason to require --platform these days, the `auto` behaviour is perfectly fine for dev machines.
It also makes running tests locally simpler, one can just do `pytest test/test_0_basic.py` (or `nox -s tests -- test/test_0_basic.py`) and not have to worry about setting CIBW_PLATFORM most of the time.
Reasons to do this:
- setuptools is no longer the only game in town. When cibuildwheel was created, setuptools was the only way to make wheels. these days, there are many build backends so special casing setuptools doesn't make so much sense
- we don't need to preinstall `wheel` any more, setuptools will do that itself when it needs it.
- projects with pyproject.toml (i.e. the vast majority of projects going forward) don't benefit from the pin anyway, because both `pip` and `build` create an isolated environment to install `build-system.requires` into.
- this makes it easier for end users (such as @webknjaz) to control build-system versions using `PIP_CONSTRAINT`, because there's less potential for a user-specified version to conflict with one of our pins.
- (long-term, I'd love `build` to [support this directly](https://github.com/pypa/build/issues/292), and then we could have a proper way to keep pyproject.toml dependencies loose and forward-compatible while retaining build determinism. But PIP_CONSTRAINT is the best we have for now. PIP_CONSTRAINT isn't ideal because it affects other things, like the test virtualenv).
This PR also adds a pin for pypa/build. It appears that was missing before, but we should pin it.
* fix(schema): small bug + prepare for SchemaStore
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
* fix(schema): schema kw is supposed to have a number sign
* fix(schema): differing conventions
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
---------
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>