Skip to content

Commit b14c2bc

Browse files
committed
bump python version
Signed-off-by: nstarman <nstarman@users.noreply.github.com>
1 parent 36d88ec commit b14c2bc

13 files changed

Lines changed: 57 additions & 53 deletions

File tree

.circleci/config.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
jobname:
1313
type: string
1414
docker:
15-
- image: cimg/python:3.9
15+
- image: cimg/python:3.10
1616
environment:
1717
TOXENV=<< parameters.jobname >>
1818
steps:
@@ -47,7 +47,7 @@ jobs:
4747
jobname:
4848
type: string
4949
docker:
50-
- image: cimg/python:3.9
50+
- image: cimg/python:3.10
5151
environment:
5252
TOXENV: << parameters.jobname >>
5353
GIT_SSH_COMMAND: ssh -i ~/.ssh/id_rsa_bfaaefe38d95110b75c79252bafbe0fc
@@ -86,16 +86,16 @@ workflows:
8686
matrix:
8787
parameters:
8888
jobname:
89-
- "py39-test-image-mpl334-cov"
90-
- "py39-test-image-mpldev-cov"
89+
- "py310-test-image-mpl334-cov"
90+
- "py310-test-image-mpldev-cov"
9191

9292
- deploy-reference-images:
9393
name: baseline-<< matrix.jobname >>
9494
matrix:
9595
parameters:
9696
jobname:
97-
- "py39-test-image-mpl334-cov"
98-
- "py39-test-image-mpldev-cov"
97+
- "py310-test-image-mpl334-cov"
98+
- "py310-test-image-mpldev-cov"
9999
requires:
100100
- << matrix.jobname >>
101101
filters:

.github/workflows/ci_cron_daily.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,13 +42,13 @@ jobs:
4242
include:
4343
- name: Bundling with pyinstaller
4444
os: ubuntu-latest
45-
python: 3.9
45+
python: '3.10'
4646
toxenv: pyinstaller
4747

48-
- name: Python 3.11 with all optional dependencies and pre-releases
48+
- name: Python 3.12 with all optional dependencies and pre-releases
4949
os: ubuntu-latest
50-
python: '3.11'
51-
toxenv: py311-test-alldeps-predeps
50+
python: '3.12'
51+
toxenv: py312-test-alldeps-predeps
5252
toxargs: -v
5353
toxposargs: --remote-data=any
5454

.github/workflows/ci_cron_weekly.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,10 @@ jobs:
5555
python: '3.11'
5656
toxenv: py311-test-devdeps-noscipy
5757

58-
- name: Python 3.11 with dev version of infrastructure dependencies
58+
- name: Python 3.12 with dev version of infrastructure dependencies
5959
os: ubuntu-latest
60-
python: '3.11'
61-
toxenv: py311-test-devinfra
60+
python: '3.12'
61+
toxenv: py312-test-devinfra
6262

6363
- name: Documentation link check
6464
os: ubuntu-latest
@@ -68,7 +68,7 @@ jobs:
6868
# This is sensitive to Python version.
6969
- name: Run flynt to check string formatting
7070
os: ubuntu-latest
71-
python: '3.10'
71+
python: '3.11'
7272
toxenv: flynt
7373

7474
steps:
@@ -101,7 +101,7 @@ jobs:
101101
# of using system libraries and using pytest directly.
102102

103103
runs-on: ubuntu-20.04
104-
name: Python 3.11
104+
name: Python 3.12
105105
if: (github.repository == 'astropy/astropy' && (github.event_name == 'schedule' || github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'Extra CI')))
106106
env:
107107
ARCH_ON_CI: ${{ matrix.arch }}

.github/workflows/ci_workflows.yml

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -62,12 +62,12 @@ jobs:
6262
envs: |
6363
# NOTE: this coverage test is needed for tests and code that
6464
# run only with minimal dependencies.
65-
- name: Python 3.11 with minimal dependencies and full coverage
66-
linux: py311-test-cov
65+
- name: Python 3.12 with minimal dependencies and full coverage
66+
linux: py312-test-cov
6767
coverage: codecov
6868
69-
- name: Python 3.10 in Parallel with all optional dependencies
70-
linux: py310-test-alldeps-fitsio
69+
- name: Python 3.11 in Parallel with all optional dependencies
70+
linux: py311-test-alldeps-fitsio
7171
libraries:
7272
apt:
7373
- language-pack-fr
@@ -76,21 +76,21 @@ jobs:
7676
toxargs: -v --develop
7777
posargs: -n=4 --run-slow
7878
79-
- name: Python 3.9 with oldest supported version of all dependencies
80-
linux: py39-test-oldestdeps-alldeps-cov-clocale
79+
- name: Python 3.10 with oldest supported version of all dependencies
80+
linux: py310-test-oldestdeps-alldeps-cov-clocale
8181
posargs: --remote-data=astropy
8282
coverage: codecov
8383
84-
- name: Python 3.10 with all optional dependencies (Windows)
85-
windows: py310-test-alldeps
84+
- name: Python 3.11 with all optional dependencies (Windows)
85+
windows: py311-test-alldeps
8686
posargs: --durations=50
8787
88-
- name: Python 3.10 with all optional dependencies (MacOS X)
89-
macos: py310-test-alldeps
88+
- name: Python 3.11 with all optional dependencies (MacOS X)
89+
macos: py311-test-alldeps
9090
posargs: --durations=50 --run-slow
9191
92-
- name: Python 3.9 Double test (Run tests twice)
93-
linux: py39-test-double
92+
- name: Python 3.10 Double test (Run tests twice)
93+
linux: py310-test-double
9494
9595
allowed_failures:
9696
needs: [initial_checks]
@@ -111,6 +111,6 @@ jobs:
111111
posargs: --remote-data=any --verbose
112112
113113
# https://github.com/matplotlib/matplotlib/issues/26847
114-
- name: (Allowed Failure) Python 3.11 with dev version of matplotlib
115-
linux: py311-test-mpldev
114+
- name: (Allowed Failure) Python 3.12 with dev version of matplotlib
115+
linux: py312-test-mpldev
116116
posargs: --verbose

