diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b2c5420..2a05100 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -59,7 +59,7 @@ jobs: fail-fast: false matrix: # macos-13 is an intel runner, macos-latest is apple silicon - os: [ubuntu-latest, ubuntu-24.04-arm, windows-latest, macos-13, macos-latest] + os: [ubuntu-latest, ubuntu-24.04-arm, windows-latest, windows-11-arm, macos-15-intel, macos-latest] steps: - uses: actions/checkout@v4 @@ -67,7 +67,7 @@ jobs: fetch-depth: "0" - name: Build wheels - uses: pypa/cibuildwheel@v2.22.0 + uses: pypa/cibuildwheel@v3.2.1 with: output-dir: dist-wheel-${{ matrix.os }} @@ -82,7 +82,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, windows-latest, macos-13, macos-14] + os: [ubuntu-latest, ubuntu-24.04-arm, windows-latest, macos-15-intel, macos-latest] # https://github.com/scipy/oldest-supported-numpy/blob/main/setup.cfg ver: - { py: "3.9", np: "==1.20.0" } @@ -90,11 +90,12 @@ jobs: - { py: "3.11", np: "==1.23.2" } - { py: "3.12", np: "==1.26.2" } - { py: "3.13", np: "==2.1.0" } - - { py: "3.13", np: ">=2.1.0" } + - { py: "3.14", np: "==2.3.2" } + - { py: "3.14", np: ">=2.3.2" } exclude: - - os: macos-14 + - os: macos-latest ver: { py: "3.9", np: "==1.20.0" } - - os: macos-14 + - os: macos-latest ver: { py: "3.10", np: "==1.21.6" } steps: - uses: actions/checkout@v4 diff --git a/CHANGELOG.md b/CHANGELOG.md index 4ebef20..3e700a4 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to **pentapy** will be documented in this file. +## [1.4.1] - 2025-10 + +See [#33](https://github.com/GeoStat-Framework/pentapy/pull/33) + +### Enhancements +- added support for python 3.14 + + ## [1.4.0] - 2025-05 See [#31](https://github.com/GeoStat-Framework/pentapy/pull/31) @@ -120,6 +128,7 @@ This is the first release of pentapy, a python toolbox for solving pentadiagonal The solver is implemented in cython, which makes it really fast. +[1.4.1]: https://github.com/GeoStat-Framework/pentapy/compare/v1.4.0...v1.4.1 [1.4.0]: https://github.com/GeoStat-Framework/pentapy/compare/v1.3.0...v1.4.0 [1.3.0]: https://github.com/GeoStat-Framework/pentapy/compare/v1.2.0...v1.3.0 [1.2.0]: https://github.com/GeoStat-Framework/pentapy/compare/v1.1.2...v1.2.0 diff --git a/pyproject.toml b/pyproject.toml index c9bef75..34b5c0e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,10 +1,9 @@ [build-system] requires = [ - "setuptools>=64", - "setuptools<72.2; implementation_name == 'pypy'", # https://github.com/pypa/distutils/issues/283 + "setuptools>=77", "setuptools_scm>=7", - "numpy>=2.0.0rc1", - "Cython>=3.0.10,<3.1.0", + "numpy>=2", + "Cython>=3", ] build-backend = "setuptools.build_meta" @@ -13,7 +12,8 @@ requires-python = ">=3.9" name = "pentapy" authors = [{name = "Sebastian Müller", email = "info@geostat-framework.org"}] readme = "README.md" -license = {text = "MIT"} +license = "MIT" +license-files = ["LICENSE"] dynamic = ["version"] description = "pentapy: A toolbox for pentadiagonal matrizes." classifiers = [ @@ -21,7 +21,6 @@ classifiers = [ "Intended Audience :: Developers", "Intended Audience :: End Users/Desktop", "Intended Audience :: Science/Research", - "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: Unix", "Programming Language :: Python", @@ -31,6 +30,7 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Programming Language :: Python :: 3 :: Only", "Topic :: Scientific/Engineering", "Topic :: Utilities", @@ -73,9 +73,6 @@ Tracker = "https://github.com/GeoStat-Framework/pentapy/issues" Changelog = "https://github.com/GeoStat-Framework/pentapy/blob/main/CHANGELOG.md" Conda-Forge = "https://anaconda.org/conda-forge/pentapy" -[tool.setuptools] -license-files = ["LICENSE"] - [tool.setuptools_scm] write_to = "src/pentapy/_version.py" write_to_template = "__version__ = '{version}'" @@ -145,8 +142,8 @@ max-line-length = 120 build-frontend = "build" # explicitly enable pypy enable = ["pypy"] -# Disable building py3.6/7/8, pp3.8, 32bit linux -skip = ["cp36-*", "cp37-*", "cp38-*", "pp38-*", "*_i686"] +# Disable building free-threaded versions and cp39/310 on windows-arm64 (no numpy support) +skip = ["cp31?t-*", "cp39-win_arm64", "cp310-win_arm64"] # Run the package tests using `pytest` test-extras = "test" test-command = "pytest -v {package}/tests"