docs: def main() -> None:
      """
      Command-line processor. See ``--help`` for details.
      """
      parser = ArgumentParser(
          description="Remove duplicate files"
      )
      parser.add_argument(
          "directory", nargs="+",
          help="Files and/or directories to check and remove duplicates from."
      )
      parser.add_argument(
          "--recursive", action="store_true",
          help="Recurse through any directories found"
      )
      parser.add_argument(
          "--dummy_run", action="store_true",
          help="Dummy run only; don't actually delete anything"
      )
      parser.add_argument(
          "--run_repeatedly", type=int,
          help="Run the tool repeatedly with a pause of <run_repeatedly> "
               "seconds between runs. (For this to work well,"
               "you should specify one or more DIRECTORIES in "
               "the 'filename' arguments, not files, and you will need the "
               "--recursive option.)"
      )
      parser.add_argument(
          "--verbose", action="store_true",
          help="Verbose output"
      )
      args = parser.parse_args()
      main_only_quicksetup_rootlogger(
          level=logging.DEBUG if args.verbose else logging.INFO)
  
      while True:
          deduplicate(args.directory,
                      recursive=args.recursive,
                      dummy_run=args.dummy_run)
          if args.run_repeatedly is None:
              break
          log.info("Sleeping for {} s...", args.run_repeatedly)
          sleep(args.run_repeatedly)