code: def increment_version_by(version: str, increment: str) -> str:
      """
      Increment the version by a given increment (e.g., "0.0.1" or "0.1.0" or "1.0.0").
  
      Parameters:
      -----------
      version (str): The current version number in "x.y.z" format.
      increment (str): The version increment to apply in "x.y.z" format.
  
      Returns:
      --------
      str: The updated version number after applying the increment.
  
      """
  
      version_parts = version.split(".")
      increment_parts = increment.split(".")
  
      new_version_parts = []
      for idx, part in enumerate(version_parts):
          if idx < len(increment_parts):
              new_version_parts.append(
                  str(int(part) + int(increment_parts[idx]))
              )
          else:
              new_version_parts.append("0")
  
      # If increment is "0.1.0", reset the third digit to 0
      if increment == "0.1.0" and len(version_parts) > 2:
          new_version_parts[2] = "0"
  
      # If increment is "1.0.0", reset the second and third digit to 0
      if increment == "1.0.0" and len(version_parts) > 2:
          new_version_parts[1] = "0"
          new_version_parts[2] = "0"
  
      return ".".join(new_version_parts)
  
file_path: FinQuant/scripts/update_version.py
imports: import argparse
  import re
  import subprocess
  import sys
  from typing import Optional, Tuple
label_desc: Use image node_id 2 for calling a global function with example usage: increment_version_by(version, increment) and returns: str