class_docstr: HDF5 Function-Wrapper Class
  
  Reads HDF5 data from disk to produce a partition (given a key).
class_docstr_tok: ["HDF5","Function-Wrapper","Class","Reads","HDF5","data","from","disk","to","produce","a","partition","(","given","a","key",")","."]
docstr: Read from hdf5 file with a lock
docstr_tok: ["Read","from","hdf5","file","with","a","lock"]
code: def __call__(self, part):
      """Read from hdf5 file with a lock"""
  
      path, key, kwargs = part
      if self.lock:
          self.lock.acquire()
      try:
          result = pd.read_hdf(
              path, key, **merge(self.common_kwargs, kwargs)
          )
      finally:
          if self.lock:
              self.lock.release()
      return result
  
imports: from __future__ import annotations
  import os
  import uuid
  from fnmatch import fnmatch
  from glob import glob
  from warnings import warn
  import pandas
  from fsspec.utils import build_name_function, stringify_path
  from tlz import merge
  from dask import config
  from dask.base import compute_as_if_collection, get_scheduler, named_schedulers, tokenize
  from dask.dataframe.backends import dataframe_creation_dispatch
  from dask.dataframe.core import DataFrame, Scalar
  from dask.dataframe.io.io import _link, from_map
  from dask.dataframe.io.utils import DataFrameIOFunction, SupportsLock
  from dask.highlevelgraph import HighLevelGraph
  from dask.utils import get_scheduler_lock
  from dask.dataframe.core import _Frame
label_desc: Use image node_id 4 for calling the HDFFunctionWrapper obj's underlying member method code with example usage: obj.__call__(part) and returns: result