Skip to content

Commit

Permalink
Drop python 3.9 (#781)
Browse files Browse the repository at this point in the history
This PR drops support for Python 3.9.

[ committed by @al-rigazzi ]
[ reviewed by @ashao ]
  • Loading branch information
al-rigazzi authored Jan 24, 2025
1 parent f509ad6 commit a54c3b3
Show file tree
Hide file tree
Showing 14 changed files with 38 additions and 126 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ jobs:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.9'
python-version: '3.10'

- name: Install build
run: python -m pip install 'build>=1.2.2,<2'
Expand Down
9 changes: 3 additions & 6 deletions .github/workflows/run_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,10 +58,7 @@ jobs:
os: [macos-14, ubuntu-22.04] # Operating systems
compiler: [8] # GNU compiler version
rai: [1.2.7] # Redis AI versions
py_v: ["3.9", "3.10", "3.11"] # Python versions
exclude:
- os: macos-14
py_v: "3.9"
py_v: ["3.10", "3.11"] # Python versions

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

# Note: The develop branch of smartredis is installed first to ensure that any tests that depend
Expand Down
4 changes: 4 additions & 0 deletions doc/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,17 @@ To be released at some point in the future

Description

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

Detailed Notes

- Python 3.9 will not be supported anymore, the last stable version of SmartSim
with support for Python 3.9 will be 0.8.
([SmartSim-PR781](https://github.com/CrayLabs/SmartSim/pull/781))
- After the supercomputer Summit was decommissioned, a decision was made to
terminate SmartSim's support of the LSF launcher and LSB scheduler. If
this impacts your work, please contact us.
Expand Down
18 changes: 9 additions & 9 deletions doc/installation_instructions/basic.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Basic

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

- Python 3.9-3.11
- Python 3.10-3.11
- Pip
- Cmake 3.13.x (or later)
- C compiler
Expand Down Expand Up @@ -77,7 +77,7 @@ Linux
- Torch
- Tensorflow
- ONNX Runtime
* - 3.9-3.11
* - 3.10-3.11
- 2.3.1
- 2.14.1
- 1.17.3
Expand All @@ -98,7 +98,7 @@ Linux
- Torch
- Tensorflow
- ONNX Runtime
* - 3.9-3.11
* - 3.10-3.11
- 2.3.1
- 2.17
- 1.17.3
Expand All @@ -114,7 +114,7 @@ Linux
- Torch
- Tensorflow
- ONNX Runtime
* - 3.9-3.11
* - 3.10-3.11
- 2.4.1
- N/A
- N/A
Expand All @@ -130,7 +130,7 @@ Linux
- Torch
- Tensorflow
- ONNX Runtime
* - 3.9-3.11
* - 3.10-3.11
- 2.4.0
- 2.15
- 1.17.3
Expand All @@ -151,7 +151,7 @@ MacOSX
- Torch
- Tensorflow
- ONNX Runtime
* - 3.9-3.11
* - 3.10-3.11
- 2.4.0
- 2.17
- 1.17.3
Expand All @@ -167,7 +167,7 @@ MacOSX
- Torch
- Tensorflow
- ONNX Runtime
* - 3.9-3.11
* - 3.10-3.11
- 2.2.0
- 2.15
- 1.17.3
Expand Down Expand Up @@ -328,9 +328,9 @@ SmartSim does.
* - Platform
- Python Versions
* - MacOS
- 3.9 - 3.11
- 3.10 - 3.11
* - Linux
- 3.9 - 3.11
- 3.10 - 3.11

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

Expand Down
5 changes: 0 additions & 5 deletions doc/installation_instructions/platform.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,8 @@ that SmartSim may be used on.

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

.. include:: platform/olcf-summit.rst

.. include:: platform/pml-scylla.rst

.. _site_installation:

.. include:: site-install.rst



75 changes: 0 additions & 75 deletions doc/installation_instructions/platform/olcf-summit.rst

This file was deleted.

4 changes: 2 additions & 2 deletions doc/smartsim_zoo.rst
Original file line number Diff line number Diff line change
Expand Up @@ -83,12 +83,12 @@ can find a more detailed description of each example in the `SmartSim Zoo
- National Center for Atmospheric Research (NCAR)
* - Cheyenne
- National Center for Atmospheric Research (NCAR)
* - Summit
- Oak Ridge National Lab
* - Theta
- Argonne National Lab
* - ThetaGPU
- Argonne National Lab
* - Scylla
- Plymouth Marine Laboratory

.. list-table:: Current CrayLabs Collaborations
:widths: 100 150 100
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ build-backend = "setuptools.build_meta"

[tool.black]
line-length = 88
target-version = ['py39', 'py310', 'py311']
target-version = ['py310', 'py311']
exclude = '''
(
| \.egg
Expand Down
3 changes: 1 addition & 2 deletions setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,6 @@ contact_email = [email protected]
license = BSD 2-Clause License
keywords = scientific, ai, workflow, hpc, analysis
classifiers =
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
Programming Language :: Python :: 3.11
License :: OSI Approved :: BSD License
Expand All @@ -52,7 +51,7 @@ classifiers =
[options]
packages = find:
include_package_data = True
python_requires = >=3.9,<3.12
python_requires = >=3.10,<3.12

[options.packages.find]
include =
Expand Down
4 changes: 2 additions & 2 deletions smartsim/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@
# pylint: disable-next=useless-import-alias
from .version import __version__ as __version__

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

# Main API module
# pylint: disable=wrong-import-position
Expand Down
4 changes: 2 additions & 2 deletions smartsim/_core/_cli/scripts/dragon_install.py
Original file line number Diff line number Diff line change
Expand Up @@ -114,8 +114,8 @@ def filter_assets(assets: t.Collection[GitReleaseAsset]) -> t.Optional[GitReleas
:param assets: The collection of dragon release assets to filter
:returns: An asset meeting platform & version filtering requirements"""
# Expect cray & non-cray assets that require a filter, e.g.
# 'dragon-0.8-py3.9.4.1-bafaa887f.tar.gz',
# 'dragon-0.8-py3.9.4.1-CRAYEX-ac132fe95.tar.gz'
# 'dragon-0.8-py3.10.4.1-bafaa887f.tar.gz',
# 'dragon-0.8-py3.10.4.1-CRAYEX-ac132fe95.tar.gz'
asset = next(
(
asset
Expand Down
2 changes: 1 addition & 1 deletion smartsim/_core/_install/buildenv.py
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@ class Versioner:
"""

# compatible Python version
PYTHON_MIN = Version_("3.9.0")
PYTHON_MIN = Version_("3.10.0")

# Versions
SMARTSIM = Version_(get_env("SMARTSIM_VERSION", "0.8.0"))
Expand Down
16 changes: 8 additions & 8 deletions tests/test_configs/telemetry/ensembles.json
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
],
"run_settings": {
"exe": [
"/home/someuser/.pyenv/versions/3.9.16/envs/ss/bin/python"
"/home/someuser/.pyenv/versions/3.10.16/envs/ss/bin/python"
],
"run_command": null,
"run_args": {}
Expand Down Expand Up @@ -77,7 +77,7 @@
],
"run_settings": {
"exe": [
"/home/someuser/.pyenv/versions/3.9.16/envs/ss/bin/python"
"/home/someuser/.pyenv/versions/3.10.16/envs/ss/bin/python"
],
"run_command": null,
"run_args": {}
Expand Down Expand Up @@ -113,7 +113,7 @@
],
"run_settings": {
"exe": [
"/home/someuser/.pyenv/versions/3.9.16/envs/ss/bin/python"
"/home/someuser/.pyenv/versions/3.10.16/envs/ss/bin/python"
],
"run_command": null,
"run_args": {}
Expand Down Expand Up @@ -149,7 +149,7 @@
],
"run_settings": {
"exe": [
"/home/someuser/.pyenv/versions/3.9.16/envs/ss/bin/python"
"/home/someuser/.pyenv/versions/3.10.16/envs/ss/bin/python"
],
"run_command": null,
"run_args": {}
Expand Down Expand Up @@ -185,7 +185,7 @@
],
"run_settings": {
"exe": [
"/home/someuser/.pyenv/versions/3.9.16/envs/ss/bin/python"
"/home/someuser/.pyenv/versions/3.10.16/envs/ss/bin/python"
],
"run_command": null,
"run_args": {}
Expand Down Expand Up @@ -221,7 +221,7 @@
],
"run_settings": {
"exe": [
"/home/someuser/.pyenv/versions/3.9.16/envs/ss/bin/python"
"/home/someuser/.pyenv/versions/3.10.16/envs/ss/bin/python"
],
"run_command": null,
"run_args": {}
Expand Down Expand Up @@ -257,7 +257,7 @@
],
"run_settings": {
"exe": [
"/home/someuser/.pyenv/versions/3.9.16/envs/ss/bin/python"
"/home/someuser/.pyenv/versions/3.10.16/envs/ss/bin/python"
],
"run_command": null,
"run_args": {}
Expand Down Expand Up @@ -293,7 +293,7 @@
],
"run_settings": {
"exe": [
"/home/someuser/.pyenv/versions/3.9.16/envs/ss/bin/python"
"/home/someuser/.pyenv/versions/3.10.16/envs/ss/bin/python"
],
"run_command": null,
"run_args": {}
Expand Down
Loading

0 comments on commit a54c3b3

Please sign in to comment.