class_docstr: Stores artifacts on Amazon S3.
class_docstr_tok: ["Stores","artifacts","on","Amazon","S3","."]
docstr: Parse an S3 URI, returning (bucket, path)
docstr_tok: ["Parse","an","S3","URI",",","returning","(","bucket",",","path",")"]
code: def parse_s3_compliant_uri(self, uri):
      """Parse an S3 URI, returning (bucket, path)"""
      parsed = urllib.parse.urlparse(uri)
      if parsed.scheme != "s3":
          raise Exception(f"Not an S3 URI: {uri}")
      path = parsed.path
      if path.startswith("/"):
          path = path[1:]
      return parsed.netloc, path
  
imports: import json
  import os
  import posixpath
  import urllib.parse
  from datetime import datetime
  from functools import lru_cache
  from mimetypes import guess_type
  from mlflow.entities import FileInfo
  from mlflow.entities.multipart_upload import CreateMultipartUploadResponse, MultipartUploadCredential
  from mlflow.environment_variables import MLFLOW_S3_ENDPOINT_URL, MLFLOW_S3_IGNORE_TLS, MLFLOW_S3_UPLOAD_EXTRA_ARGS
  from mlflow.exceptions import MlflowException
  from mlflow.store.artifact.artifact_repo import ArtifactRepository, MultipartUploadMixin
  from mlflow.utils.file_utils import relative_path_to_artifact_path
label_desc: Use image node_id 3 for calling the S3ArtifactRepository obj's underlying member method code with example usage: obj.parse_s3_compliant_uri(uri) and returns: parsed,  path