.github/workflows/codeql-analysis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ jobs:
6969
uses: actions/setup-python@v5
7070
if: matrix.language == 'cpp'
7171
with:
72-
python-version: 3.9
72+
python-version: '3.10'
7373

7474
- name: Manual build
7575
if: matrix.language == 'cpp'

.github/workflows/publish.yml

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
test_extras: test
2626
test_command: pytest -p no:warnings --astropy-header -m "not hypothesis" -k "not test_data_out_of_range and not test_set_locale and not TestQuantityTyping" --pyargs astropy
2727
targets: |
28-
- cp39-manylinux_x86_64
28+
- cp310-manylinux_x86_64
2929
3030
build_and_publish:
3131
# This does the actual wheel building and publishing as part of the cron job
@@ -59,44 +59,37 @@ jobs:
5959
targets: |
6060
# Linux wheels
6161
62-
- cp39-manylinux_x86_64
6362
- cp310-manylinux_x86_64
6463
- cp311-manylinux_x86_64
6564
- cp312-manylinux_x86_64
6665
6766
# Note that following wheels are not currently tested:
6867
69-
- cp39-manylinux_aarch64
7068
- cp310-manylinux_aarch64
7169
- cp311-manylinux_aarch64
7270
- cp312-manylinux_aarch64
7371
74-
- cp39-musllinux_x86_64
7572
- cp310-musllinux_x86_64
7673
- cp311-musllinux_x86_64
7774
- cp312-musllinux_x86_64
7875
7976
# MacOS X wheels - as noted in https://github.com/astropy/astropy/pull/12379 we deliberately
8077
# do not build universal2 wheels.
8178
82-
- cp39*macosx_x86_64
8379
- cp310*macosx_x86_64
8480
- cp311*macosx_x86_64
8581
- cp312*macosx_x86_64
8682
87-
- cp39*macosx_arm64
8883
- cp310*macosx_arm64
8984
- cp311*macosx_arm64
9085
- cp312*macosx_arm64
9186
9287
# Windows wheels
9388
94-
- cp39*win32
9589
- cp310*win32
9690
- cp311*win32
9791
- cp312*win32
9892
99-
- cp39*win_amd64
10093
- cp310*win_amd64
10194
- cp311*win_amd64
10295
- cp312*win_amd64

.ruff.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,9 @@ lint.ignore = [
206206
"TRY201", # verbose-raise
207207
"TRY301", # raise-within-try
208208

209+
# pyupgrade (UP)
210+
"UP038", # isinstance using union separators. The code is slower.
211+
209212
# flake8-quotes (Q)
210213
"Q000", # use double quotes
211214
]

CONTRIBUTING.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -121,9 +121,8 @@ requirements for inclusion in the package:
121121

122122
**Code Quality**
123123
* Are the [coding guidelines](https://docs.astropy.org/en/latest/development/codeguide.html) followed?
124-
* Is the code compatible with Python >=3.8?
125-
* Are there dependencies other than the `astropy` core, the Python Standard
126-
Library, and NumPy 1.18.0 or later?
124+
* Is the code compatible with the supported versions of Python (see [pyproject.toml](https://github.com/astropy/astropy/blob/main/pyproject.toml))?
125+
* Are there dependencies other than the run-time dependencies listed in pyproject.toml?
127126
* Is the package importable even if the C-extensions are not built?
128127
* Are additional dependencies handled appropriately?
129128
* Do functions that require additional dependencies raise an `ImportError`

docs/changes/15603.other.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Update minimum supported Python version to 3.10

docs/development/workflow/git_edit_workflow_examples.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ Set up an isolated workspace
5959
The example below shows the necessary steps in the Miniconda/Anaconda Python
6060
distribution::
6161

62-
conda create --name apy-1761 python=3.9 # replace 3.9 with desired version
62+
conda create --name apy-1761 python=3.10 # replace 3.10 with desired version
6363
conda activate apy-1761
6464

6565
If you are using a different distribution, see :ref:`virtual_envs` for

0 commit comments

Comments
 (0)