Skip to content

Commit 11a758d

Browse files
committed
Remove support for Python 3.9
1 parent b3a9213 commit 11a758d

9 files changed

Lines changed: 9 additions & 42 deletions

File tree

.github/copilot-instructions.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
- **Repository Size**: ~44MB (7.1MB galpy/, 3.3MB tests/, 18MB doc/)
88
- **Languages**: Python (142 files) and C (81 files for performance-critical extensions)
9-
- **Python Versions**: Supports 3.9, 3.10, 3.11, 3.12, and 3.13
9+
- **Python Versions**: Supports 3.10, 3.11, 3.12, 3.13, and 3.14
1010
- **Key Dependencies**: numpy, scipy, matplotlib (required); GSL 1.14+ (optional, for C extensions)
1111
- **Optional Dependencies**: astropy, astroquery, tqdm, numexpr, numba, JAX, pynbody
1212

.github/workflows/build.yml

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -192,22 +192,6 @@ jobs:
192192
REQUIRES_ASTROQUERY: true
193193
REQUIRES_NUMBA: false
194194
REQUIRES_JAX: false
195-
- os: ubuntu-latest
196-
python-version: 3.9
197-
TEST_FILES: tests/test_orbit.py -k 'test_energy_jacobi_conservation or from_name'
198-
REQUIRES_PYNBODY: true
199-
REQUIRES_ASTROPY: true
200-
REQUIRES_ASTROQUERY: true
201-
REQUIRES_NUMBA: false
202-
REQUIRES_JAX: false
203-
- os: ubuntu-latest
204-
python-version: 3.9
205-
TEST_FILES: tests/test_orbit.py tests/test_orbits.py -k 'not test_energy_jacobi_conservation'
206-
REQUIRES_PYNBODY: true
207-
REQUIRES_ASTROPY: true
208-
REQUIRES_ASTROQUERY: true
209-
REQUIRES_NUMBA: false
210-
REQUIRES_JAX: false
211195
- os: macos-15-intel
212196
python-version: "3.14"
213197
TEST_FILES: tests/test_orbit.py -k 'test_energy_jacobi_conservation or from_name'

.github/workflows/build_windows.yml

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -192,22 +192,6 @@ jobs:
192192
REQUIRES_ASTROQUERY: true
193193
REQUIRES_NUMBA: false
194194
REQUIRES_JAX: false
195-
- os: windows-latest
196-
python-version: 3.9
197-
TEST_FILES: tests/test_orbit.py -k test_energy_jacobi_conservation
198-
REQUIRES_PYNBODY: false
199-
REQUIRES_ASTROPY: true
200-
REQUIRES_ASTROQUERY: true
201-
REQUIRES_NUMBA: false
202-
REQUIRES_JAX: false
203-
- os: windows-latest
204-
python-version: 3.9
205-
TEST_FILES: tests/test_orbit.py tests/test_orbits.py -k 'not test_energy_jacobi_conservation'
206-
REQUIRES_PYNBODY: false
207-
REQUIRES_ASTROPY: true
208-
REQUIRES_ASTROQUERY: true
209-
REQUIRES_NUMBA: false
210-
REQUIRES_JAX: false
211195
steps:
212196
- uses: actions/checkout@v6
213197
- name: Set up Python ${{ matrix.python-version }}

.github/workflows/wheels.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ jobs:
3636
- [macos-14, macosx, arm64]
3737
- [windows-2025, win, amd64]
3838
python:
39-
- ["cp39","3.9"]
4039
- ["cp310","3.10"]
4140
- ["cp311","3.11"]
4241
- ["cp312","3.12"]
@@ -103,7 +102,6 @@ jobs:
103102
- [macos-14, macosx, arm64]
104103
- [windows-2025, win, amd64]
105104
python:
106-
- ["cp39","3.9"]
107105
- ["cp310","3.10"]
108106
- ["cp311","3.11"]
109107
- ["cp312","3.12"]

HISTORY.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ v1.11.2 (expected around 2026-03-01)
1414
integration. The C implementation uses the hyp2f1 hypergeometric function
1515
and handles the special case where alpha=2.
1616

