* fix(style): use sub recommended replacement method
See https://docs.python.org/3/library/re.html#re.escape
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
* feat: add --build
* refactor: switch to using --only
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
* docs: cover --only
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
* docs: undo change to --plat for auditwheel
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
* (unrelated) speed up running the unit tests
based on a profile run, this speeds up the unit tests by 3x
* Remove `intercepted_build_args` reliance on `platform` fixture
* Add test that checks if 'only' overrides env var options
* Ensure that the --only command line option overrides env vars
* Fix UnboundLocalError
* Test cleanups
* style: typing.cast instead of plain cast
* feat: add only: to the GHA
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
Co-authored-by: Joe Rickerby <joerick@mac.com>
OCIContainer.container_engine -> OCIContainer.engine
OCIContainer.docker_image -> OCIContainer.image
Variables that refer to 'docker_images' have been renamed to
'container_images'
* add support for building wheels for windows on arm64
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Fix main_platform_test.py
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Remove unrequired explicit nuget source
* add python arm64 3.9.9 version
* extend update_pythons.py to add win/arm64 support
* update documentation for new win/arm64 platform
* style: include ARM64 in literal
* Fix python 3.9 identifier for win_arm64
* Fix table layout issues in README and add note about arm64 pip issue
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Henry Schreiner <HenrySchreinerIII@gmail.com>
* Add test for defaults, fix platform detection
* Improve correctness of reader.identifier with block
* Fix options test to be multiplatform
* 'Refactored by Sourcery'
docs: write a section on overrides
tests: test docker launches
feat: add identifiers to launches
test: add test for correct build step generation
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
* feat: configuration support
* refactor: include manylinux, minor redesign
* "project global" overrides "default platform"
This allows overriding `repair-wheel-command` in the `[tool.cibuildwheel.global]` section.
* fix: add PyPy images
* refactor: remove global
* fix: support tables and arrays
* docs: add pyproject.toml config to docs
* docs: updates based on feedback
* fix: only join if sensible
* refactor: remove manylinux dict
* docs: examples headers and sections on each
* feat: support changing the config from the command line
* fix: use {package}
* tests: add a few tests and mention config one more place
* Restyle examples tabs to remove indent
* Unrelated docs improvements
* Absorb extra content into the tab
* Make the tabs smaller and to the right
* Copy edits to options
* Fix header ids
* Use fewer [tool.cibuildwheel] headers
* docs: minor additions/fixes
* feat: disallow options on some platforms
* docs: make the examples a tiny bit more tabby
* fix: enforce tables/lists are optionally separate
* Some unrelated fixes to the other tab styling
* Minor fix to tab styling
* Refactor to make code a bit more linear and immutable
* Minor docs changes
Co-authored-by: mayeut <mayeut@users.noreply.github.com>
Co-authored-by: Joe Rickerby <joerick@mac.com>
* Add CPython 3.10 support
* Fix logger displaying CPython 3.1 instead of 3.10
* Fix tests failing with CPython 3.10
* Use pytest instead of nose
* feat: --pre flag
Apply suggestions from code review
Co-authored-by: Matthieu Darbois <mayeut@users.noreply.github.com>
* fix: update Python update script to process beta versions
* refactor: prerelease-pythons
* Use `strtobool` to parse `CIBW_PRERELEASE_PYTHONS` env var
* Update python version filtering for universal2 & arm64
* Filter out CPython 3.10 and above for `test_manylinuxXXXX_only[manylinux1]` test
* Use CIBW_BUILD filtering rather than CIBW_SKIP for test_docker_images
* Use skip_patterns to filter out pre-releases
* Use `prerelease_pythons` instead of `pre`
* Reword `CIBW_PRERELEASE_PYTHONS` doc per review.
* Use `CIBW_PRERELEASE_PYTHONS: True` for usage example.
* Update `cibuildwheel --help` doc
* docs: add note on spec.filter
* Clean up the BuildSelector __repr__ by refactoring
* fix: remove platform variants for CIBW_PRERELEASE_PYTHONS
* docs: mention the flag
Co-authored-by: Henry Schreiner <henryschreineriii@gmail.com>
Co-authored-by: Joe Rickerby <joerick@mac.com>
* feat: requires-python
refactor: updating to current proposal
fix: add tests and fix a few issues
docs: Update mostly from @joerick
docs: update README from readthedocs
* refactor: pull out config file reading
* fix: always assume highest Python patch version
* refactor: try new design
* refactor: function and bump MyPy to 0.800
* fix: tighten AST to call only, add docs
* fix: address review points from @joerick