code: def register_subcommand(parser: _SubParsersAction):
      upload_parser = parser.add_parser(
          "upload",
          help="Upload a file or a folder to a repo on the Hub",
      )
      upload_parser.add_argument(
          "repo_id",
          type=str,
          help="The ID of the repo to upload to (e.g. `username/repo-name`).",
      )
      upload_parser.add_argument(
          "local_path",
          nargs="?",
          help="Local path to the file or folder to upload. Defaults to current directory.",
      )
      upload_parser.add_argument(
          "path_in_repo",
          nargs="?",
          help="Path of the file or folder in the repo. Defaults to the relative path of the file or folder.",
      )
      upload_parser.add_argument(
          "--repo-type",
          choices=["model", "dataset", "space"],
          default="model",
          help="Type of the repo to upload to (e.g. `dataset`).",
      )
      upload_parser.add_argument(
          "--revision",
          type=str,
          help=(
              "An optional Git revision to push to. It can be a branch name or a PR reference. If revision does not"
              " exist and `--create-pr` is not set, a branch will be automatically created."
          ),
      )
      upload_parser.add_argument(
          "--private",
          action="store_true",
          help=(
              "Whether to create a private repo if repo doesn't exist on the Hub. Ignored if the repo already"
              " exists."
          ),
      )
      upload_parser.add_argument(
          "--include",
          nargs="*",
          type=str,
          help="Glob patterns to match files to upload.",
      )
      upload_parser.add_argument(
          "--exclude",
          nargs="*",
          type=str,
          help="Glob patterns to exclude from files to upload.",
      )
      upload_parser.add_argument(
          "--delete",
          nargs="*",
          type=str,
          help="Glob patterns for file to be deleted from the repo while committing.",
      )
      upload_parser.add_argument(
          "--commit-message",
          type=str,
          help="The summary / title / first line of the generated commit.",
      )
      upload_parser.add_argument(
          "--commit-description",
          type=str,
          help="The description of the generated commit.",
      )
      upload_parser.add_argument(
          "--create-pr",
          action="store_true",
          help="Whether to upload content as a new Pull Request.",
      )
      upload_parser.add_argument(
          "--every",
          type=float,
          help="If set, a background job is scheduled to create commits every `every` minutes.",
      )
      upload_parser.add_argument(
          "--token",
          type=str,
          help="A User Access Token generated from https://huggingface.co/settings/tokens",
      )
      upload_parser.add_argument(
          "--quiet",
          action="store_true",
          help="If True, progress bars are disabled and only the path to the uploaded files is printed.",
      )
      upload_parser.set_defaults(func=UploadCommand)
  
file_path: huggingface_hub/src/huggingface_hub/commands/upload.py
imports: import os
  import time
  import warnings
  from argparse import Namespace, _SubParsersAction
  from typing import List, Optional
  from huggingface_hub import logging
  from huggingface_hub._commit_scheduler import CommitScheduler
  from huggingface_hub.commands import BaseHuggingfaceCLICommand
  from huggingface_hub.constants import HF_HUB_ENABLE_HF_TRANSFER
  from huggingface_hub.hf_api import HfApi
  from huggingface_hub.utils import RevisionNotFoundError, disable_progress_bars, enable_progress_bars
label_desc: Use image node_id 1 for calling the UploadCommand obj's underlying member method code with example usage: obj.register_subcommand(parser) without return types