sqlmesh.utils.hashing
1from __future__ import annotations 2 3import hashlib 4import typing as t 5import zlib 6 7 8def crc32(data: t.Iterable[t.Optional[str]]) -> str: 9 return str(zlib.crc32(_safe_concat(data))) 10 11 12def md5(data: t.Iterable[t.Optional[str]]) -> str: 13 return hashlib.md5(_safe_concat(data)).hexdigest() 14 15 16def hash_data(data: t.Iterable[t.Optional[str]]) -> str: 17 return crc32(data) 18 19 20def _safe_concat(data: t.Iterable[t.Optional[str]]) -> bytes: 21 return ";".join("" if d is None else d for d in data).encode("utf-8")
def
crc32(data: Iterable[Union[str, NoneType]]) -> str:
def
md5(data: Iterable[Union[str, NoneType]]) -> str:
def
hash_data(data: Iterable[Union[str, NoneType]]) -> str: