class_docstr: Derived callable classes are requeued after timeout with their current
  state dumped at checkpoint.
  
  __call__ method must be implemented to make your class a callable.
  
  Note
  ----
  The following implementation of the checkpoint method resubmits the full current
  state of the callable (self) with the initial argument. You may want to replace the method to
  curate the state (dump a neural network to a standard format and remove it from
  the state so that not to pickle it) and change/remove the initial parameters.
code: def __new__(cls, *args, **kwargs):
      instance = super().__new__(cls)
      assert callable(
          instance
      ), f"Class {cls.__name__} is marked as Checkpointable but doesn't have a __call__ method. Please add a __call__ method."
      return instance
  
imports: import collections
  import contextlib
  import datetime
  import itertools
  import os
  import random
  import shutil
  import subprocess
  import tempfile
  import time
  import typing
  from pathlib import Path
  from .core import core
  from .core.job_environment import JobEnvironment
  from .core.utils import CommandFunction
  from .core.utils import DelayedSubmission
  from .core.utils import environment_variables
label_desc: Use image node_id 1 for calling the Checkpointable obj's underlying member method code with example usage: obj.__new__(cls) and returns: instance