diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml index 27472ee0..6df608c9 100644 --- a/.github/workflows/deploy.yaml +++ b/.github/workflows/deploy.yaml @@ -17,7 +17,7 @@ jobs: id-token: write steps: # yamllint disable-line rule:line-length - - uses: paddyroddy/.github/actions/python/deployment@cae02393710f18f5fbacd9545d1a38f0d661758e # v0 + - uses: paddyroddy/.github/actions/python/deployment@6630dca9555ad0bcebc93e0d9177aa416991fc97 # v0 with: pyproject-toml: ./pyproject.toml python-version: "3.12" diff --git a/.github/workflows/documentation.yaml b/.github/workflows/documentation.yaml index a9dccf70..243e034c 100644 --- a/.github/workflows/documentation.yaml +++ b/.github/workflows/documentation.yaml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-latest steps: # yamllint disable-line rule:line-length - - uses: paddyroddy/.github/actions/python/pdoc@cae02393710f18f5fbacd9545d1a38f0d661758e # v0 + - uses: paddyroddy/.github/actions/python/pdoc@6630dca9555ad0bcebc93e0d9177aa416991fc97 # v0 with: docs-dependency-section: .[docs] gh-pages-publish-directory: ./html/sleplet diff --git a/.github/workflows/examples.yaml b/.github/workflows/examples.yaml index df96a9e3..223f9a5f 100644 --- a/.github/workflows/examples.yaml +++ b/.github/workflows/examples.yaml @@ -19,43 +19,42 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout source - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 - name: Set up python - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5 + uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5 with: python-version: "3.12" cache: pip cache-dependency-path: pyproject.toml - name: Cache pooch - uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4 + uses: actions/cache@6849a6489940f00c2f30c0fb92c6274307ccb58a # v4 with: path: ~/.cache/sleplet key: readme-${{ hashFiles('pyproject.toml') }} - name: Install dependencies - run: python -m pip install -e ".[readme]" + run: python -m pip install -e '.[readme]' - name: Run examples in the README - run: >- - python -m pytest --codeblocks .github README.md documentation -n auto + run: python -m pytest --codeblocks .github README.md documentation examples: runs-on: ubuntu-latest steps: - name: Checkout source - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 - name: Set up python - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5 + uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5 with: python-version: "3.12" cache: pip cache-dependency-path: pyproject.toml - name: Cache pooch - uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4 + uses: actions/cache@6849a6489940f00c2f30c0fb92c6274307ccb58a # v4 with: path: ~/.cache/sleplet key: examples-${{ hashFiles('pyproject.toml') }} diff --git a/.github/workflows/licence.yaml b/.github/workflows/licence.yaml index 616768d9..efd53091 100644 --- a/.github/workflows/licence.yaml +++ b/.github/workflows/licence.yaml @@ -10,7 +10,7 @@ jobs: runs-on: ubuntu-latest steps: # yamllint disable-line rule:line-length - - uses: paddyroddy/.github/actions/licence@cae02393710f18f5fbacd9545d1a38f0d661758e # v0 + - uses: paddyroddy/.github/actions/licence@6630dca9555ad0bcebc93e0d9177aa416991fc97 # v0 with: github-token: ${{ secrets.GITHUB_TOKEN }} licence-file: ./LICENCE.txt diff --git a/.github/workflows/links.yaml b/.github/workflows/links.yaml index e433b438..1b8f4ad3 100644 --- a/.github/workflows/links.yaml +++ b/.github/workflows/links.yaml @@ -14,6 +14,6 @@ jobs: timeout-minutes: 2 steps: # yamllint disable-line rule:line-length - - uses: paddyroddy/.github/actions/links@cae02393710f18f5fbacd9545d1a38f0d661758e # v0 + - uses: paddyroddy/.github/actions/links@6630dca9555ad0bcebc93e0d9177aa416991fc97 # v0 with: github-token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/linting.yaml b/.github/workflows/linting.yaml index 2e0082f9..2208b027 100644 --- a/.github/workflows/linting.yaml +++ b/.github/workflows/linting.yaml @@ -13,6 +13,6 @@ jobs: runs-on: ubuntu-latest steps: # yamllint disable-line rule:line-length - - uses: paddyroddy/.github/actions/linting@cae02393710f18f5fbacd9545d1a38f0d661758e # v0 + - uses: paddyroddy/.github/actions/linting@6630dca9555ad0bcebc93e0d9177aa416991fc97 # v0 with: pre-commit-config: ./.pre-commit-config.yaml diff --git a/.github/workflows/paper.yaml b/.github/workflows/paper.yaml index bf8eef03..b1a16377 100644 --- a/.github/workflows/paper.yaml +++ b/.github/workflows/paper.yaml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 - name: Build draft PDF uses: openjournals/openjournals-draft-action@master @@ -23,7 +23,7 @@ jobs: - name: Upload # yamllint disable-line rule:line-length - uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4 + uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4 with: name: paper path: paper/paper.pdf diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 225cd438..2153415b 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -19,23 +19,21 @@ jobs: - macos-latest - ubuntu-latest python-version: - - "3.10" - "3.11" - "3.12" steps: # yamllint disable-line rule:line-length - - uses: paddyroddy/.github/actions/python/tox@cae02393710f18f5fbacd9545d1a38f0d661758e # v0 + - uses: paddyroddy/.github/actions/python/tox@6630dca9555ad0bcebc93e0d9177aa416991fc97 # v0 with: cache-path: |- .tox ~/.cache/sleplet - operating-system: ${{ matrix.os }} pyproject-toml: ./pyproject.toml python-version: ${{ matrix.python-version }} - name: Coveralls Parallel # yamllint disable-line rule:line-length - uses: coverallsapp/github-action@3dfc5567390f6fa9267c0ee9c251e4c8c3f18949 # v2 + uses: coverallsapp/github-action@cfd0633edbd2411b532b808ba7a8b5e04f76d2c8 # v2 with: flag-name: run-${{ matrix.os }}-${{ matrix.python-version }} parallel: true @@ -47,13 +45,11 @@ jobs: steps: - name: Coveralls Finished # yamllint disable-line rule:line-length - uses: coverallsapp/github-action@3dfc5567390f6fa9267c0ee9c251e4c8c3f18949 # v2 + uses: coverallsapp/github-action@cfd0633edbd2411b532b808ba7a8b5e04f76d2c8 # v2 with: parallel-finished: true # yamllint disable-line rule:quoted-strings carryforward: "\ - run-macos-latest-3.10,\ - run-ubuntu-latest-3.10,\ run-macos-latest-3.11,\ run-ubuntu-latest-3.11,\ run-macos-latest-3.12,\ diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index f93cd4d1..bf7280d7 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,7 +1,7 @@ --- repos: - repo: https://github.com/paddyroddy/.github - rev: v0.229.0 + rev: v0.241.0 hooks: - id: general-hooks - id: python-hooks diff --git a/CITATION.cff b/CITATION.cff index 9322fc7d..b0d9f6d5 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -7,6 +7,7 @@ doi: 10.5281/zenodo.7268074 message: >- If you use this software, please cite our article in the Journal of Open Source Software. +title: "SLEPLET: Slepian Scale-Discretised Wavelets in Python" preferred-citation: authors: - family-names: Roddy @@ -24,4 +25,3 @@ preferred-citation: type: article url: https://joss.theoj.org/papers/10.21105/joss.05221 volume: 8 -title: "SLEPLET: Slepian Scale-Discretised Wavelets in Python" diff --git a/pyproject.toml b/pyproject.toml index d1a64577..2270993e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -14,7 +14,6 @@ classifiers = [ "Operating System :: POSIX", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3 :: Only", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Topic :: Scientific/Engineering :: Image Processing", @@ -68,10 +67,9 @@ optional-dependencies = {dev = [ "pdoc3", ], readme = [ "pytest-codeblocks", - "pytest-xdist", ]} readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" scripts = {mesh = """\ sleplet._scripts.plotting_on_mesh:main\ """, sphere = """\ @@ -206,26 +204,24 @@ write_to = "src/sleplet/_version.py" overrides."project.classifiers".inline_arrays = false overrides."tool.coverage.paths.source".inline_arrays = false overrides."tool.ruff.lint.isort.section-order".inline_arrays = false +overrides."tool.tox.env_run_base.commands".inline_arrays = false [tool.tox] -legacy_tox_ini = """ - [gh-actions] - python = - 3.10: py310 - 3.11: py311 - 3.12: py312 - - [gh-actions:env] - OS = - ubuntu-latest: linux - macos-latest: macos - - [testenv] - commands = - pytest --cov --cov-report=lcov - deps = - pytest-cov - - [tox] - env_list = py{310,311,312}-{linux,macos} -""" +env_list = [ + "py311", + "py312", +] +env_run_base = {commands = [ + [ + "pytest", + "--cov", + "--cov-report=lcov", + ], +], deps = [ + "pytest-cov", +]} +gh.python = {"3.11" = [ + "py311", +], "3.12" = [ + "py312", +]}