Skip to content

Commit a54c3b3

Browse files
authored
Drop python 3.9 (#781)
This PR drops support for Python 3.9. [ committed by @al-rigazzi ] [ reviewed by @ashao ]
1 parent f509ad6 commit a54c3b3

File tree

14 files changed

+38
-126
lines changed

14 files changed

+38
-126
lines changed

.github/workflows/release.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ jobs:
4040
- uses: actions/checkout@v4
4141
- uses: actions/setup-python@v5
4242
with:
43-
python-version: '3.9'
43+
python-version: '3.10'
4444

4545
- name: Install build
4646
run: python -m pip install 'build>=1.2.2,<2'

.github/workflows/run_tests.yml

+3-6
Original file line numberDiff line numberDiff line change
@@ -58,10 +58,7 @@ jobs:
5858
os: [macos-14, ubuntu-22.04] # Operating systems
5959
compiler: [8] # GNU compiler version
6060
rai: [1.2.7] # Redis AI versions
61-
py_v: ["3.9", "3.10", "3.11"] # Python versions
62-
exclude:
63-
- os: macos-14
64-
py_v: "3.9"
61+
py_v: ["3.10", "3.11"] # Python versions
6562

6663
steps:
6764
- uses: actions/checkout@v4
@@ -84,7 +81,7 @@ jobs:
8481
echo "$(brew --prefix)/opt/make/libexec/gnubin" >> $GITHUB_PATH
8582
8683
- name: Build Singularity from source
87-
if: contains( matrix.os, 'ubuntu' ) && matrix.py_v == 3.9
84+
if: contains( matrix.os, 'ubuntu' ) && matrix.py_v == 3.10
8885
run: |
8986
sudo apt-get install -y libseccomp-dev pkg-config squashfs-tools cryptsetup curl git # wget build-essential
9087
echo 'export PATH=/usr/local/go/bin:$PATH' >> ~/.bashrc
@@ -98,7 +95,7 @@ jobs:
9895
sudo make -C builddir install
9996
10097
- name: singularity pull test container # This lets us time how long the pull takes
101-
if: contains( matrix.os, 'ubuntu' ) && matrix.py_v == 3.9
98+
if: contains( matrix.os, 'ubuntu' ) && matrix.py_v == 3.10
10299
run: singularity pull docker://alrigazzi/smartsim-testing
103100

104101
# Note: The develop branch of smartredis is installed first to ensure that any tests that depend

doc/changelog.md

+4
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,17 @@ To be released at some point in the future
1313

1414
Description
1515

16+
- Drop Python 3.9 support
1617
- Terminate LSF and LSB support
1718
- Implement workaround for Tensorflow that allows RedisAI to build with GCC-14
1819
- Add instructions for installing SmartSim on PML's Scylla
1920
- Fix typos in documentation
2021

2122
Detailed Notes
2223

24+
- Python 3.9 will not be supported anymore, the last stable version of SmartSim
25+
with support for Python 3.9 will be 0.8.
26+
([SmartSim-PR781](https://github.com/CrayLabs/SmartSim/pull/781))
2327
- After the supercomputer Summit was decommissioned, a decision was made to
2428
terminate SmartSim's support of the LSF launcher and LSB scheduler. If
2529
this impacts your work, please contact us.

doc/installation_instructions/basic.rst

+9-9
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ Basic
2020

2121
The base prerequisites to install SmartSim and SmartRedis wtih CPU-only support are:
2222

23-
- Python 3.9-3.11
23+
- Python 3.10-3.11
2424
- Pip
2525
- Cmake 3.13.x (or later)
2626
- C compiler
@@ -77,7 +77,7 @@ Linux
7777
- Torch
7878
- Tensorflow
7979
- ONNX Runtime
80-
* - 3.9-3.11
80+
* - 3.10-3.11
8181
- 2.3.1
8282
- 2.14.1
8383
- 1.17.3
@@ -98,7 +98,7 @@ Linux
9898
- Torch
9999
- Tensorflow
100100
- ONNX Runtime
101-
* - 3.9-3.11
101+
* - 3.10-3.11
102102
- 2.3.1
103103
- 2.17
104104
- 1.17.3
@@ -114,7 +114,7 @@ Linux
114114
- Torch
115115
- Tensorflow
116116
- ONNX Runtime
117-
* - 3.9-3.11
117+
* - 3.10-3.11
118118
- 2.4.1
119119
- N/A
120120
- N/A
@@ -130,7 +130,7 @@ Linux
130130
- Torch
131131
- Tensorflow
132132
- ONNX Runtime
133-
* - 3.9-3.11
133+
* - 3.10-3.11
134134
- 2.4.0
135135
- 2.15
136136
- 1.17.3
@@ -151,7 +151,7 @@ MacOSX
151151
- Torch
152152
- Tensorflow
153153
- ONNX Runtime
154-
* - 3.9-3.11
154+
* - 3.10-3.11
155155
- 2.4.0
156156
- 2.17
157157
- 1.17.3
@@ -167,7 +167,7 @@ MacOSX
167167
- Torch
168168
- Tensorflow
169169
- ONNX Runtime
170-
* - 3.9-3.11
170+
* - 3.10-3.11
171171
- 2.2.0
172172
- 2.15
173173
- 1.17.3
@@ -328,9 +328,9 @@ SmartSim does.
328328
* - Platform
329329
- Python Versions
330330
* - MacOS
331-
- 3.9 - 3.11
331+
- 3.10 - 3.11
332332
* - Linux
333-
- 3.9 - 3.11
333+
- 3.10 - 3.11
334334

335335
The Python client for SmartRedis is installed through ``pip`` as follows:
336336

doc/installation_instructions/platform.rst

-5
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,8 @@ that SmartSim may be used on.
1818

1919
.. include:: platform/ncar-cheyenne.rst
2020

21-
.. include:: platform/olcf-summit.rst
22-
2321
.. include:: platform/pml-scylla.rst
2422

2523
.. _site_installation:
2624

2725
.. include:: site-install.rst
28-
29-
30-

doc/installation_instructions/platform/olcf-summit.rst

-75
This file was deleted.

doc/smartsim_zoo.rst

+2-2
Original file line numberDiff line numberDiff line change
@@ -83,12 +83,12 @@ can find a more detailed description of each example in the `SmartSim Zoo
8383
- National Center for Atmospheric Research (NCAR)
8484
* - Cheyenne
8585
- National Center for Atmospheric Research (NCAR)
86-
* - Summit
87-
- Oak Ridge National Lab
8886
* - Theta
8987
- Argonne National Lab
9088
* - ThetaGPU
9189
- Argonne National Lab
90+
* - Scylla
91+
- Plymouth Marine Laboratory
9292

9393
.. list-table:: Current CrayLabs Collaborations
9494
:widths: 100 150 100

pyproject.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ build-backend = "setuptools.build_meta"
3131

3232
[tool.black]
3333
line-length = 88
34-
target-version = ['py39', 'py310', 'py311']
34+
target-version = ['py310', 'py311']
3535
exclude = '''
3636
(
3737
| \.egg

setup.cfg

+1-2
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ contact_email = [email protected]
4242
license = BSD 2-Clause License
4343
keywords = scientific, ai, workflow, hpc, analysis
4444
classifiers =
45-
Programming Language :: Python :: 3.9
4645
Programming Language :: Python :: 3.10
4746
Programming Language :: Python :: 3.11
4847
License :: OSI Approved :: BSD License
@@ -52,7 +51,7 @@ classifiers =
5251
[options]
5352
packages = find:
5453
include_package_data = True
55-
python_requires = >=3.9,<3.12
54+
python_requires = >=3.10,<3.12
5655

5756
[options.packages.find]
5857
include =

smartsim/__init__.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@
3030
# pylint: disable-next=useless-import-alias
3131
from .version import __version__ as __version__
3232

33-
if sys.version_info < (3, 9): # pragma: no cover
34-
sys.exit("Python 3.9 or greater must be used with SmartSim.")
33+
if sys.version_info < (3, 10): # pragma: no cover
34+
sys.exit("Python 3.10 or greater must be used with SmartSim.")
3535

3636
# Main API module
3737
# pylint: disable=wrong-import-position

smartsim/_core/_cli/scripts/dragon_install.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -114,8 +114,8 @@ def filter_assets(assets: t.Collection[GitReleaseAsset]) -> t.Optional[GitReleas
114114
:param assets: The collection of dragon release assets to filter
115115
:returns: An asset meeting platform & version filtering requirements"""
116116
# Expect cray & non-cray assets that require a filter, e.g.
117-
# 'dragon-0.8-py3.9.4.1-bafaa887f.tar.gz',
118-
# 'dragon-0.8-py3.9.4.1-CRAYEX-ac132fe95.tar.gz'
117+
# 'dragon-0.8-py3.10.4.1-bafaa887f.tar.gz',
118+
# 'dragon-0.8-py3.10.4.1-CRAYEX-ac132fe95.tar.gz'
119119
asset = next(
120120
(
121121
asset

smartsim/_core/_install/buildenv.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ class Versioner:
154154
"""
155155

156156
# compatible Python version
157-
PYTHON_MIN = Version_("3.9.0")
157+
PYTHON_MIN = Version_("3.10.0")
158158

159159
# Versions
160160
SMARTSIM = Version_(get_env("SMARTSIM_VERSION", "0.8.0"))

tests/test_configs/telemetry/ensembles.json

+8-8
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
],
4242
"run_settings": {
4343
"exe": [
44-
"/home/someuser/.pyenv/versions/3.9.16/envs/ss/bin/python"
44+
"/home/someuser/.pyenv/versions/3.10.16/envs/ss/bin/python"
4545
],
4646
"run_command": null,
4747
"run_args": {}
@@ -77,7 +77,7 @@
7777
],
7878
"run_settings": {
7979
"exe": [
80-
"/home/someuser/.pyenv/versions/3.9.16/envs/ss/bin/python"
80+
"/home/someuser/.pyenv/versions/3.10.16/envs/ss/bin/python"
8181
],
8282
"run_command": null,
8383
"run_args": {}
@@ -113,7 +113,7 @@
113113
],
114114
"run_settings": {
115115
"exe": [
116-
"/home/someuser/.pyenv/versions/3.9.16/envs/ss/bin/python"
116+
"/home/someuser/.pyenv/versions/3.10.16/envs/ss/bin/python"
117117
],
118118
"run_command": null,
119119
"run_args": {}
@@ -149,7 +149,7 @@
149149
],
150150
"run_settings": {
151151
"exe": [
152-
"/home/someuser/.pyenv/versions/3.9.16/envs/ss/bin/python"
152+
"/home/someuser/.pyenv/versions/3.10.16/envs/ss/bin/python"
153153
],
154154
"run_command": null,
155155
"run_args": {}
@@ -185,7 +185,7 @@
185185
],
186186
"run_settings": {
187187
"exe": [
188-
"/home/someuser/.pyenv/versions/3.9.16/envs/ss/bin/python"
188+
"/home/someuser/.pyenv/versions/3.10.16/envs/ss/bin/python"
189189
],
190190
"run_command": null,
191191
"run_args": {}
@@ -221,7 +221,7 @@
221221
],
222222
"run_settings": {
223223
"exe": [
224-
"/home/someuser/.pyenv/versions/3.9.16/envs/ss/bin/python"
224+
"/home/someuser/.pyenv/versions/3.10.16/envs/ss/bin/python"
225225
],
226226
"run_command": null,
227227
"run_args": {}
@@ -257,7 +257,7 @@
257257
],
258258
"run_settings": {
259259
"exe": [
260-
"/home/someuser/.pyenv/versions/3.9.16/envs/ss/bin/python"
260+
"/home/someuser/.pyenv/versions/3.10.16/envs/ss/bin/python"
261261
],
262262
"run_command": null,
263263
"run_args": {}
@@ -293,7 +293,7 @@
293293
],
294294
"run_settings": {
295295
"exe": [
296-
"/home/someuser/.pyenv/versions/3.9.16/envs/ss/bin/python"
296+
"/home/someuser/.pyenv/versions/3.10.16/envs/ss/bin/python"
297297
],
298298
"run_command": null,
299299
"run_args": {}

0 commit comments

Comments
 (0)