class_docstr: CheckIn is a dataclass that represents a single check-in.
  
  All the time-related fields are in `time.monotonic`, relative time expressed in
  seconds, until stated otherwise. In case of `expect_next_in=0` we treat it as
  a special case, meaning that the check-in is not expected to expire.
  Indicies are used to identify check-ins and are unique within a run, auto-incremented.
docstr: Returns the time left before the check-in expires.
  
  If the check-in has no expiry date, then this returns +infinity.
docstr_tok: ["Returns","the","time","left","before","the","check-in","expires",".","If","the","check-in","has","no","expiry","date",",","then","this","returns","+infinity","."]
code: def time_left(self) -> float:
      """
      Returns the time left before the check-in expires.
  
      If the check-in has no expiry date, then this returns +infinity.
      """
      if self.expect_next_in == 0:
          return math.inf
      now = time.monotonic()
      return self.expiry_date - now
  
imports: import math
  import time
  import queue
  import threading
  from collections import defaultdict
  from dataclasses import dataclass, field
  from pathlib import Path
  from typing import ClassVar, Dict, Optional, Tuple, Set, Union, TYPE_CHECKING
  from cachetools import LRUCache
  from aim.sdk.reporter.file_manager import FileManager
  import logging
label_desc: Use image node_id 9 for calling the CheckIn obj's underlying member method code with example usage: obj.time_left() and returns: unknown, math