class_docstr: Handles loading and storing Artifact reference-type files.
class_docstr_tok: ["Handles","loading","and","storing","Artifact","reference-type","files","."]
docstr: Store the file or directory at the given path into the specified artifact.
  
  Recursively resolves the reference until the result is a concrete asset.
  
  Arguments:
      artifact: The artifact doing the storing path (str): The path to store name
      (str): If specified, the logical name that should map to `path`
  
  Returns:
      (list[ArtifactManifestEntry]): A list of manifest entries to store within
      the artifact
docstr_tok: ["Store","the","file","or","directory","at","the","given","path","into","the","specified","artifact",".","Recursively","resolves","the","reference","until","the","result","is","a","concrete","asset",".","Arguments",":","artifact",":","The","artifact","doing","the","storing","path","(","str",")",":","The","path","to","store","name","(","str",")",":","If","specified",",","the","logical","name","that","should","map","to","`","path","`","Returns",":","(","list","[","ArtifactManifestEntry","]",")",":","A","list","of","manifest","entries","to","store","within","the","artifact"]
code: def store_path(
      self,
      artifact: "Artifact",
      path: Union[URIStr, FilePathStr],
      name: Optional[StrPath] = None,
      checksum: bool = True,
      max_objects: Optional[int] = None,
  ) -> Sequence[ArtifactManifestEntry]:
      """Store the file or directory at the given path into the specified artifact.
  
      Recursively resolves the reference until the result is a concrete asset.
  
      Arguments:
          artifact: The artifact doing the storing path (str): The path to store name
          (str): If specified, the logical name that should map to `path`
  
      Returns:
          (list[ArtifactManifestEntry]): A list of manifest entries to store within
          the artifact
      """
      # Recursively resolve the reference until a concrete asset is found
      # TODO: Consider resolving server-side for performance improvements.
      iter_path: Union[URIStr, FilePathStr, None] = path
      while (
          iter_path is not None
          and urlparse(iter_path).scheme == self._scheme
      ):
          artifact_id = util.host_from_path(iter_path)
          artifact_file_path = util.uri_from_path(iter_path)
          target_artifact = wandb.Artifact._from_id(
              hex_to_b64_id(artifact_id), self.client.client
          )
          assert target_artifact is not None
  
          entry = target_artifact.manifest.get_entry_by_path(
              artifact_file_path
          )
          assert entry is not None
          iter_path = entry.ref
  
      # Create the path reference
      assert target_artifact is not None
      assert target_artifact.id is not None
      path = URIStr(
          "{}://{}/{}".format(
              self._scheme,
              b64_to_hex_id(B64MD5(target_artifact.id)),
              artifact_file_path,
          )
      )
  
      # Return the new entry
      assert entry is not None
      return [
          ArtifactManifestEntry(
              path=name or os.path.basename(path),
              ref=path,
              size=0,
              digest=entry.digest,
          )
      ]
  
file_path: wandb/wandb/sdk/artifacts/storage_handlers/wb_artifact_handler.py
imports: import os
  from typing import TYPE_CHECKING, Optional, Sequence, Union
  from urllib.parse import urlparse
  import wandb
  from wandb import util
  from wandb.apis import PublicApi
  from wandb.sdk.artifacts.artifact_file_cache import get_artifact_file_cache
  from wandb.sdk.artifacts.artifact_manifest_entry import ArtifactManifestEntry
  from wandb.sdk.artifacts.storage_handler import StorageHandler
  from wandb.sdk.lib.hashutil import B64MD5, b64_to_hex_id, hex_to_b64_id
  from wandb.sdk.lib.paths import FilePathStr, StrPath, URIStr
label_desc: Use image node_id 5 for calling the WBArtifactHandler obj's underlying member method code with example usage: obj.store_path(artifact, path, name, checksum, max_objects) and returns: list