code: def add_artifact(
              self,
              filename,
              name=None,
              metadata=None,
              content_type=None,
      ):
          
          filename = os.path.abspath(filename)
          name = os.path.basename(filename) if name is None else name
          self._emit_artifact_added(name, filename, metadata, content_type)
docs: Add a file as an artifact.
  
          In Sacred terminology an artifact is a file produced by the experiment
          run. In case of a MongoObserver that means storing the file in the
          database.
  
          See also :py:meth:`sacred.Experiment.add_artifact`.
  
          Parameters
          ----------
          filename : str
              name of the file to be stored as artifact
          name : str, optional
              optionally set the name of the artifact.
              Defaults to the filename.
          metadata: dict
              optionally attach metadata to the artifact.
              This only has an effect when using the MongoObserver.
          content_type: str, optional
              optionally attach a content-type to the artifact.
              This only has an effect when using the MongoObserver.