class_docstr: Hyperparams repository that saves json files for every AutoML trial.
  
  .. seealso::
      :class:`AutoML`,
      :class:`Trainer`,
class_docstr_tok: ["Hyperparams","repository","that","saves","json","files","for","every","AutoML","trial",".","..","seealso",":",":",":","class",":","`","AutoML","`",",",":","class",":","`","Trainer","`",","]
docstr: Save metadata to scope.
  
  :param metadata: metadata to save.
  :param scope: scope to save metadata to.
  :param deep: if True, save metadata's sublocations recursively so as to update.
docstr_tok: ["Save","metadata","to","scope",".",":","param","metadata",":","metadata","to","save",".",":","param","scope",":","scope","to","save","metadata","to",".",":","param","deep",":","if","True",",","save","metadata","'s","sublocations","recursively","so","as","to","update","."]
code: def save(
      self, _dataclass: SubDataclassT, scope: ScopedLocation, deep=False
  ) -> "HyperparamsRepository":
      """
      Save metadata to scope.
  
      :param metadata: metadata to save.
      :param scope: scope to save metadata to.
      :param deep: if True, save metadata's sublocations recursively so as to update.
      """
      self._save_dc(_dataclass=_dataclass, scope=scope, deep=deep)
      return self
  
imports: import json
  import os
  import shutil
  from copy import deepcopy
  from typing import List, Optional
  from neuraxle.logging.logging import NeuraxleLogger
  from neuraxle.metaopt.data.vanilla import BaseDataclass, DataclassHasListMixin, RootDataclass, ScopedLocation, SubDataclassT, dataclass_2_id_attr, from_json, to_json
  from neuraxle.metaopt.repositories.repo import HyperparamsRepository
label_desc: Use image node_id 3 for calling the HyperparamsOnDiskRepository obj's underlying member method code with example usage: obj.save(_dataclass, scope, deep) and returns: self