docstr: Parameters
  ----------
  qlib_dir : str
      qlib dir
  csv_path : str
      origin csv path
  check_fields : str, optional
      check fields, by default None, check qlib_dir/features/<first_dir>/*.<freq>.bin
  freq : str, optional
      freq, value from ["day", "1m"]
  symbol_field_name: str, optional
      symbol field name, by default "symbol"
  date_field_name: str, optional
      date field name, by default "date"
  file_suffix: str, optional
      csv file suffix, by default ".csv"
  max_workers: int, optional
      max workers, by default 16
docstr_tok: ["Parameters","--","--","--","--","--","qlib_dir",":","str","qlib","dir","csv_path",":","str","origin","csv","path","check_fields",":","str",",","optional","check","fields",",","by","default","None",",","check","qlib_dir\/features\/","<","first_dir",">","\/","*",".","<","freq",">",".bin","freq",":","str",",","optional","freq",",","value","from","[","``","day","''",",","``","1m","''","]","symbol_field_name",":","str",",","optional","symbol","field","name",",","by","default","``","symbol","''","date_field_name",":","str",",","optional","date","field","name",",","by","default","``","date","''","file_suffix",":","str",",","optional","csv","file","suffix",",","by","default","``",".csv","''","max_workers",":","int",",","optional","max","workers",",","by","default","16"]
code: def __init__(
      self,
      qlib_dir: str,
      csv_path: str,
      check_fields: str = None,
      freq: str = "day",
      symbol_field_name: str = "symbol",
      date_field_name: str = "date",
      file_suffix: str = ".csv",
      max_workers: int = 16,
  ):
      """
  
      Parameters
      ----------
      qlib_dir : str
          qlib dir
      csv_path : str
          origin csv path
      check_fields : str, optional
          check fields, by default None, check qlib_dir/features/<first_dir>/*.<freq>.bin
      freq : str, optional
          freq, value from ["day", "1m"]
      symbol_field_name: str, optional
          symbol field name, by default "symbol"
      date_field_name: str, optional
          date field name, by default "date"
      file_suffix: str, optional
          csv file suffix, by default ".csv"
      max_workers: int, optional
          max workers, by default 16
      """
      self.qlib_dir = Path(qlib_dir).expanduser()
      bin_path_list = list(self.qlib_dir.joinpath("features").iterdir())
      self.qlib_symbols = sorted(
          map(lambda x: x.name.lower(), bin_path_list)
      )
      qlib.init(
          provider_uri=str(self.qlib_dir.resolve()),
          mount_path=str(self.qlib_dir.resolve()),
          auto_mount=False,
          redis_port=-1,
      )
      csv_path = Path(csv_path).expanduser()
      self.csv_files = sorted(
          csv_path.glob(f"*{file_suffix}")
          if csv_path.is_dir()
          else [csv_path]
      )
  
      if check_fields is None:
          check_fields = list(
              map(
                  lambda x: x.name.split(".")[0],
                  bin_path_list[0].glob(f"*.bin"),
              )
          )
      else:
          check_fields = (
              check_fields.split(",")
              if isinstance(check_fields, str)
              else check_fields
          )
      self.check_fields = list(map(lambda x: x.strip(), check_fields))
      self.qlib_fields = list(map(lambda x: f"${x}", self.check_fields))
      self.max_workers = max_workers
      self.symbol_field_name = symbol_field_name
      self.date_field_name = date_field_name
      self.freq = freq
      self.file_suffix = file_suffix
  
file_path: qlib/scripts/check_dump_bin.py
imports: from pathlib import Path
  from concurrent.futures import ProcessPoolExecutor
  import qlib
  from qlib.data import D
  import fire
  import datacompy
  import pandas
  from tqdm import tqdm
  from loguru import logger
label_desc: Use image node_id 1 to create a new CheckBin object  with example: obj = CheckBin(qlib_dir, csv_path, check_fields, freq, symbol_field_name, date_field_name, file_suffix, max_workers)