class_docstr: A single run associated with an entity and project.
  
  Attributes:
      tags ([str]): a list of tags associated with the run
      url (str): the url of this run
      id (str): unique identifier for the run (defaults to eight characters)
      name (str): the name of the run
      state (str): one of: running, finished, crashed, killed, preempting, preempted
      config (dict): a dict of hyperparameters associated with the run
      created_at (str): ISO timestamp when the run was started
      system_metrics (dict): the latest system metrics recorded for the run
      summary (dict): A mutable dict-like property that holds the current summary.
                  Calling update will persist any changes.
      project (str): the project associated with the run
      entity (str): the name of the entity associated with the run
      user (str): the name of the user who created the run
      path (str): Unique identifier [entity]/[project]/[run_id]
      notes (str): Notes about the run
      read_only (boolean): Whether the run is editable
      history_keys (str): Keys of the history metrics that have been logged
          with `wandb.log({key: value})`
      metadata (str): Metadata about the run from wandb-metadata.json
class_docstr_tok: ["A","single","run","associated","with","an","entity","and","project",".","Attributes",":","tags","(","[","str","]",")",":","a","list","of","tags","associated","with","the","run","url","(","str",")",":","the","url","of","this","run","id","(","str",")",":","unique","identifier","for","the","run","(","defaults","to","eight","characters",")","name","(","str",")",":","the","name","of","the","run","state","(","str",")",":","one","of",":","running",",","finished",",","crashed",",","killed",",","preempting",",","preempted","config","(","dict",")",":","a","dict","of","hyperparameters","associated","with","the","run","created_at","(","str",")",":","ISO","timestamp","when","the","run","was","started","system_metrics","(","dict",")",":","the","latest","system","metrics","recorded","for","the","run","summary","(","dict",")",":","A","mutable","dict-like","property","that","holds","the","current","summary",".","Calling","update","will","persist","any","changes",".","project","(","str",")",":","the","project","associated","with","the","run","entity","(","str",")",":","the","name","of","the","entity","associated","with","the","run","user","(","str",")",":","the","name","of","the","user","who","created","the","run","path","(","str",")",":","Unique","identifier","[","entity","]","\/","[","project","]","\/","[","run_id","]","notes","(","str",")",":","Notes","about","the","run","read_only","(","boolean",")",":","Whether","the","run","is","editable","history_keys","(","str",")",":","Keys","of","the","history","metrics","that","have","been","logged","with","`","wandb.log","(","{","key",":","value","}",")","`","metadata","(","str",")",":","Metadata","about","the","run","from","wandb-metadata.json"]
docstr: Returns an iterable collection of all history records for a run.
  
  Example:
      Export all the loss values for an example run
  
      ```python
      run = api.run("l2k2/examples-numpy-boston/i0wt6xua")
      history = run.scan_history(keys=["Loss"])
      losses = [row["Loss"] for row in history]
      ```
  
  
  Arguments:
      keys ([str], optional): only fetch these keys, and only fetch rows that have all of keys defined.
      page_size (int, optional): size of pages to fetch from the api
  
  Returns:
      An iterable collection over history records (dict).
code: def scan_history(
      self, keys=None, page_size=1000, min_step=None, max_step=None
  ):
      """Returns an iterable collection of all history records for a run.
  
      Example:
          Export all the loss values for an example run
  
          ```python
          run = api.run("l2k2/examples-numpy-boston/i0wt6xua")
          history = run.scan_history(keys=["Loss"])
          losses = [row["Loss"] for row in history]
          ```
  
  
      Arguments:
          keys ([str], optional): only fetch these keys, and only fetch rows that have all of keys defined.
          page_size (int, optional): size of pages to fetch from the api
  
      Returns:
          An iterable collection over history records (dict).
      """
      if keys is not None and not isinstance(keys, list):
          wandb.termerror("keys must be specified in a list")
          return []
      if (
          keys is not None
          and len(keys) > 0
          and not isinstance(keys[0], str)
      ):
          wandb.termerror("keys argument must be a list of strings")
          return []
  
      last_step = self.lastHistoryStep
      # set defaults for min/max step
      if min_step is None:
          min_step = 0
      if max_step is None:
          max_step = last_step + 1
      # if the max step is past the actual last step, clamp it down
      if max_step > last_step:
          max_step = last_step + 1
      if keys is None:
          return public.HistoryScan(
              run=self,
              client=self.client,
              page_size=page_size,
              min_step=min_step,
              max_step=max_step,
          )
      else:
          return public.SampledHistoryScan(
              run=self,
              client=self.client,
              keys=keys,
              page_size=page_size,
              min_step=min_step,
              max_step=max_step,
          )
  
imports: import json
  import os
  import tempfile
  import time
  import urllib
  from typing import TYPE_CHECKING, Any, Dict, Mapping, Optional
  from wandb_gql import gql
  import wandb
  from wandb import env, util
  from wandb.apis import public
  from wandb.apis.attrs import Attrs
  from wandb.apis.internal import Api
  from wandb.apis.normalize import normalize_exceptions
  from wandb.apis.paginator import Paginator
  from wandb.apis.public.const import RETRY_TIMEDELTA
  from wandb.sdk.lib import ipython, json_util, runid
  from wandb.sdk.lib.paths import LogicalPath
label_desc: Use image node_id 24 for calling the Run obj's underlying member method code with example usage: obj.scan_history(keys, page_size, min_step, max_step) and returns: list, list, public, public