| @@ -1,63 +0,0 @@ | |||
| name: Build wheels | |||
| on: push | |||
| jobs: | |||
| build-linux: | |||
| runs-on: ubuntu-latest | |||
| steps: | |||
| - uses: actions/checkout@v4 | |||
| - name: Set up QEMU | |||
| uses: docker/setup-qemu-action@v1 | |||
| - name: Build manylinux2014 x86-64 wheels | |||
| uses: earwig/python-wheels-manylinux-build@latest-manylinux2014_x86_64 | |||
| with: | |||
| python-versions: 'cp39-cp39 cp310-cp310 cp311-cp311 cp312-cp312 cp313-cp313' | |||
| - name: Build manylinux 2014 aarch64 wheels | |||
| uses: earwig/python-wheels-manylinux-build@latest-manylinux2014_aarch64 | |||
| with: | |||
| python-versions: 'cp39-cp39 cp310-cp310 cp311-cp311 cp312-cp312 cp313-cp313' | |||
| - uses: actions/upload-artifact@v4 | |||
| with: | |||
| name: wheels-linux | |||
| path: dist/*.whl | |||
| - name: Publish package to PyPI | |||
| # Only actually publish if a new tag was pushed | |||
| if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags') | |||
| uses: pypa/gh-action-pypi-publish@37e305e7413032d8422456179fee28fac7d25187 | |||
| with: | |||
| user: __token__ | |||
| password: ${{ secrets.pypi_password }} | |||
| build-macos: | |||
| runs-on: macos-latest | |||
| strategy: | |||
| matrix: | |||
| python-version: | |||
| - '3.9' | |||
| - '3.10' | |||
| - '3.11' | |||
| - '3.12' | |||
| - '3.13' | |||
| steps: | |||
| - uses: actions/checkout@v4 | |||
| - uses: actions/setup-python@v5 | |||
| with: | |||
| python-version: ${{ matrix.python-version }} | |||
| - name: Build wheels | |||
| run: | | |||
| python -m pip install --upgrade pip wheel setuptools | |||
| pip wheel . -w dist/ | |||
| ls dist/ | |||
| - uses: actions/upload-artifact@v4 | |||
| with: | |||
| name: wheels-macos-${{ matrix.python-version }} | |||
| path: dist/*.whl | |||
| - name: Publish package to PyPI | |||
| # Only actually publish if a new tag was pushed | |||
| if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags') | |||
| # We can't use the pypa action because of https://github.com/pypa/gh-action-pypi-publish/issues/15 | |||
| run: | | |||
| pip install twine | |||
| TWINE_USERNAME="__token__" \ | |||
| TWINE_PASSWORD="${{ secrets.pypi_password }}" \ | |||
| twine upload dist/* | |||
| @@ -0,0 +1,36 @@ | |||
| name: Build | |||
| on: [push, pull_request] | |||
| jobs: | |||
| build-wheels: | |||
| name: Build wheels on ${{ matrix.os }} | |||
| runs-on: ${{ matrix.os }} | |||
| strategy: | |||
| matrix: | |||
| os: | |||
| - ubuntu-latest | |||
| - ubuntu-24.04-arm | |||
| - windows-latest | |||
| - macos-13 # intel | |||
| - macos-latest # arm64 | |||
| steps: | |||
| - uses: actions/checkout@v4 | |||
| - name: Build wheels | |||
| uses: pypa/cibuildwheel@v3.0.0 | |||
| - uses: actions/upload-artifact@v4 | |||
| with: | |||
| name: cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }} | |||
| path: ./wheelhouse/*.whl | |||
| # - name: Publish package to PyPI | |||
| # # Only actually publish if a new tag was pushed | |||
| # if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags') | |||
| # # We can't use the pypa action because of https://github.com/pypa/gh-action-pypi-publish/issues/15 | |||
| # run: | | |||
| # pip install twine | |||
| # TWINE_USERNAME="__token__" \ | |||
| # TWINE_PASSWORD="${{ secrets.pypi_password }}" \ | |||
| # twine upload dist/* | |||
| @@ -1,84 +0,0 @@ | |||
| # This config file is used by appveyor.com to build Windows release binaries | |||
| version: 0.7.1.dev0-b{build} | |||
| branches: | |||
| only: | |||
| - main | |||
| - /v\d+(\.\d+)*/ | |||
| image: Visual Studio 2022 | |||
| environment: | |||
| global: | |||
| # See: http://stackoverflow.com/a/13751649/163740 | |||
| WRAPPER: "cmd /E:ON /V:ON /C .\\scripts\\win_wrapper.cmd" | |||
| PYEXE: "%WRAPPER% %PYTHON%\\python.exe" | |||
| SETUPPY: "%PYEXE% setup.py --with-extension" | |||
| PIP: "%PYEXE% -m pip" | |||
| TWINE: "%PYEXE% -m twine" | |||
| PYPI_TOKEN: | |||
| secure: w9ql7j0y9fatBSCgsUn1MDFsDvc0WXY88K8hNBHZzq6uBPxWMd7ZblMZSJv4Nywr6ViudQCn4qM/Emm7R8UgKGnHeSX+B8V41ywKgbszEh9wKtuMWI5htsfjaD3Yib/dz/ynGDKEf3nkE6rP2j9bfVLMUARHmvztL+G2rUrjj2GQTqs0ddJ16OudDo2aA/ClsW1Zexc5GPgkun5+JFneUeVV59/bwORGfSjgEtoMyIQ8mdFs/My4sImC+jXFfSHD6s08anIuNX5KO6SSg5mwcxZq+1PweceHivJ87VvCI7w= | |||
| matrix: | |||
| - PYTHON: "C:\\Python39" | |||
| PYTHON_VERSION: "3.9" | |||
| PYTHON_ARCH: "32" | |||
| - PYTHON: "C:\\Python39-x64" | |||
| PYTHON_VERSION: "3.9" | |||
| PYTHON_ARCH: "64" | |||
| - PYTHON: "C:\\Python310" | |||
| PYTHON_VERSION: "3.10" | |||
| PYTHON_ARCH: "32" | |||
| - PYTHON: "C:\\Python310-x64" | |||
| PYTHON_VERSION: "3.10" | |||
| PYTHON_ARCH: "64" | |||
| - PYTHON: "C:\\Python311" | |||
| PYTHON_VERSION: "3.11" | |||
| PYTHON_ARCH: "32" | |||
| - PYTHON: "C:\\Python311-x64" | |||
| PYTHON_VERSION: "3.11" | |||
| PYTHON_ARCH: "64" | |||
| - PYTHON: "C:\\Python312" | |||
| PYTHON_VERSION: "3.12" | |||
| PYTHON_ARCH: "32" | |||
| - PYTHON: "C:\\Python312-x64" | |||
| PYTHON_VERSION: "3.12" | |||
| PYTHON_ARCH: "64" | |||
| - PYTHON: "C:\\Python313" | |||
| PYTHON_VERSION: "3.13" | |||
| PYTHON_ARCH: "32" | |||
| - PYTHON: "C:\\Python313-x64" | |||
| PYTHON_VERSION: "3.13" | |||
| PYTHON_ARCH: "64" | |||
| install: | |||
| - "%PIP% install --disable-pip-version-check --user --upgrade pip" | |||
| - "%PIP% install setuptools wheel twine pytest" | |||
| build_script: | |||
| - "%SETUPPY% build" | |||
| - "%SETUPPY% develop --user" | |||
| test_script: | |||
| - "%PYEXE% -m pytest" | |||
| after_test: | |||
| - "%SETUPPY% bdist_wheel" | |||
| on_success: | |||
| - "IF %APPVEYOR_REPO_TAG%==true %TWINE% upload dist\\* -u __token__ -p %PYPI_TOKEN%" | |||
| artifacts: | |||
| - path: dist\* | |||
| deploy: off | |||
| @@ -72,6 +72,9 @@ optional = true | |||
| [tool.setuptools_scm] | |||
| [tool.cibuildwheel] | |||
| build = ["cp3{9,10,11,12,13}-*"] | |||
| [tool.pyright] | |||
| pythonVersion = "3.9" | |||
| typeCheckingMode = "standard" | |||
| @@ -1,55 +0,0 @@ | |||
| :: To build extensions for 64 bit Python 3, we need to configure environment | |||
| :: variables to use the MSVC 2010 C++ compilers from GRMSDKX_EN_DVD.iso of: | |||
| :: MS Windows SDK for Windows 7 and .NET Framework 4 (SDK v7.1) | |||
| :: | |||
| :: To build extensions for 64 bit Python 2, we need to configure environment | |||
| :: variables to use the MSVC 2008 C++ compilers from GRMSDKX_EN_DVD.iso of: | |||
| :: MS Windows SDK for Windows 7 and .NET Framework 3.5 (SDK v7.0) | |||
| :: | |||
| :: 32 bit builds do not require specific environment configurations. | |||
| :: | |||
| :: Note: this script needs to be run with the /E:ON and /V:ON flags for the | |||
| :: cmd interpreter, at least for (SDK v7.0) | |||
| :: | |||
| :: More details at: | |||
| :: https://github.com/cython/cython/wiki/64BitCythonExtensionsOnWindows | |||
| :: http://stackoverflow.com/a/13751649/163740 | |||
| :: | |||
| :: Author: Olivier Grisel | |||
| :: License: CC0 1.0 Universal: http://creativecommons.org/publicdomain/zero/1.0/ | |||
| @ECHO OFF | |||
| SET COMMAND_TO_RUN=%* | |||
| SET WIN_SDK_ROOT=C:\Program Files\Microsoft SDKs\Windows | |||
| SET WIN_WDK=c:\Program Files (x86)\Windows Kits\10\Include\wdf | |||
| SET MAJOR_PYTHON_VERSION=%PYTHON_VERSION:~0,1% | |||
| SET MINOR_PYTHON_VERSION=%PYTHON_VERSION:~2% | |||
| IF %MAJOR_PYTHON_VERSION% == 2 ( | |||
| SET WINDOWS_SDK_VERSION="v7.0" | |||
| ) ELSE IF %MAJOR_PYTHON_VERSION% == 3 ( | |||
| SET WINDOWS_SDK_VERSION="v7.1" | |||
| IF %MINOR_PYTHON_VERSION% GEQ 5 ( | |||
| SET NO_SET_SDK_64=Y | |||
| ) | |||
| ) ELSE ( | |||
| ECHO Unsupported Python version: "%MAJOR_PYTHON_VERSION%" | |||
| EXIT 1 | |||
| ) | |||
| IF "%PYTHON_ARCH%"=="32" ( | |||
| call %COMMAND_TO_RUN% || EXIT 1 | |||
| ) ELSE IF "%NO_SET_SDK_64%"=="Y" ( | |||
| IF EXIST "%WIN_WDK%" ( | |||
| :: See: https://connect.microsoft.com/VisualStudio/feedback/details/1610302/ | |||
| REN "%WIN_WDK%" 0wdf | |||
| ) | |||
| call %COMMAND_TO_RUN% || EXIT 1 | |||
| ) ELSE ( | |||
| SET DISTUTILS_USE_SDK=1 | |||
| SET MSSdk=1 | |||
| "%WIN_SDK_ROOT%\%WINDOWS_SDK_VERSION%\Setup\WindowsSdkVer.exe" -q -version:%WINDOWS_SDK_VERSION% | |||
| "%WIN_SDK_ROOT%\%WINDOWS_SDK_VERSION%\Bin\SetEnv.cmd" /x64 /release | |||
| call %COMMAND_TO_RUN% || EXIT 1 | |||
| ) | |||