class_docstr: Parallel file upload class.
  
  This manages uploading multiple files in parallel. It will restart a given file's
  upload job if it receives a notification that that file has been modified. The
  finish() method will block until all events have been processed and all uploads are
  complete.
class_docstr_tok: ["Parallel","file","upload","class",".","This","manages","uploading","multiple","files","in","parallel",".","It","will","restart","a","given","file's","upload","job","if","it","receives","a","notification","that","that","file","has","been","modified",".","The","finish","(",")","method","will","block","until","all","events","have","been","processed","and","all","uploads","are","complete","."]
code: def commit_artifact(
      self,
      artifact_id: str,
      *,
      finalize: bool = True,
      before_commit: step_upload.PreCommitFn,
      result_future: "concurrent.futures.Future[None]",
  ):
      event = step_checksum.RequestCommitArtifact(
          artifact_id, finalize, before_commit, result_future
      )
      self._incoming_queue.put(event)
  
imports: import concurrent.futures
  import logging
  import os
  import queue
  import tempfile
  import threading
  import time
  from typing import TYPE_CHECKING, Optional, Tuple
  import wandb
  import wandb.util
  from wandb.filesync import stats, step_checksum, step_upload
  from wandb.sdk.lib.paths import LogicalPath
label_desc: Use image node_id 8 for calling the FilePusher obj's underlying member method code with example usage: obj.commit_artifact(artifact_id) without return types