class_docstr: Represents the WeiGit repo for tracking neural network weights and their versions.
  
  A WeiGit repo is like a git repo. It is a dir, in which a .wgit dir exists to keep
  track of the content.
  
  Args:
      parent_dir (Path, str):
          Parent dir in which to make or to load a .wgit dir.
          Default: "", which means CWD.
      init (bool, optional):
          - If ``True``, initializes a new WeiGit repo in the parent_dir. Initialization
            creates a `.wgit` directory within the <parent_dir>, triggers an initialization.
            of a sha1_store in the ./<parent_dir>/.wgit directory, and makes the
            ./<parent_dir>/.wgit a git repository through git initialization.
          - If ``False``, a new WeiGit repo is not initialized and the existing repo is
            wrapped, populating the `_wgit_parent` and other internal attributes.
          - Default: False
class_docstr_tok: ["Represents","the","WeiGit","repo","for","tracking","neural","network","weights","and","their","versions",".","A","WeiGit","repo","is","like","a","git","repo",".","It","is","a","dir",",","in","which","a",".wgit","dir","exists","to","keep","track","of","the","content",".","Args",":","parent_dir","(","Path",",","str",")",":","Parent","dir","in","which","to","make","or","to","load","a",".wgit","dir",".","Default",":","``","''",",","which","means","CWD",".","init","(","bool",",","optional",")",":","-","If","``","True","``",",","initializes","a","new","WeiGit","repo","in","the","parent_dir",".","Initialization","creates","a","`",".wgit","`","directory","within","the","<","parent_dir",">",",","triggers","an","initialization",".","of","a","sha1_store","in","the",".\/","<","parent_dir",">","\/.wgit","directory",",","and","makes","the",".\/","<","parent_dir",">","\/.wgit","a","git","repository","through","git","initialization",".","-","If","``","False","``",",","a","new","WeiGit","repo","is","not","initialized","and","the","existing","repo","is","wrapped",",","populating","the","`","_wgit_parent","`","and","other","internal","attributes",".","-","Default",":","False"]
docstr: Create a metadata_file corresponding to the file to be tracked by weigit if
  the first version of the file is encountered. If a version already exists, open
  the file and get the sha1_hash of the last version as parent_sha1.
docstr_tok: ["Create","a","metadata_file","corresponding","to","the","file","to","be","tracked","by","weigit","if","the","first","version","of","the","file","is","encountered",".","If","a","version","already","exists",",","open","the","file","and","get","the","sha1_hash","of","the","last","version","as","parent_sha1","."]
code: def _process_metadata_file(self, metadata_fname: Path) -> Path:
      """Create a metadata_file corresponding to the file to be tracked by weigit if
      the first version of the file is encountered. If a version already exists, open
      the file and get the sha1_hash of the last version as parent_sha1.
      """
      metadata_file = self._dot_wgit_dir_path.joinpath(metadata_fname)
      metadata_file.parent.mkdir(
          parents=True, exist_ok=True
      )  # create parent dirs for metadata file
  
      if not metadata_file.exists() or not metadata_file.stat().st_size:
          metadata_file.touch()
      else:
          with open(metadata_file, "r") as f:
              ref_data = json.load(f)
      return metadata_file
  
imports: import copy
  from dataclasses import dataclass
  from enum import Enum
  import json
  from pathlib import Path
  import sys
  from typing import Any, Dict, List, Optional, Union
  import torch
  from torch import Tensor
  from .pygit import PyGit
  from .sha1_store import SHA1_Store
label_desc: Use image node_id 16 for calling the Repo obj's underlying member method code with example usage: obj._process_metadata_file(metadata_fname) and returns: metadata_file