Skip to content

Commit

Permalink
Merge pull request #217 from larsoner/aarch64
Browse files Browse the repository at this point in the history
ENH: Add aarch64 wheels
  • Loading branch information
arokem authored Jun 7, 2024
2 parents 88b8541 + f20cba6 commit 696b834
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 12 deletions.
25 changes: 20 additions & 5 deletions .github/workflows/wheels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,13 +58,21 @@ jobs:
fail-fast: false
matrix:
buildplat:
- [ubuntu-20.04, musllinux_x86_64]
- [macos-12, macosx_*]
- [windows-2019, win_amd64]
- [ubuntu-latest, musllinux_x86_64]
- [ubuntu-latest, manylinux_aarch64]
- [macos-13, macosx_x86_64] # native Intel hardware
- [windows-latest, win_amd64]
python: ["cp38", "cp39", "cp310", "cp311", "cp312"]
# No NumPy wheels on 3.8 aarch64 or musl
exclude:
- buildplat: [ubuntu-latest, manylinux_aarch64]
python: "cp38"
- buildplat: [ubuntu-latest, musllinux_x86_64]
python: "cp38"
include:
# Manylinux builds are cheap, do all in one
- { buildplat: ["ubuntu-20.04", "manylinux_x86_64"], python: "*" }
# Manylinux and arm64 builds (on native hardware) are cheap, do all in one
- { buildplat: ["ubuntu-latest", "manylinux_x86_64"], python: "*" }
- { buildplat: ["macos-14", "macosx_arm64"], python: "*" }

steps:
- uses: actions/checkout@v3
Expand All @@ -76,6 +84,13 @@ jobs:
- name: Update pip/pipx
run: pip install --upgrade pip pipx

# For aarch64 support
# https://cibuildwheel.pypa.io/en/stable/faq/#emulation
- uses: docker/setup-qemu-action@v3
with:
platforms: all
if: runner.os == 'Linux' && endsWith(matrix.buildplat[1], 'aarch64')

- name: Build wheel(s)
run: pipx run --spec "cibuildwheel>=2.15" cibuildwheel
env:
Expand Down
2 changes: 1 addition & 1 deletion doc/examples/multi_taper_spectral_estimation.py
Original file line number Diff line number Diff line change
Expand Up @@ -394,7 +394,7 @@ def dB(x, out=None):
.. [Welch1967] P.D. Welch (1967), The use of the fast fourier transform for the
estimation of power spectra: a method based on time averaging
over short modified periodograms. IEEE Transcations on Audio and
over short modified periodograms. IEEE Transactions on Audio and
Electroacoustics.
.. [Slepian1978] Slepian, D. Prolate spheroidal wave functions, Fourier
Expand Down
14 changes: 8 additions & 6 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,8 @@ requires = [
"setuptools",
"setuptools_scm[toml]>=6.2",
"cython",
# As of numpy 1.25, you can now build against older APIs.
# https://numpy.org/doc/stable/release/1.25.0-notes.html
"numpy>=1.25; python_version > '3.8'",
# Wheels need to be built with NumPy 2.0 to be compatible with 2.0 and 1.x
"numpy>=2.0.0rc1,<3; python_version > '3.8'",
# NEP29-minimum as of Aug 17, 2023 (1.25 doesn't support 3.8)
"numpy==1.22; python_version == '3.8'",
]
Expand Down Expand Up @@ -56,12 +55,15 @@ include = ["nitime*"]
write_to = "nitime/_version.py"

[tool.cibuildwheel]
# Disable PyPy
skip = "pp*"
# Disable PyPy, and no NumPy wheels for 3.8 Linux aarch64 or musl
skip = "pp* cp38-*_aarch64 cp38-musllinux_*"

# 64-bit builds only; 32-bit builds seem pretty niche these days, so
# don't bother unless someone asks
archs = ["auto64"]
archs = ["native"]

[tool.cibuildwheel.linux]
archs = ["x86_64", "aarch64"]

[tool.codespell]
skip = '.git,*.pdf,*.svg,go.sum,*.css'
Expand Down

0 comments on commit 696b834

Please sign in to comment.