From a05fd53fab762b67fa960fe16825c17ad1809a2d Mon Sep 17 00:00:00 2001 From: Austin Raney Date: Tue, 23 Jan 2024 11:49:01 -0500 Subject: [PATCH 1/2] bug(py38): port functools.cache support --- .../scheduler/dmod/scheduler/resources/resource.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/python/lib/scheduler/dmod/scheduler/resources/resource.py b/python/lib/scheduler/dmod/scheduler/resources/resource.py index 279082c90..678cd12d8 100644 --- a/python/lib/scheduler/dmod/scheduler/resources/resource.py +++ b/python/lib/scheduler/dmod/scheduler/resources/resource.py @@ -2,8 +2,18 @@ from typing import Any, Callable, Dict, Optional, Tuple, Type, Union from typing_extensions import Self from pydantic import Field, Extra, validator, root_validator -from functools import cache from warnings import warn +import sys +# TODO: remove guard when 3.8 support is dropped +if sys.version_info >= (3, 9): + from functools import cache +else: + # support python <= 3.8 + # functools.cache introduced in 3.9 + # https://docs.python.org/3.9/library/functools.html#functools.cache + # > Returns the same as lru_cache(maxsize=None) + from functools import lru_cache + cache = lru_cache(maxsize=None) from dmod.core.enum import PydanticEnum From 964f7776be1f050ac496d53146bf919ab3ae6584 Mon Sep 17 00:00:00 2001 From: Austin Raney Date: Tue, 23 Jan 2024 11:49:55 -0500 Subject: [PATCH 2/2] chore: bump dmod.scheduler 0.10.0 -> 0.10.1 --- python/lib/scheduler/dmod/scheduler/_version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/lib/scheduler/dmod/scheduler/_version.py b/python/lib/scheduler/dmod/scheduler/_version.py index 9d1bb721b..e754a834e 100644 --- a/python/lib/scheduler/dmod/scheduler/_version.py +++ b/python/lib/scheduler/dmod/scheduler/_version.py @@ -1 +1 @@ -__version__ = '0.10.0' +__version__ = '0.10.1'