diff --git a/.github/workflows/python-package-conda.yml b/.github/workflows/python-package-conda.yml index 026554d..e7f8b0e 100644 --- a/.github/workflows/python-package-conda.yml +++ b/.github/workflows/python-package-conda.yml @@ -2,6 +2,10 @@ name: Testing on: [push, pull_request] +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ !startsWith(github.ref, 'refs/tags') }} + jobs: build-and-test: name: Testing (${{ matrix.python-version }} on ${{ matrix.os }}) with ${{ matrix.solver }}. @@ -14,19 +18,19 @@ jobs: matrix: os: [ubuntu-latest, windows-latest, macOS-15-intel, macOS-latest] solver: [mumps, pardiso] - python-version : ['3.11', '3.12', '3.13', '3.14'] + python-version : ['3.12', '3.13', '3.14'] include: - os: ubuntu-latest - python-version: '3.13' + python-version: '3.14' full-test: true exclude: - os: macOS-latest solver: pardiso steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v7 - name: Setup Conda - uses: conda-incubator/setup-miniconda@v3 + uses: conda-incubator/setup-miniconda@v4 with: auto-update-conda: true channels: conda-forge @@ -74,27 +78,32 @@ jobs: - name: Upload coverage if: ${{ matrix.full-test }} - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@v7 with: + token: ${{ secrets.CODECOV_TOKEN }} verbose: true # optional (default = false) - env: - CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} distribute: name: Distributing needs: build-and-test if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags') runs-on: ubuntu-latest + environment: + name: pypi + url: https://pypi.org/p/pymatsolver + permissions: + contents: write # push docs to gh-pages + id-token: write # PyPI trusted publishing defaults: run: shell: bash -l {0} env: - PYTHON_VERSION: '3.13' + PYTHON_VERSION: '3.14' steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v7 - name: Setup Conda - uses: conda-incubator/setup-miniconda@v3 + uses: conda-incubator/setup-miniconda@v4 with: auto-update-conda: true channels: conda-forge @@ -124,7 +133,7 @@ jobs: cd .. - name: GitHub Pages - uses: crazy-max/ghaction-github-pages@v4 + uses: crazy-max/ghaction-github-pages@v5 with: build_dir: docs/_build/html jekyll: false @@ -135,6 +144,4 @@ jobs: - name: pypi-publish uses: pypa/gh-action-pypi-publish@release/v1 with: - user: __token__ - password: ${{ secrets.PYPI_API_TOKEN }} - skip_existing: true + skip-existing: true diff --git a/pyproject.toml b/pyproject.toml index 97f0791..5dcbd99 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta" name = 'pymatsolver' description = "pymatsolver: Matrix Solvers for Python" readme = 'README.rst' -requires-python = '>=3.10' +requires-python = '>=3.12' authors = [ {name = 'SimPEG developers', email = 'rowanc1@gmail.com'}, ] @@ -14,8 +14,8 @@ keywords = [ 'matrix solver', ] dependencies = [ - "numpy>=1.21", - "scipy>=1.8", + "numpy>=1.26", + "scipy>=1.11.2", "packaging", ] classifiers = [ @@ -24,6 +24,11 @@ classifiers = [ 'Intended Audience :: Science/Research', 'License :: OSI Approved :: MIT License', 'Programming Language :: Python', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3 :: Only', + 'Programming Language :: Python :: 3.12', + 'Programming Language :: Python :: 3.13', + 'Programming Language :: Python :: 3.14', 'Topic :: Scientific/Engineering', 'Topic :: Scientific/Engineering :: Mathematics', 'Topic :: Scientific/Engineering :: Physics',