code: def test_end_to_end(self):
      with open("keepsake.yaml", "w") as f:
          f.write('repository: "file://.keepsake"')
  
      with open("foo.txt", "w") as f:
          f.write("foo")
      with open("bar.txt", "w") as f:
          f.write("bar")
  
      experiment = keepsake.init(
          path=".", params={"myint": 10, "myfloat": 0.1}
      )
  
      with open("bar.txt", "w") as f:
          f.write("barrrr")
  
      experiment.checkpoint(path="bar.txt", metrics={"value": 123.45})
  
      experiment = keepsake.experiments.get(experiment.id)
      self.assertEqual(10, experiment.params["myint"])
      self.assertEqual(0.1, experiment.params["myfloat"])
      self.assertEqual(
          123.45, experiment.checkpoints[0].metrics["value"]
      )
  
      foo = experiment.checkpoints[0].open("foo.txt")
      self.assertEqual("foo", foo.read().decode("utf-8"))
      bar = experiment.checkpoints[0].open("bar.txt")
      self.assertEqual("barrrr", bar.read().decode("utf-8"))
  
      with self.assertRaises(ImportError):
          experiment.plot("value")
  
file_path: keepsake/nodeps-test/test_nodeps.py
imports: import tempfile
  import shutil
  import os
  import unittest
  import keepsake
label_desc: Use image node_id 3 for calling the TestPythonNoDependencies obj's underlying member method code with example usage: obj.test_end_to_end() without return types