diff --git a/pyproject.toml b/pyproject.toml index 38c4054ae..b61f974ed 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -17,7 +17,7 @@ dependencies = [ "cryptography", "packaging", "python-dateutil", - "cachetools<7.1.0", # Pin to work around https://github.com/tkem/cachetools/issues/394 + "cachetools", "gitpython", "jsonschema", "paramiko>=3.2.0", diff --git a/src/dstack/_internal/core/backends/aws/compute.py b/src/dstack/_internal/core/backends/aws/compute.py index 6ba23e6dd..f2420ecf1 100644 --- a/src/dstack/_internal/core/backends/aws/compute.py +++ b/src/dstack/_internal/core/backends/aws/compute.py @@ -188,12 +188,13 @@ def _get_offers_cached_key(self, requirements: Requirements) -> int: # Requirements is not hashable, so we use a hack to get arguments hash return hash(requirements.json()) + # For `pyright: ignore` directive, see: https://github.com/tkem/cachetools/issues/394 @cachedmethod( cache=lambda self: self._offers_post_filter_cache.cache, key=_get_offers_cached_key, lock=lambda self: self._offers_post_filter_cache.lock, ) - def get_offers_post_filter( + def get_offers_post_filter( # pyright: ignore[reportIncompatibleMethodOverride] self, requirements: Requirements ) -> Optional[Callable[[InstanceOfferWithAvailability], bool]]: if requirements.reservation: