code: def read_tqdm(self, update_frequency=10000):
      current_file_position = 0
      line_counter = 0
      with open(self.file_path, "r") as fh, tqdm.tqdm(
          total=os.path.getsize(self.file_path),
          dynamic_ncols=True,
          unit="byte",
          unit_scale=1,
      ) as progress:
          with mmap.mmap(
              fh.fileno(), length=0, access=mmap.ACCESS_READ
          ) as mmap_obj:
              for line in iter(mmap_obj.readline, b""):
                  line = line.decode("utf-8")
                  line_counter += 1
                  if line_counter == update_frequency:
                      new_file_pos = mmap_obj.tell()
                      bytes_read = new_file_pos - current_file_position
                      current_file_position = new_file_pos
                      progress.update(bytes_read)
                      line_counter = 0
                  yield line[:-1]
  
imports: import os
  import zstandard
  import json
  import jsonlines
  import io
  import datetime
  import mmap
  import tqdm
  from pathlib import Path
label_desc: Use image node_id 2 for calling the TextReader obj's underlying member method code with example usage: obj.read_tqdm(update_frequency) without return types