diff --git a/src/mdevaluate/checksum.py b/src/mdevaluate/checksum.py index 8a234eb..f651987 100755 --- a/src/mdevaluate/checksum.py +++ b/src/mdevaluate/checksum.py @@ -73,7 +73,9 @@ def checksum(*args, csum=None): elif isinstance(arg, FunctionType): csum.update(strip_comments(inspect.getsource(arg)).encode()) c = inspect.getclosurevars(arg) - for v in {**c.nonlocals, **c.globals}.values(): + merged = {**c.nonlocals, **c.globals} + for key in sorted(merged): # deterministic ordering + v = merged[key] if v is not arg: checksum(v, csum=csum) elif isinstance(arg, functools.partial):