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: Get size info for a file or the whole repo.
  
  For the whole repo, just call size_info from sha1_store.
  
  For a file, needs to open the metadata and find the sha1 and then
  for per_tensor state_dict, collect size_info on all objects.
  
  TODO (Min): not exactly clear it is easy to compute this with
              delta encoding, deduplication between objects, this
              is possible to compute precisely.
  
  Args:
      path (str, optional):
          File path for the query. If None, return whole repo's info.
          Default: None
  
  Returns:
      (SizeInfo):
          The dataclass that contains the size info.
docstr_tok: ["Get","size","info","for","a","file","or","the","whole","repo",".","For","the","whole","repo",",","just","call","size_info","from","sha1_store",".","For","a","file",",","needs","to","open","the","metadata","and","find","the","sha1","and","then","for","per_tensor","state_dict",",","collect","size_info","on","all","objects",".","TODO","(","Min",")",":","not","exactly","clear","it","is","easy","to","compute","this","with","delta","encoding",",","deduplication","between","objects",",","this","is","possible","to","compute","precisely",".","Args",":","path","(","str",",","optional",")",":","File","path","for","the","query",".","If","None",",","return","whole","repo","'s","info",".","Default",":","None","Returns",":","(","SizeInfo",")",":","The","dataclass","that","contains","the","size","info","."]
code: def size_info(self, path: Optional[str] = None) -> SizeInfo:
      """Get size info for a file or the whole repo.
  
      For the whole repo, just call size_info from sha1_store.
  
      For a file, needs to open the metadata and find the sha1 and then
      for per_tensor state_dict, collect size_info on all objects.
  
      TODO (Min): not exactly clear it is easy to compute this with
                  delta encoding, deduplication between objects, this
                  is possible to compute precisely.
  
      Args:
          path (str, optional):
              File path for the query. If None, return whole repo's info.
              Default: None
  
      Returns:
          (SizeInfo):
              The dataclass that contains the size info.
      """
      raise NotImplementedError()
  
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 8 for calling the Repo obj's underlying member method code with example usage: obj.size_info(path) without return types