docs: def from_bytes(value: hints.Buffer) -> ulid.ULID:
      """
      Create a new :class:`~ulid.ulid.ULID` instance from the given :class:`~bytes`,
      :class:`~bytearray`, or :class:`~memoryview` value.
  
      :param value: 16 bytes
      :type value: :class:`~bytes`, :class:`~bytearray`, or :class:`~memoryview`
      :return: ULID from buffer value
      :rtype: :class:`~ulid.ulid.ULID`
      :raises ValueError: when the value is not 16 bytes
      """
      length = len(value)
      if length != 16:
          raise ValueError('Expects bytes to be 128 bits; got {} bytes'.format(length))
  
      return ulid.ULID(value)