class_docstr: Helper to compute multiple digests in one pass for a file
      
docstr: Parameters
  ----------
  digests : list or None
    List of any supported algorithm labels, such as md5, sha1, etc.
    If None, a default set of hashes will be computed (md5, sha1,
    sha256, sha512).
  blocksize : int
    Chunk size (in bytes) by which to consume a file.
docstr_tok: ["Parameters","--","--","--","--","--","digests",":","list","or","None","List","of","any","supported","algorithm","labels",",","such","as","md5",",","sha1",",","etc",".","If","None",",","a","default","set","of","hashes","will","be","computed","(","md5",",","sha1",",","sha256",",","sha512",")",".","blocksize",":","int","Chunk","size","(","in","bytes",")","by","which","to","consume","a","file","."]
code: def __init__(
      self,
      digests: Optional[list[str]] = None,
      blocksize: int = 1 << 16,
  ) -> None:
      """
      Parameters
      ----------
      digests : list or None
        List of any supported algorithm labels, such as md5, sha1, etc.
        If None, a default set of hashes will be computed (md5, sha1,
        sha256, sha512).
      blocksize : int
        Chunk size (in bytes) by which to consume a file.
      """
      self._digests = digests or self.DEFAULT_DIGESTS
      self._digest_funcs = [
          getattr(hashlib, digest) for digest in self._digests
      ]
      self.blocksize = blocksize
  
file_path: datalad/datalad/support/digests.py
imports: from __future__ import annotations
  import hashlib
  import logging
  from pathlib import Path
  from typing import Optional
  from ..utils import auto_repr
label_desc: Use image node_id 1 to create a new Digester object  with example: obj = Digester(digests, blocksize)