From 187de6b3172bc85d748a10e63e2622f2dee14e70 Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Wed, 8 Apr 2026 12:08:25 -0400 Subject: [PATCH 1/8] MAINT: updated Python support Extended Python support to 3.14. --- docs/installation.rst | 2 +- pyproject.toml | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) 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", From 9c7cc481d7cfe27a1344029d3099f41f06c5ef8e Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Wed, 8 Apr 2026 12:09:04 -0400 Subject: [PATCH 2/8] MAINT: updated docs testing Updated docs testing to use the latest Python and action versions. --- .github/workflows/docs.yml | 6 +++--- .readthedocs.yml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) 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/.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: From fd90ec056a93400320dd1ed7610bed0936b253be Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Wed, 8 Apr 2026 12:10:43 -0400 Subject: [PATCH 3/8] TST: updated unit test yaml Updated the unit test yaml to: - cover all supported Python versions, - use the best MacOS for each version, - use a newer version of gcc on MacOS, - use up-to-date Action versions, and - use the current NEP29 standards. --- .github/workflows/main.yml | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0c3a8dd9..3658e43b 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,11 @@ 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' }} + if: ${{ matrix.os == 'macos-latest' || matrix.os == 'macos-26-intel'}} 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 Windows if: ${{ matrix.os == 'windows-latest' }} From 5dd37431a016b12810c53e7acb22215a1cd9ca64 Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Wed, 8 Apr 2026 12:10:58 -0400 Subject: [PATCH 4/8] DOC: updated changelog Added a summary of the changes to the change log. --- CHANGELOG.rst | 1 + 1 file changed, 1 insertion(+) 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) ------------------ From 5438acb124224c61018db442528dcc5810adcbe7 Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Wed, 8 Apr 2026 13:04:52 -0400 Subject: [PATCH 5/8] BUG: update doc links Update the documentation links and ignored links. --- README.rst | 2 +- docs/conf.py | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) 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'] From 0d921c76ee796b96fd46ac1000dd0c34012dc336 Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Wed, 8 Apr 2026 13:07:09 -0400 Subject: [PATCH 6/8] BUG: added a debug statement Adding a debug statement to see what the complier is named. --- .github/workflows/main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 3658e43b..74b038a0 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -79,6 +79,7 @@ jobs: if: ${{ matrix.os == 'macos-latest' || matrix.os == 'macos-26-intel'}} run: | brew reinstall gcc@15 + ls /opt/homebrew/bin/gcc* CC=/opt/homebrew/bin/gcc-15 pip install --upgrade-strategy only-if-needed .[test] - name: Install on Windows From 5d2883bf5c7d9b14d033fe79dc0d7fb65564621d Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Wed, 8 Apr 2026 13:22:40 -0400 Subject: [PATCH 7/8] BUG: try different locations Try different homebrew locations. --- .github/workflows/main.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 74b038a0..21e4ec27 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -76,12 +76,17 @@ jobs: run: pip install --upgrade-strategy only-if-needed .[test] - name: Install on MacOS-Latest - if: ${{ matrix.os == 'macos-latest' || matrix.os == 'macos-26-intel'}} + if: ${{ matrix.os == 'macos-latest' }} run: | brew reinstall gcc@15 - ls /opt/homebrew/bin/gcc* 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=/opt/local/bin/gcc-15 pip install --upgrade-strategy only-if-needed .[test] + - name: Install on Windows if: ${{ matrix.os == 'windows-latest' }} run: | From 27cab1962e8e72ad994b55f651cdc0cf77daf8fb Mon Sep 17 00:00:00 2001 From: "Angeline G. Burrell" Date: Wed, 8 Apr 2026 13:33:42 -0400 Subject: [PATCH 8/8] BUG: try /usr/local Try /usr/local instead of /opt/local --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 21e4ec27..7f2b6879 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -85,7 +85,7 @@ jobs: if: ${{ matrix.os == 'macos-26-intel'}} run: | brew reinstall gcc@15 - CC=/opt/local/bin/gcc-15 pip install --upgrade-strategy only-if-needed .[test] + CC=/usr/local/bin/gcc-15 pip install --upgrade-strategy only-if-needed .[test] - name: Install on Windows if: ${{ matrix.os == 'windows-latest' }}