code: def main():
      parser = ArgumentParser()
      parser.add_argument("-d", "--dir", help="directory to archive")
      parser.add_argument("-o", "--out", help="archive destination")
      parser.add_argument("-p", "--prepend", help="prepend path")
      parser.add_argument(
          "-t",
          "--timestamp",
          help="timestamp of files",
          type=int,
          default=get_source_date_epoch(),
      )
  
      args = parser.parse_args()
  
      if not args.dir or not args.out:
          error = (
              "You should provide a directory to archive, and the "
              f"archive file name, not {repr((args.dir, args.out))}"
          )
          raise ValueError(error)
  
      archive_deterministically(
          args.dir, args.out, args.prepend, args.timestamp
      )
  
file_path: airflow/dev/breeze/src/airflow_breeze/utils/reproducible.py
imports: from __future__ import annotations
  import contextlib
  import gzip
  import itertools
  import locale
  import os
  import tarfile
  from argparse import ArgumentParser
  from airflow_breeze.utils.path_utils import AIRFLOW_SOURCES_ROOT
label_desc: Use image node_id 5 for calling a global function with example usage: main() without return types