diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 7757b7f9..b4d07e84 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -13,7 +13,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest] - python-version: ["3.11"] + python-version: ["3.14"] env: FC: gfortran @@ -21,9 +21,9 @@ jobs: name: Docs ${{ matrix.python-version }} on ${{ matrix.os }} runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0c3a8dd9..7f2b6879 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -17,16 +17,16 @@ jobs: fail-fast: false matrix: os: ["ubuntu-latest", "windows-latest"] - python-version: ["3.9", "3.10", "3.11", "3.12"] + python-version: ["3.9", "3.10", "3.12", "3.13", "3.14"] numpy_ver: ["latest"] test_config: ["latest"] include: # Support different GA Mac environmnets - python-version: "3.9" - os: "macos-13" + os: "macos-26-intel" numpy_ver: "latest" - python-version: "3.10" - os: "macos-13" + os: "macos-26-intel" numpy_ver: "latest" - python-version: "3.11" os: "macos-latest" @@ -34,18 +34,24 @@ jobs: - python-version: "3.12" os: "macos-latest" numpy_ver: "latest" + - python-version: "3.13" + os: "macos-latest" + numpy_ver: "latest" + - python-version: "3.14" + os: "macos-latest" + numpy_ver: "latest" # NEP29 compliance settings - - python-version: "3.10" - numpy_ver: "1.25" + - python-version: "3.11" + numpy_ver: "2.0" os: "ubuntu-latest" test_config: "NEP29" name: Python ${{ matrix.python-version }} on ${{ matrix.os }} with Numpy ${{ matrix.numpy_ver }} runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} architecture: 'x64' @@ -69,17 +75,17 @@ jobs: if: ${{ matrix.os == 'ubuntu-latest' }} run: pip install --upgrade-strategy only-if-needed .[test] - - name: Install on MacOS-13 - if: ${{ matrix.os == 'macos-13' }} - run: | - brew reinstall gcc@14 - CC=/usr/local/bin/gcc-14 pip install --upgrade-strategy only-if-needed .[test] - - name: Install on MacOS-Latest if: ${{ matrix.os == 'macos-latest' }} run: | - brew reinstall gcc@14 - CC=/opt/homebrew/bin/gcc-14 pip install --upgrade-strategy only-if-needed .[test] + brew reinstall gcc@15 + CC=/opt/homebrew/bin/gcc-15 pip install --upgrade-strategy only-if-needed .[test] + + - name: Install on MacOS-Intel + if: ${{ matrix.os == 'macos-26-intel'}} + run: | + brew reinstall gcc@15 + CC=/usr/local/bin/gcc-15 pip install --upgrade-strategy only-if-needed .[test] - name: Install on Windows if: ${{ matrix.os == 'windows-latest' }} diff --git a/.readthedocs.yml b/.readthedocs.yml index 19c2dd59..3904be50 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -8,7 +8,7 @@ version: 2 build: os: ubuntu-22.04 tools: - python: "3.11" + python: "3.14" # Build documentation in the docs/ directory with Sphinx sphinx: diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 5e3bc82d..005c5bc6 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -7,6 +7,7 @@ Changelog * Updated GitHub Actions versions and removed unused wheel upload * Fixed broken doc link * Added CITATION.cff as primary reference file, removed zenodo.json +* Updated supported Python versions and NEP29 testing 2.1.0 (2025-01-07) ------------------ diff --git a/README.rst b/README.rst index 8d8116ea..489f4a65 100644 --- a/README.rst +++ b/README.rst @@ -132,7 +132,7 @@ Badges :alt: Supported implementations :target: https://pypi.org/project/apexpy -.. |scrutinizer| image:: https://img.shields.io/scrutinizer/quality/g/aburrell/apexpy/main.svg?style=flat +.. |scrutinizer| image:: https://scrutinizer-ci.com/g/aburrell/apexpy/badges/quality-score.png?b=main :alt: Scrutinizer Status :target: https://scrutinizer-ci.com/g/aburrell/apexpy/ diff --git a/docs/conf.py b/docs/conf.py index cc381b02..cb0e5eac 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -53,3 +53,7 @@ napoleon_use_param = False extlinks = {'doi': ('http://dx.doi.org/%s', 'doi:%s')} + +# Set up hyperlinks to not check in unit tests due to 403 errors +linkcheck_ignore = [r'https://scrutinizer-ci.com', + r'https://zenodo.org'] diff --git a/docs/installation.rst b/docs/installation.rst index 344b87df..e44b82e7 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -26,7 +26,7 @@ Tested environments The package has been tested with the following setups (others might work, too): * Windows (64 bit Python), Linux (64 bit), and Mac (64 bit) -* Python 3.9, 3.10, 3.11, and 3.12 +* Python 3.9-3.14 Advanced Installation diff --git a/pyproject.toml b/pyproject.toml index 80eec3b0..8138bedc 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -47,6 +47,8 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Software Development :: Libraries", "Topic :: Scientific/Engineering :: Physics",