From 34be09180e54f314984af7d95102bd82ce826b56 Mon Sep 17 00:00:00 2001 From: Fabien Aulaire Date: Fri, 24 Jun 2022 14:01:40 +0200 Subject: [PATCH] Timedelta deterministic hashing --- dask/base.py | 1 + dask/tests/test_base.py | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/dask/base.py b/dask/base.py index 2e3e88aea12..f697759a272 100644 --- a/dask/base.py +++ b/dask/base.py @@ -948,6 +948,7 @@ def tokenize(*args, **kwargs): complex, type(Ellipsis), datetime.date, + datetime.timedelta, ), identity, ) diff --git a/dask/tests/test_base.py b/dask/tests/test_base.py index 8852d4cd4fc..9c5ef8108a7 100644 --- a/dask/tests/test_base.py +++ b/dask/tests/test_base.py @@ -425,6 +425,11 @@ def test_tokenize_ordered_dict(): assert tokenize(a) != tokenize(c) +def test_tokenize_timedelta(): + assert tokenize(datetime.timedelta(days=1)) == tokenize(datetime.timedelta(days=1)) + assert tokenize(datetime.timedelta(days=1)) != tokenize(datetime.timedelta(days=2)) + + ADataClass = dataclasses.make_dataclass("ADataClass", [("a", int)]) BDataClass = dataclasses.make_dataclass("BDataClass", [("a", Union[int, float])]) # type: ignore