Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Discontinue SmartSim support for python 3.8 #544

Merged
merged 13 commits into from
Apr 17, 2024
Merged
Show file tree
Hide file tree
Changes from 12 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ jobs:
- uses: actions/setup-python@v5
name: Install Python
with:
python-version: '3.8'
python-version: '3.9'

- name: Build sdist
run: |
Expand Down
4 changes: 1 addition & 3 deletions .github/workflows/run_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,12 +57,10 @@ jobs:
os: [macos-12, macos-14, ubuntu-20.04] # Operating systems
compiler: [8] # GNU compiler version
rai: [1.2.7] # Redis AI versions
py_v: ["3.8", "3.9", "3.10", "3.11"] # Python versions
py_v: ["3.9", "3.10", "3.11"] # Python versions
exclude:
- os: macos-14
py_v: "3.9"
- os: macos-14
py_v: "3.8"

env:
SMARTSIM_REDISAI: ${{ matrix.rai }}
Expand Down
4 changes: 4 additions & 0 deletions doc/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ To be released at some future point in time

Description

- Drop Python 3.8 support
- Update watchdog dependency
- Historical output files stored under .smartsim directory
- Add option to build Torch backend without the Intel Math Kernel Library
Expand All @@ -39,6 +40,8 @@ Description

Detailed Notes

- Python 3.8 is reaching its end-of-life in October, 2024, so it will
no longer continue to be supported. (SmartSim-PR544_)
- Update watchdog dependency from 3.x to 4.x, fix new type issues (SmartSim-PR540_)
- The dashboard needs to display historical logs, so log files are written
out under the .smartsim directory and files under the experiment
Expand Down Expand Up @@ -95,6 +98,7 @@ Detailed Notes
handler. SmartSim will now attempt to kill any launched jobs before calling
the previously registered signal handler. (SmartSim-PR535_)

.. _SmartSim-PR544: https://github.com/CrayLabs/SmartSim/pull/544
.. _SmartSim-PR540: https://github.com/CrayLabs/SmartSim/pull/540
.. _SmartSim-PR532: https://github.com/CrayLabs/SmartSim/pull/532
.. _SmartSim-PR538: https://github.com/CrayLabs/SmartSim/pull/538
Expand Down
10 changes: 5 additions & 5 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 are:

- Python 3.8-3.11
- Python 3.9-3.11
- Pip
- Cmake 3.13.x (or later)
- C compiler
Expand Down Expand Up @@ -74,11 +74,11 @@ Supported Versions
* - MacOS
- x86_64, aarch64
- Not supported
- 3.8 - 3.11
- 3.9 - 3.11
* - Linux
- x86_64
- Nvidia
- 3.8 - 3.11
- 3.9 - 3.11


.. note::
Expand Down Expand Up @@ -256,9 +256,9 @@ SmartSim does.
* - Platform
- Python Versions
* - MacOS
- 3.8 - 3.11
- 3.9 - 3.11
* - Linux
- 3.8 - 3.11
- 3.9 - 3.11

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

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 = ['py38', 'py39', 'py310']
target-version = ['py39', 'py310']
AlyssaCote marked this conversation as resolved.
Show resolved Hide resolved
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 = craylabs@hpe.com
license = BSD 2-Clause License
keywords = scientific, ai, workflow, hpc, analysis
classifiers =
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
Programming Language :: Python :: 3.11
Expand All @@ -56,7 +55,7 @@ setup_requires =
setuptools>=39.2
cmake>=3.13
include_package_data = True
python_requires = >=3.8,<3.12
python_requires = >=3.9,<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, 8): # pragma: no cover
sys.exit("Python 3.8 or greater must be used with SmartSim.")
if sys.version_info < (3, 9): # pragma: no cover
sys.exit("Python 3.9 or greater must be used with SmartSim.")

# Main API module
# pylint: disable=wrong-import-position
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 @@ -267,7 +267,7 @@ class Versioner:
"""

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

# Versions
SMARTSIM = Version_(get_env("SMARTSIM_VERSION", "0.6.2"))
Expand Down
6 changes: 2 additions & 4 deletions smartsim/_core/utils/helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -312,11 +312,9 @@ def decode_cmd(encoded_cmd: str) -> t.List[str]:
return cleaned_cmd


# TODO: Remove the ``type: ignore`` comment here when Python 3.8 support is dropped
# ``collections.abc.Collection`` is not subscriptable until Python 3.9
@t.final
class SignalInterceptionStack(collections.abc.Collection): # type: ignore[type-arg]
"""Registers a stack of unique callables to be called when a signal is
class SignalInterceptionStack(collections.abc.Collection[_TSignalHandlerFn]):
"""Registers a stack of callables to be called when a signal is
received before calling the original signal handler.
"""

Expand Down
Loading