docs: def _md5_file(fn, block_size=1048576):
      """Builds the MD5 of a file block by block
  
      Args:
          fn: File path
          block_size: Size of the blocks to consider (default 1048576)
  
      Returns:
          File MD5
      """
      h = hashlib.md5()
      with open(fn) as fp:
          d = 1
          while d:
              d = fp.read(block_size)
              h.update(d)
      return h.hexdigest()