import builtins
import hashlib
from typing import List, Sequence
def sha256(bytes: Sequence[int]) -> List[int]:
"""The SHA-256 digest of a byte string (FIPS 180-4), from hashlib. A Python ``bytes`` value is accepted as is; a list must hold integers 0-255, checked here so a bad value fails with the same words as in TypeScript and Rust rather than hashlib's own. """if isinstance(bytes, (str, dict)) ornot hasattr(bytes, "__len__"):
raise TypeError("bytes must be a list of integers from 0 to 255")
for b in bytes:
if type(b) isnot int or b < 0or b > 255:
raise ValueError("bytes must be a list of integers from 0 to 255")
return list(hashlib.sha256(builtins.bytes(bytes)).digest())