code: def run(
      qlib_dir: Union[str, Path],
      region: str = "cn",
      start_date: str = None,
      end_date: str = None,
  ):
      """Collect future calendar(day)
  
      Parameters
      ----------
      qlib_dir:
          qlib data directory
      region:
          cn/CN or us/US
      start_date
          start date
      end_date
          end date
  
      Examples
      -------
          # get cn future calendar
          $ python future_calendar_collector.py --qlib_data_1d_dir <user data dir> --region cn
      """
      logger.info(f"collector future calendar: region={region}")
      _cur_module = importlib.import_module("future_calendar_collector")
      _class = getattr(
          _cur_module, f"CollectorFutureCalendar{region.upper()}"
      )
      collector = _class(
          qlib_dir=qlib_dir, start_date=start_date, end_date=end_date
      )
      collector.write_calendar(collector.collector())
  
imports: import abc
  import importlib
  from pathlib import Path
  from typing import Union, Iterable, List
  import fire
  import numpy
  import pandas
  import baostock
  from loguru import logger
label_desc: Use image node_id 1 for calling a global function with example usage: run(qlib_dir, region, start_date, end_date) without return types