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