Skip to content

Commit d8941c2

Browse files
authored
Merge pull request #211 from GeoStat-Framework/CIBW_update
CIBW: add support for py3.10 and Apple Silicon; use CIBWv2
2 parents ce978b8 + c5e8ff1 commit d8941c2

File tree

4 files changed

+43
-10
lines changed

4 files changed

+43
-10
lines changed

.github/workflows/main.yml

+13-8
Original file line numberDiff line numberDiff line change
@@ -46,24 +46,29 @@ jobs:
4646
python -m isort --check --diff --color .
4747
4848
build_wheels:
49-
name: wheels on ${{ matrix.os }}
50-
runs-on: ${{ matrix.os }}
49+
name: wheels for ${{ matrix.cfg.os }} / ${{ matrix.cfg.arch }}
50+
runs-on: ${{ matrix.cfg.os }}
5151
strategy:
5252
fail-fast: false
5353
matrix:
54-
os: [ubuntu-latest, windows-latest, macos-latest]
54+
cfg:
55+
- { os: ubuntu-latest, arch: x86_64 }
56+
- { os: ubuntu-latest, arch: i686 }
57+
- { os: windows-latest, arch: AMD64 }
58+
- { os: windows-latest, arch: x86 }
59+
- { os: macos-latest, arch: x86_64 }
60+
- { os: macos-latest, arch: arm64 }
61+
- { os: macos-latest, arch: universal2 }
5562

5663
steps:
5764
- uses: actions/checkout@v2
5865
with:
5966
fetch-depth: '0'
6067

6168
- name: Build wheels
62-
uses: pypa/cibuildwheel@v1.11.1.post1
69+
uses: pypa/cibuildwheel@v2.2.2
6370
env:
64-
CIBW_BUILD: cp36-* cp37-* cp38-* cp39-*
65-
CIBW_TEST_EXTRAS: test
66-
CIBW_TEST_COMMAND: pytest -v {project}/tests
71+
CIBW_ARCHS: ${{ matrix.cfg.arch }}
6772
with:
6873
output-dir: dist
6974

@@ -78,7 +83,7 @@ jobs:
7883
fail-fast: false
7984
matrix:
8085
os: [ubuntu-latest, windows-latest, macos-latest]
81-
python-version: [3.6, 3.7, 3.8, 3.9]
86+
python-version: ['3.6', '3.7', '3.8', '3.9', '3.10']
8287

8388
steps:
8489
- uses: actions/checkout@v2

CHANGELOG.md

+5-2
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,12 @@
33
All notable changes to **GSTools** will be documented in this file.
44

55

6-
## [1.3.4] - Pure Pink ?
6+
## [1.3.4] - Pure Pink - 2021-11
77

88
### Enhancements
99
- add GStools-Core as optional dependency [#215](https://github.com/GeoStat-Framework/GSTools/pull/215)
10+
- provide wheels for Python 3.10 [#211](https://github.com/GeoStat-Framework/GSTools/pull/211)
11+
- provide macOS wheels for Apple Silicon [#211](https://github.com/GeoStat-Framework/GSTools/pull/211)
1012

1113
### Changes
1214
- remove unnecessary `dim` argument in Cython code [#216](https://github.com/GeoStat-Framework/GSTools/issues/216)
@@ -319,7 +321,8 @@ See: [#197](https://github.com/GeoStat-Framework/GSTools/issues/197)
319321
First release of GSTools.
320322

321323

322-
[Unreleased]: https://github.com/GeoStat-Framework/gstools/compare/v1.3.3...HEAD
324+
[Unreleased]: https://github.com/GeoStat-Framework/gstools/compare/v1.3.4...HEAD
325+
[1.3.4]: https://github.com/GeoStat-Framework/gstools/compare/v1.3.3...v1.3.4
323326
[1.3.3]: https://github.com/GeoStat-Framework/gstools/compare/v1.3.2...v1.3.3
324327
[1.3.2]: https://github.com/GeoStat-Framework/gstools/compare/v1.3.1...v1.3.2
325328
[1.3.1]: https://github.com/GeoStat-Framework/gstools/compare/v1.3.0...v1.3.1

pyproject.toml

+16
Original file line numberDiff line numberDiff line change
@@ -68,3 +68,19 @@ target-version = [
6868
max-statements = 80
6969
max-attributes = 25
7070
max-public-methods = 75
71+
72+
[tool.cibuildwheel]
73+
# Switch to using build
74+
build-frontend = "build"
75+
# Disable building PyPy wheels on all platforms, 32bit for py3.10 and musllinux builds
76+
skip = "pp* cp310-win32 cp310-manylinux_i686 *-musllinux_*"
77+
# Run the package tests using `pytest`
78+
test-extras = "test"
79+
test-command = "pytest -v {package}/tests"
80+
# Skip trying to test arm64 builds on Intel Macs
81+
test-skip = "*-macosx_arm64 *-macosx_universal2:arm64"
82+
83+
[[tool.cibuildwheel.overrides]]
84+
# use manylinux2014 for py3.10
85+
select = "cp310-*"
86+
manylinux-x86_64-image = "manylinux2014"

setup.cfg

+9
Original file line numberDiff line numberDiff line change
@@ -16,19 +16,28 @@ classifiers =
1616
Intended Audience :: Developers
1717
Intended Audience :: End Users/Desktop
1818
Intended Audience :: Science/Research
19+
Intended Audience :: Education
1920
License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)
2021
Natural Language :: English
2122
Operating System :: Unix
23+
Operating System :: Microsoft
24+
Operating System :: MacOS
2225
Programming Language :: Python
2326
Programming Language :: Python :: 3
2427
Programming Language :: Python :: 3 :: Only
2528
Programming Language :: Python :: 3.6
2629
Programming Language :: Python :: 3.7
2730
Programming Language :: Python :: 3.8
2831
Programming Language :: Python :: 3.9
32+
Programming Language :: Python :: 3.10
2933
Topic :: Scientific/Engineering
34+
Topic :: Scientific/Engineering :: GIS
35+
Topic :: Scientific/Engineering :: Hydrology
36+
Topic :: Scientific/Engineering :: Mathematics
37+
Topic :: Scientific/Engineering :: Physics
3038
Topic :: Utilities
3139
project_urls =
40+
Homepage = https://geostat-framework.org/#gstools
3241
Documentation = https://gstools.readthedocs.io
3342
Source = https://github.com/GeoStat-Framework/GSTools
3443
Tracker = https://github.com/GeoStat-Framework/GSTools/issues

0 commit comments

Comments
 (0)