diff --git a/.github/workflows/ci_cron_daily.yml b/.github/workflows/ci_cron_daily.yml index 30d701cf..31d483bd 100644 --- a/.github/workflows/ci_cron_daily.yml +++ b/.github/workflows/ci_cron_daily.yml @@ -35,7 +35,7 @@ jobs: matrix: include: - os: ubuntu-latest - python: '3.11' + python: '3.12' tox_env: 'linkcheck' allow_failure: false prefix: '' @@ -68,7 +68,7 @@ jobs: run: tox -e ${{ matrix.tox_env }} -- ${{ matrix.toxposargs }} - name: Upload coverage to codecov if: ${{ contains(matrix.tox_env, '-cov') }} - uses: codecov/codecov-action@v3 + uses: codecov/codecov-action@v4 with: files: ./coverage.xml verbose: true diff --git a/.github/workflows/ci_cron_weekly.yml b/.github/workflows/ci_cron_weekly.yml index 5fc94272..b1408b64 100644 --- a/.github/workflows/ci_cron_weekly.yml +++ b/.github/workflows/ci_cron_weekly.yml @@ -37,8 +37,8 @@ jobs: matrix: include: - os: ubuntu-latest - python: '3.11' - tox_env: 'py311-test-alldeps-devinfra' + python: '3.12' + tox_env: 'py312-test-alldeps-devinfra' allow_failure: false steps: diff --git a/.github/workflows/ci_tests.yml b/.github/workflows/ci_tests.yml index 5dd25e3b..a673cf4b 100644 --- a/.github/workflows/ci_tests.yml +++ b/.github/workflows/ci_tests.yml @@ -31,69 +31,69 @@ jobs: matrix: include: - os: ubuntu-latest - python: '3.9' - tox_env: 'py39-test-alldeps' + python: '3.10' + tox_env: 'py310-test-alldeps' allow_failure: false prefix: '' - os: ubuntu-latest - python: '3.10' - tox_env: 'py310-test-alldeps' + python: '3.11' + tox_env: 'py311-test-alldeps' allow_failure: false prefix: '' - os: ubuntu-latest - python: '3.11' - tox_env: 'py311-test-alldeps-cov' + python: '3.12' + tox_env: 'py312-test-alldeps-cov' toxposargs: --remote-data=any allow_failure: false prefix: '' - os: macos-latest - python: '3.11' - tox_env: 'py311-test-alldeps' + python: '3.12' + tox_env: 'py312-test-alldeps' allow_failure: false prefix: '' - os: macos-14 - python: '3.11' - tox_env: 'py311-test-alldeps' + python: '3.12' + tox_env: 'py312-test-alldeps' allow_failure: false prefix: 'M1' - os: windows-latest - python: '3.11' - tox_env: 'py311-test-alldeps' + python: '3.12' + tox_env: 'py312-test-alldeps' allow_failure: false prefix: '' - os: ubuntu-latest - python: '3.11' - tox_env: 'py311-test' + python: '3.12' + tox_env: 'py312-test' allow_failure: false prefix: '' - os: ubuntu-latest - python: '3.11' + python: '3.12' tox_env: 'codestyle' allow_failure: false prefix: '' - os: ubuntu-latest - python: '3.11' + python: '3.12' tox_env: 'pep517' allow_failure: false prefix: '' - os: ubuntu-latest - python: '3.11' + python: '3.12' tox_env: 'bandit' allow_failure: false prefix: '' - os: ubuntu-latest - python: '3.9' - tox_env: 'py39-test-oldestdeps' + python: '3.10' + tox_env: 'py310-test-oldestdeps' allow_failure: false prefix: '' @@ -125,7 +125,7 @@ jobs: run: tox -e ${{ matrix.tox_env }} -- ${{ matrix.toxposargs }} - name: Upload coverage to codecov if: ${{ contains(matrix.tox_env, '-cov') }} - uses: codecov/codecov-action@v3 + uses: codecov/codecov-action@v4 with: files: ./coverage.xml verbose: true diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 786044a9..8d9ba339 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -43,7 +43,6 @@ jobs: test_command: pytest -p no:warnings --pyargs regions targets: | # Linux wheels - - cp39-manylinux_x86_64 - cp310-manylinux_x86_64 - cp311-manylinux_x86_64 - cp312-manylinux_x86_64 @@ -51,18 +50,15 @@ jobs: # MacOS X wheels # Note that the arm64 wheels are not actually tested so we rely # on local manual testing of these to make sure they are ok. - - cp39*macosx_x86_64 - cp310*macosx_x86_64 - cp311*macosx_x86_64 - cp312*macosx_x86_64 - - cp39*macosx_arm64 - cp310*macosx_arm64 - cp311*macosx_arm64 - cp312*macosx_arm64 # Windows wheels - - cp39*win_amd64 - cp310*win_amd64 - cp311*win_amd64 - cp312*win_amd64 diff --git a/CHANGES.rst b/CHANGES.rst index f5cbf767..e5b46ea7 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -6,6 +6,16 @@ General - Added support for NumPy 2.0. +- The minimum required Python is now 3.10. [#547] + +- The minimum required NumPy is now 1.23. [#547] + +- The minimum required Astropy is now 5.1. [#547] + +- The minimum required pytest-astropy is now 0.11. [#547] + +- The minimum required sphinx-astropy is now 1.9. [#547] + New Features ------------ diff --git a/docs/install.rst b/docs/install.rst index c50276d2..d0a483df 100644 --- a/docs/install.rst +++ b/docs/install.rst @@ -7,18 +7,18 @@ Requirements Regions has the following strict requirements: -* `Python `_ 3.9 or later +* `Python `_ 3.10 or later -* `NumPy `_ 1.22 or later +* `NumPy `_ 1.23 or later -* `Astropy`_ 5.0 or later +* `Astropy`_ 5.1 or later Region also optionally depends on other packages for some features: * `Matplotlib `_ 3.5 or later Regions depends on `pytest-astropy -`_ (0.10 or later) and +`_ (0.11 or later) and `pytest-arraydiff `_ (0.3 or later) to run the test suite. diff --git a/pyproject.toml b/pyproject.toml index e46f8f8f..a6134e5c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -23,10 +23,10 @@ classifiers = [ 'Topic :: Scientific/Engineering :: Astronomy', ] dynamic = ['version'] -requires-python = '>=3.9' +requires-python = '>=3.10' dependencies = [ - 'numpy>=1.22', - 'astropy>=5.0', + 'numpy>=1.23', + 'astropy>=5.1', ] [project.urls] @@ -40,11 +40,11 @@ all = [ ] test = [ 'pytest-arraydiff', - 'pytest-astropy>=0.10', + 'pytest-astropy>=0.11', ] docs = [ 'regions[all]', - 'sphinx-astropy>=1.6', + 'sphinx-astropy>=1.9', 'tomli; python_version < "3.11"', ] diff --git a/tox.ini b/tox.ini index 6f1274e3..20d9ab9a 100644 --- a/tox.ini +++ b/tox.ini @@ -1,7 +1,7 @@ [tox] envlist = - py{39,310,311,312}-test{,-alldeps,-devdeps,-oldestdeps,-devinfra}{,-cov} - py{39,310,311,312}-test-numpy{122,123,124,125,126} + py{310,311,312}-test{,-alldeps,-devdeps,-oldestdeps,-devinfra}{,-cov} + py{310,311,312}-test-numpy{123,124,125,126} build_docs linkcheck codestyle @@ -40,7 +40,6 @@ description = devinfra: like devdeps but also dev version of infrastructure oldestdeps: with the oldest supported version of key dependencies cov: and test coverage - numpy122: with numpy 1.22.* numpy123: with numpy 1.23.* numpy124: with numpy 1.24.* numpy125: with numpy 1.25.* @@ -51,7 +50,6 @@ description = deps = cov: pytest-cov - numpy122: numpy==1.22.* numpy123: numpy==1.23.* numpy124: numpy==1.24.* numpy125: numpy==1.25.* @@ -60,10 +58,10 @@ deps = casa: :NRAO:casatools casa: :NRAO:casatasks - oldestdeps: numpy==1.22 - oldestdeps: astropy==5.0 + oldestdeps: numpy==1.23 + oldestdeps: astropy==5.1 oldestdeps: matplotlib==3.5 - oldestdeps: pytest-astropy==0.10 + oldestdeps: pytest-astropy==0.11 devdeps: numpy>=0.0.dev0 devdeps: matplotlib>=0.0.dev0