class_docstr: Helper to compute multiple digests in one pass for a file
      
docstr: fpath : str
    File path for which a checksum shall be computed.
  
  Return
  ------
  dict
    Keys are algorithm labels, and values are checksum strings
docstr_tok: ["fpath",":","str","File","path","for","which","a","checksum","shall","be","computed",".","Return","--","--","--","dict","Keys","are","algorithm","labels",",","and","values","are","checksum","strings"]
code: def __call__(self, fpath: str | Path) -> dict[str, str]:
      """
      fpath : str
        File path for which a checksum shall be computed.
  
      Return
      ------
      dict
        Keys are algorithm labels, and values are checksum strings
      """
      lgr.debug("Estimating digests for %s", fpath)
      digests = [x() for x in self._digest_funcs]
      with open(fpath, "rb") as f:
          while True:
              block = f.read(self.blocksize)
              if not block:
                  break
              [d.update(block) for d in digests]
  
      return {n: d.hexdigest() for n, d in zip(self.digests, digests)}
  
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 3 for calling the Digester obj's underlying member method code with example usage: obj.__call__(fpath) and returns: unknown