17+
- Removed support for Python 3.9 (which has reached its end of life in Oct 2025).
18+
1719
v1.11.1 (2025-11-02)
1820
====================
1921

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,9 @@ FAQ](http://docs.galpy.org/en/latest/installation.html#installation-faq).
4646
PYTHON VERSIONS AND DEPENDENCIES
4747
================================
4848

49-
`galpy` supports Python 3. Specifically, galpy supports Python 3.9, 3.10, 3.11, 3.12,
49+
`galpy` supports Python 3. Specifically, galpy supports Python 3.10, 3.11, 3.12,
5050
3.13, and 3.14. GitHub Actions CI builds regularly check support for
51-
Python 3.14 (and of 3.9, 3.10, 3.11, 3.12, and 3.13 using a more limited, core set of tests)
51+
Python 3.14 (and of 3.10, 3.11, 3.12, and 3.13 using a more limited, core set of tests)
5252
on Linux and Windows (and 3.14 on Mac OS). Python 2.7 is no longer supported.
5353

5454
This package requires [Numpy](https://numpy.org/),

doc/source/installation.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ TL;DR
1717

1818
python -m pip install --only-binary galpy galpy
1919

20-
This should install a fully-working version of galpy for Python versions >=3.9. If this fails, please open an `issue <https://github.com/jobovy/galpy/issues/new?assignees=&labels=&template=bug_report.md&title=>`__ on the ``galpy`` GitHub page, making sure to specify your platform and Python version. Then read on at :ref:`detailed_installation` to learn how to install ``galpy`` when the above fails.
20+
This should install a fully-working version of galpy for Python versions >=3.10. If this fails, please open an `issue <https://github.com/jobovy/galpy/issues/new?assignees=&labels=&template=bug_report.md&title=>`__ on the ``galpy`` GitHub page, making sure to specify your platform and Python version. Then read on at :ref:`detailed_installation` to learn how to install ``galpy`` when the above fails.
2121

2222
.. tab-item:: Mac
2323

@@ -29,7 +29,7 @@ TL;DR
2929

3030
conda install -c conda-forge gsl galpy
3131

32-
These should install a fully-working version of galpy for Python versions >=3.9. If this fails, please open an `issue <https://github.com/jobovy/galpy/issues/new?assignees=&labels=&template=bug_report.md&title=>`__ on the ``galpy`` GitHub page, making sure to specify your platform and Python version. Then read on at :ref:`detailed_installation` to learn how to install ``galpy`` when the above fails.
32+
These should install a fully-working version of galpy for Python versions >=3.10. If this fails, please open an `issue <https://github.com/jobovy/galpy/issues/new?assignees=&labels=&template=bug_report.md&title=>`__ on the ``galpy`` GitHub page, making sure to specify your platform and Python version. Then read on at :ref:`detailed_installation` to learn how to install ``galpy`` when the above fails.
3333

3434
.. tab-item:: Windows
3535

setup.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -336,7 +336,7 @@ def msvc_compile(
336336
"": ["README.md", "README.dev", "LICENSE", "AUTHORS.rst"],
337337
},
338338
include_package_data=True,
339-
python_requires=">=3.9",
339+
python_requires=">=3.10",
340340
install_requires=["packaging", "numpy>=1.7", "scipy", "matplotlib"],
341341
extras_require={
342342
"docs": ["sphinxext-opengraph", "sphinx-design", "markupsafe==2.0.1"]
@@ -348,7 +348,6 @@ def msvc_compile(
348348
"License :: OSI Approved :: BSD License",
349349
"Operating System :: OS Independent",
350350
"Programming Language :: C",
351-
"Programming Language :: Python :: 3.9",
352351
"Programming Language :: Python :: 3.10",
353352
"Programming Language :: Python :: 3.11",
354353
"Programming Language :: Python :: 3.12",

tools/create_galpy_wheels.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# Python version locally; useful for creating ARM64 wheels, because
44
# not possible with CIs currently
55
source ~/.bash_profile
6-
PYTHON_VERSIONS=("3.9" "3.10")
6+
PYTHON_VERSIONS=("3.10")
77
GALPY_VERSION=1.8.0
88

99
rm -rf galpy-wheels-output

0 commit comments

Comments
 (0)