iterative / gto

🏷️ Git Tag Ops. Turn your Git repository into Artifact Registry or Model Registry.
https://dvc.org/doc/gto
Apache License 2.0
140 stars 16 forks source link

maximum recursion depth exceeded while calling a Python object #369

Closed aguschin closed 1 year ago

aguschin commented 1 year ago
--> gto show --repo REPO

❌ Unexpected error: maximum recursion depth exceeded while calling a Python object
Please report it here running with '--traceback' flag: <https://github.com/iterative/gto/issues>
RaghavaAlajangi commented 1 year ago

Hai @aguschin,

The following error appeared when I ran gto --traceback show --repo REPO:

During handling of the above exception, another exception occurred:

┌─────────────────────────────── Traceback (most recent call last) ────────────────────────────────┐
│ C:\Users\ragha\Anaconda\envs\dvc\lib\tempfile.py:820 in onerror                                  │
│                                                                                                  │
│   817 │   │   │   │   │   resetperms(path)                                                       │
│   818 │   │   │   │   │                                                                          │
│   819 │   │   │   │   │   try:                                                                   │
│ > 820 │   │   │   │   │   │   _os.unlink(path)                                                   │
│   821 │   │   │   │   │   # PermissionError is raised on FreeBSD for directories                 │
│   822 │   │   │   │   │   except (IsADirectoryError, PermissionError):                           │
│   823 │   │   │   │   │   │   cls._rmtree(path, ignore_errors=ignore_errors)                     │
│                                                                                                  │
│ ┌─────────────────────────────────────────── locals ───────────────────────────────────────────┐ │
│ │           cls = <class 'tempfile.TemporaryDirectory'>                                        │ │
│ │      exc_info = (                                                                            │ │
│ │                 │   <class 'PermissionError'>,                                               │ │
│ │                 │   PermissionError(13, 'The process cannot access the file because it is    │ │
│ │                 being used by another process'),                                             │ │
│ │                 │   <traceback object at 0x000001BBB62856C0>                                 │ │
│ │                 )                                                                            │ │
│ │          func = <built-in function rmdir>                                                    │ │
│ │ ignore_errors = False                                                                        │ │
│ │          name = 'C:\\Users\\ragha\\AppData\\Local\\Temp\\tmpmeq_484f'                        │ │
│ │          path = 'C:\\Users\\ragha\\AppData\\Local\\Temp\\tmpmeq_484f'                        │ │
│ │    resetperms = <function TemporaryDirectory._rmtree.<locals>.onerror.<locals>.resetperms at │ │
│ │                 0x000001BBB6288280>                                                          │ │
│ └──────────────────────────────────────────────────────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────────────────────────────────────────────────┘
PermissionError: [WinError 5] Access is denied: 'C:\\Users\\ragha\\AppData\\Local\\Temp\\tmpmeq_484f'

During handling of the above exception, another exception occurred:

┌─────────────────────────────── Traceback (most recent call last) ────────────────────────────────┐
│ C:\Users\ragha\Anaconda\envs\dvc\lib\shutil.py:619 in _rmtree_unsafe                             │
│                                                                                                  │
│    616 │   │   │   except OSError:                                                               │
│    617 │   │   │   │   onerror(os.unlink, fullname, sys.exc_info())                              │
│    618 │   try:                                                                                  │
│ >  619 │   │   os.rmdir(path)                                                                    │
│    620 │   except OSError:                                                                       │
│    621 │   │   onerror(os.rmdir, path, sys.exc_info())                                           │
│    622                                                                                           │
│                                                                                                  │
│ ┌───────────────────────────────────────── locals ──────────────────────────────────────────┐    │
│ │    entries = []                                                                           │    │
│ │    onerror = <function TemporaryDirectory._rmtree.<locals>.onerror at 0x000001BBB6288310> │    │
│ │       path = 'C:\\Users\\ragha\\AppData\\Local\\Temp\\tmpmeq_484f'                        │    │
│ │ scandir_it = <nt.ScandirIterator object at 0x000001BBB3E9B8A0>                            │    │
│ └───────────────────────────────────────────────────────────────────────────────────────────┘    │
└──────────────────────────────────────────────────────────────────────────────────────────────────┘
PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'C:\\Users\\ragha\\AppData\\Local\\Temp\\tmpmeq_484f'

During handling of the above exception, another exception occurred:
 C:\Users\ragha\Anaconda\envs\dvc\lib\shutil.py:747 in rmtree                                     │
│                                                                                                  │
│    744 │   │   │   onerror(os.path.islink, path, sys.exc_info())                                 │
│    745 │   │   │   # can't continue even if onerror hook returns                                 │
│    746 │   │   │   return                                                                        │
│ >  747 │   │   return _rmtree_unsafe(path, onerror)                                              │
│    748                                                                                           │
│    749 # Allow introspection of whether or not the hardening against symlink                     │
│    750 # attacks is supported on the current platform                                            │
│                                                                                                  │
│ ┌─────────────────────────────────────────── locals ───────────────────────────────────────────┐ │
│ │ ignore_errors = False                                                                        │ │
│ │       onerror = <function TemporaryDirectory._rmtree.<locals>.onerror at 0x000001BBB62E5510> │ │
│ │          path = 'C:\\Users\\ragha\\AppData\\Local\\Temp\\tmpmeq_484f'                        │ │
│ └──────────────────────────────────────────────────────────────────────────────────────────────┘ │
│                                                                                                  │
│ C:\Users\ragha\Anaconda\envs\dvc\lib\shutil.py:621 in _rmtree_unsafe                             │
│                                                                                                  │
│    618 │   try:                                                                                  │
│    619 │   │   os.rmdir(path)                                                                    │
│    620 │   except OSError:                                                                       │
│ >  621 │   │   onerror(os.rmdir, path, sys.exc_info())                                           │
│    622                                                                                           │
│    623 # Version using fd-based APIs to protect against races                                    │
│    624 def _rmtree_safe_fd(topfd, path, onerror):                                                │
│                                                                                                  │
│ ┌───────────────────────────────────────── locals ──────────────────────────────────────────┐    │
│ │    entries = []                                                                           │    │
│ │    onerror = <function TemporaryDirectory._rmtree.<locals>.onerror at 0x000001BBB62E5510> │    │
│ │       path = 'C:\\Users\\ragha\\AppData\\Local\\Temp\\tmpmeq_484f'                        │    │
│ │ scandir_it = <nt.ScandirIterator object at 0x000001BBB3EB9670>                            │    │
│ └───────────────────────────────────────────────────────────────────────────────────────────┘    │
│                                                                                                  │
│ C:\Users\ragha\Anaconda\envs\dvc\lib\tempfile.py:823 in onerror                                  │
│                                                                                                  │
│   820 │   │   │   │   │   │   _os.unlink(path)                                                   │
│   821 │   │   │   │   │   # PermissionError is raised on FreeBSD for directories                 │
│   822 │   │   │   │   │   except (IsADirectoryError, PermissionError):                           │
│ > 823 │   │   │   │   │   │   cls._rmtree(path, ignore_errors=ignore_errors)                     │
│   824 │   │   │   │   except FileNotFoundError:                                                  │
│   825 │   │   │   │   │   pass                                                                   │
│   826 │   │   │   elif issubclass(exc_info[0], FileNotFoundError):                               │
│                                                                                                  │
│ ┌─────────────────────────────────────────── locals ───────────────────────────────────────────┐ │
│ │           cls = <class 'tempfile.TemporaryDirectory'>                                        │ │
│ │      exc_info = (                                                                            │ │
│ │                 │   <class 'PermissionError'>,                                               │ │
│ │                 │   PermissionError(13, 'The process cannot access the file because it is    │ │
│ │                 being used by another process'),                                             │ │
│ │                 │   <traceback object at 0x000001BBB62D7AC0>                                 │ │
│ │                 )                                                                            │ │
│ │          func = <built-in function rmdir>                                                    │ │
│ │ ignore_errors = False                                                                        │ │
│ │          name = 'C:\\Users\\ragha\\AppData\\Local\\Temp\\tmpmeq_484f'                        │ │
│ │          path = 'C:\\Users\\ragha\\AppData\\Local\\Temp\\tmpmeq_484f'                        │ │
│ │    resetperms = <function TemporaryDirectory._rmtree.<locals>.onerror.<locals>.resetperms at │ │
│ │                 0x000001BBB62E55A0>                                                          │ │
│ └──────────────────────────────────────────────────────────────────────────────────────────────┘ │
│                                                                                                  │
│ C:\Users\ragha\Anaconda\envs\dvc\lib\tempfile.py:832 in _rmtree                                  │
│                                                                                                  │
│   829 │   │   │   │   if not ignore_errors:                                                      │
│   830 │   │   │   │   │   raise                                                                  │
│   831 │   │                                                                                      │
│ > 832 │   │   _shutil.rmtree(name, onerror=onerror)                                              │
│   833 │                                                                                          │
│   834 │   @classmethod                                                                           │
│   835 │   def _cleanup(cls, name, warn_message, ignore_errors=False):                            │
│                                                                                                  │
│ ┌─────────────────────────────────────────── locals ───────────────────────────────────────────┐ │
│ │           cls = <class 'tempfile.TemporaryDirectory'>                                        │ │
│ │ ignore_errors = False                                                                        │ │
│ │          name = 'C:\\Users\\ragha\\AppData\\Local\\Temp\\tmpmeq_484f'                        │ │
│ │       onerror = <function TemporaryDirectory._rmtree.<locals>.onerror at 0x000001BBB62E5630> │ │
│ └──────────────────────────────────────────────────────────────────────────────────────────────┘ │
│                                                                                                  │
│ C:\Users\ragha\Anaconda\envs\dvc\lib\shutil.py:696 in rmtree                                     │
│                                                                                                  │
│    693 │   is false and onerror is None, an exception is raised.                                 │
│    694 │                                                                                         │
│    695 │   """                                                                                   │
│ >  696 │   sys.audit("shutil.rmtree", path)                                                      │
│    697 │   if ignore_errors:                                                                     │
│    698 │   │   def onerror(*args):                                                               │
│    699 │   │   │   pass                                                                          │
│                                                                                                  │
│ ┌─────────────────────────────────────────── locals ───────────────────────────────────────────┐ │
│ │ ignore_errors = False                                                                        │ │
│ │       onerror = <function TemporaryDirectory._rmtree.<locals>.onerror at 0x000001BBB62E5630> │ │
│ │          path = 'C:\\Users\\ragha\\AppData\\Local\\Temp\\tmpmeq_484f'                        │ │
│ └──────────────────────────────────────────────────────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────────────────────────────────────────────────┘
RecursionError: maximum recursion depth exceeded while calling a Python object
aguschin commented 1 year ago

Hi @RaghavaAlajangi! Interesting, I'm not seeing any gto code in the traceback - only some dvc functions. Is this a full traceback? During handling of the above exception, another exception occurred: means there should be something else above. Could you please post it as well?

Also, are you running this command on the remote repo (on github/gitlab/etc?) or on a local repo (the one you already cloned from github/etc)?

RaghavaAlajangi commented 1 year ago

Hai @aguschin, yes, I am running this command on the remote repo. I haven't cloned it.

gto --traceback show --repo https://gitlab.gwdg.de/raghava.alajangi/mlops-with-dvc
┌─────────────────────────────── Traceback (most recent call last) ────────────────────────────────┐
│ C:\Users\ralajan\Anaconda3\envs\mlops\lib\shutil.py:618 in _rmtree_unsafe                        │
│                                                                                                  │
│    615 │   │   │   _rmtree_unsafe(fullname, onerror)                                             │
│    616 │   │   else:                                                                             │
│    617 │   │   │   try:                                                                          │
│ >  618 │   │   │   │   os.unlink(fullname)                                                       │
│    619 │   │   │   except OSError:                                                               │
│    620 │   │   │   │   onerror(os.unlink, fullname, sys.exc_info())                              │
│    621 │   try:                                                                                  │
│                                                                                                  │
│ ┌─────────────────────────────────────────── locals ───────────────────────────────────────────┐ │
│ │    entries = [                                                                               │ │
│ │              │   <DirEntry 'pack-85508dba7574aa155e60e221069050bca24b7bb0.idx'>,             │ │
│ │              │   <DirEntry 'pack-85508dba7574aa155e60e221069050bca24b7bb0.pack'>             │ │
│ │              ]                                                                               │ │
│ │      entry = <DirEntry 'pack-85508dba7574aa155e60e221069050bca24b7bb0.idx'>                  │ │
│ │   fullname = 'C:\\Users\\ralajan\\AppData\\Local\\Temp\\tmprd8a4bog\\.git\\objects\\pack\\p… │ │
│ │    onerror = <function TemporaryDirectory._rmtree.<locals>.onerror at 0x0000024377103F40>    │ │
│ │       path = 'C:\\Users\\ralajan\\AppData\\Local\\Temp\\tmprd8a4bog\\.git\\objects\\pack'    │ │
│ │ scandir_it = <nt.ScandirIterator object at 0x0000024374B26580>                               │ │
│ └──────────────────────────────────────────────────────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────────────────────────────────────────────────┘
PermissionError: [WinError 5] Access is denied: 'C:\\Users\\ralajan\\AppData\\Local\\Temp\\tmprd8a4bog\\.git\\objects\\pack\\pack-85508dba7574aa155e60e221069050bca24b7bb0.idx'

During handling of the above exception, another exception occurred:

┌─────────────────────────────── Traceback (most recent call last) ────────────────────────────────┐
│ C:\Users\ralajan\Anaconda3\envs\mlops\lib\tempfile.py:843 in onerror                             │
│                                                                                                  │
│   840 │   │   │   │   │   resetperms(path)                                                       │
│   841 │   │   │   │   │                                                                          │
│   842 │   │   │   │   │   try:                                                                   │
│ > 843 │   │   │   │   │   │   _os.unlink(path)                                                   │
│   844 │   │   │   │   │   # PermissionError is raised on FreeBSD for directories                 │
│   845 │   │   │   │   │   except (IsADirectoryError, PermissionError):                           │
│   846 │   │   │   │   │   │   cls._rmtree(path, ignore_errors=ignore_errors)                     │
│                                                                                                  │
│ ┌─────────────────────────────────────────── locals ───────────────────────────────────────────┐ │
│ │           cls = <class 'tempfile.TemporaryDirectory'>                                        │ │
│ │      exc_info = (                                                                            │ │
│ │                 │   <class 'PermissionError'>,                                               │ │
│ │                 │   PermissionError(13, 'Access is denied'),                                 │ │
│ │                 │   <traceback object at 0x00000243771518C0>                                 │ │
│ │                 )                                                                            │ │
│ │          func = <built-in function unlink>                                                   │ │
│ │ ignore_errors = False                                                                        │ │
│ │          name = 'C:\\Users\\ralajan\\AppData\\Local\\Temp\\tmprd8a4bog'                      │ │
│ │          path = 'C:\\Users\\ralajan\\AppData\\Local\\Temp\\tmprd8a4bog\\.git\\objects\\pack… │ │
│ │    resetperms = <function TemporaryDirectory._rmtree.<locals>.onerror.<locals>.resetperms at │ │
│ │                 0x00000243771641F0>                                                          │ │
│ └──────────────────────────────────────────────────────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────────────────────────────────────────────────┘
PermissionError: [WinError 5] Access is denied: 'C:\\Users\\ralajan\\AppData\\Local\\Temp\\tmprd8a4bog\\.git\\objects\\pack\\pack-85508dba7574aa155e60e221069050bca24b7bb0.idx'

During handling of the above exception, another exception occurred:

┌─────────────────────────────── Traceback (most recent call last) ────────────────────────────────┐
│ C:\Users\ralajan\Anaconda3\envs\mlops\lib\site-packages\gto\git_utils.py:28 in from_repo         │
│                                                                                                  │
│    25 │   ):                                                                                     │
│    26 │   │   if isinstance(repo, str) and is_url_of_remote_repo(repo_path=repo):                │
│    27 │   │   │   try:                                                                           │
│ >  28 │   │   │   │   with cloned_git_repo(repo=repo) as tmp_dir:                                │
│    29 │   │   │   │   │   repo = read_repo(tmp_dir)                                              │
│    30 │   │   │   │   │   repo.git.checkout(branch)                                              │
│    31 │   │   │   │   │   yield cls.from_local_repo(repo=repo, config=config)                    │
│                                                                                                  │
│ ┌─────────────────────────────────────────── locals ───────────────────────────────────────────┐ │
│ │  branch = None                                                                               │ │
│ │     cls = <class 'gto.registry.GitRegistry'>                                                 │ │
│ │  config = None                                                                               │ │
│ │    repo = <git.repo.base.Repo 'C:\\Users\\ralajan\\AppData\\Local\\Temp\\tmprd8a4bog\\.git'> │ │
│ │ tmp_dir = 'C:\\Users\\ralajan\\AppData\\Local\\Temp\\tmprd8a4bog'                            │ │
│ └──────────────────────────────────────────────────────────────────────────────────────────────┘ │
│                                                                                                  │
│ C:\Users\ralajan\Anaconda3\envs\mlops\lib\contextlib.py:142 in __exit__                          │
│                                                                                                  │
│   139 │   def __exit__(self, typ, value, traceback):                                             │
│   140 │   │   if typ is None:                                                                    │
│   141 │   │   │   try:                                                                           │
│ > 142 │   │   │   │   next(self.gen)                                                             │
│   143 │   │   │   except StopIteration:                                                          │
│   144 │   │   │   │   return False                                                               │
│   145 │   │   │   else:                                                                          │
│                                                                                                  │
│ ┌──────────────────────────────────── locals ────────────────────────────────────┐               │
│ │      self = <contextlib._GeneratorContextManager object at 0x000002437710B760> │               │
│ │ traceback = None                                                               │               │
│ │       typ = None                                                               │               │
│ │     value = None                                                               │               │
│ └────────────────────────────────────────────────────────────────────────────────┘               │
│                                                                                                  │
│ C:\Users\ralajan\Anaconda3\envs\mlops\lib\site-packages\gto\git_utils.py:112 in cloned_git_repo  │
│                                                                                                  │
│   109 │   git_clone(repo=repo, dir=tmp_dir.name)                                                 │
│   110 │   yield tmp_dir.name                                                                     │
│   111 │   logging.debug("delete temporary directory %s", tmp_dir)                                │
│ > 112 │   tmp_dir.cleanup()                                                                      │
│   113                                                                                            │
│   114                                                                                            │
│   115 def git_clone(repo: str, dir: str) -> None:                                                │
│                                                                                                  │
│ ┌──────────────────────────────────────── locals ────────────────────────────────────────┐       │
│ │    repo = 'https://gitlab.gwdg.de/raghava.alajangi/mlops-with-dvc'                     │       │
│ │ tmp_dir = <TemporaryDirectory 'C:\\Users\\ralajan\\AppData\\Local\\Temp\\tmprd8a4bog'> │       │
│ └────────────────────────────────────────────────────────────────────────────────────────┘       │
│                                                                                                  │
│ C:\Users\ralajan\Anaconda3\envs\mlops\lib\tempfile.py:873 in cleanup                             │
│                                                                                                  │
│   870 │                                                                                          │
│   871 │   def cleanup(self):                                                                     │
│   872 │   │   if self._finalizer.detach() or _os.path.exists(self.name):                         │
│ > 873 │   │   │   self._rmtree(self.name, ignore_errors=self._ignore_cleanup_errors)             │
│   874 │                                                                                          │
│   875 │   __class_getitem__ = classmethod(_types.GenericAlias)                                   │
│   876                                                                                            │
│                                                                                                  │
│ ┌────────────────────────────────────── locals ───────────────────────────────────────┐          │
│ │ self = <TemporaryDirectory 'C:\\Users\\ralajan\\AppData\\Local\\Temp\\tmprd8a4bog'> │          │
│ └─────────────────────────────────────────────────────────────────────────────────────┘          │
│                                                                                                  │
│ C:\Users\ralajan\Anaconda3\envs\mlops\lib\tempfile.py:855 in _rmtree                             │
│                                                                                                  │
│   852 │   │   │   │   if not ignore_errors:                                                      │
│   853 │   │   │   │   │   raise                                                                  │
│   854 │   │                                                                                      │
│ > 855 │   │   _shutil.rmtree(name, onerror=onerror)                                              │
│   856 │                                                                                          │
│   857 │   @classmethod                                                                           │
│   858 │   def _cleanup(cls, name, warn_message, ignore_errors=False):                            │
│                                                                                                  │
│ ┌─────────────────────────────────────────── locals ───────────────────────────────────────────┐ │
│ │           cls = <class 'tempfile.TemporaryDirectory'>                                        │ │
│ │ ignore_errors = False                                                                        │ │
│ │          name = 'C:\\Users\\ralajan\\AppData\\Local\\Temp\\tmprd8a4bog'                      │ │
│ │       onerror = <function TemporaryDirectory._rmtree.<locals>.onerror at 0x0000024377103F40> │ │
│ └──────────────────────────────────────────────────────────────────────────────────────────────┘ │
│                                                                                                  │
│ C:\Users\ralajan\Anaconda3\envs\mlops\lib\shutil.py:750 in rmtree                                │
│                                                                                                  │
│    747 │   │   │   onerror(os.path.islink, path, sys.exc_info())                                 │
│    748 │   │   │   # can't continue even if onerror hook returns                                 │
│    749 │   │   │   return                                                                        │
│ >  750 │   │   return _rmtree_unsafe(path, onerror)                                              │
│    751                                                                                           │
│    752 # Allow introspection of whether or not the hardening against symlink                     │
│    753 # attacks is supported on the current platform                                            │
│                                                                                                  │
│ ┌─────────────────────────────────────────── locals ───────────────────────────────────────────┐ │
│ │ ignore_errors = False                                                                        │ │
│ │       onerror = <function TemporaryDirectory._rmtree.<locals>.onerror at 0x0000024377103F40> │ │
│ │          path = 'C:\\Users\\ralajan\\AppData\\Local\\Temp\\tmprd8a4bog'                      │ │
│ └──────────────────────────────────────────────────────────────────────────────────────────────┘ │
│                                                                                                  │
│ C:\Users\ralajan\Anaconda3\envs\mlops\lib\shutil.py:615 in _rmtree_unsafe                        │
│                                                                                                  │
│    612 │   │   │   except OSError:                                                               │
│    613 │   │   │   │   onerror(os.path.islink, fullname, sys.exc_info())                         │
│    614 │   │   │   │   continue                                                                  │
│ >  615 │   │   │   _rmtree_unsafe(fullname, onerror)                                             │
│    616 │   │   else:                                                                             │
│    617 │   │   │   try:                                                                          │
│    618 │   │   │   │   os.unlink(fullname)                                                       │
│                                                                                                  │
│ ┌───────────────────────────────────────── locals ──────────────────────────────────────────┐    │
│ │    entries = [                                                                            │    │
│ │              │   <DirEntry '.dvc'>,                                                       │    │
│ │              │   <DirEntry '.dvcignore'>,                                                 │    │
│ │              │   <DirEntry '.git'>,                                                       │    │
│ │              │   <DirEntry '.gitignore'>,                                                 │    │
│ │              │   <DirEntry '.gitlab-ci.yml'>,                                             │    │
│ │              │   <DirEntry '.mlem.yaml'>,                                                 │    │
│ │              │   <DirEntry 'data'>,                                                       │    │
│ │              │   <DirEntry 'dvc.lock'>,                                                   │    │
│ │              │   <DirEntry 'dvc.yaml'>,                                                   │    │
│ │              │   <DirEntry 'models'>,                                                     │    │
│ │              │   ... +5                                                                   │    │
│ │              ]                                                                            │    │
│ │      entry = <DirEntry '.git'>                                                            │    │
│ │   fullname = 'C:\\Users\\ralajan\\AppData\\Local\\Temp\\tmprd8a4bog\\.git'                │    │
│ │    onerror = <function TemporaryDirectory._rmtree.<locals>.onerror at 0x0000024377103F40> │    │
│ │       path = 'C:\\Users\\ralajan\\AppData\\Local\\Temp\\tmprd8a4bog'                      │    │
│ │ scandir_it = <nt.ScandirIterator object at 0x0000024374B26000>                            │    │
│ └───────────────────────────────────────────────────────────────────────────────────────────┘    │
│                                                                                                  │
│ C:\Users\ralajan\Anaconda3\envs\mlops\lib\shutil.py:615 in _rmtree_unsafe                        │
│                                                                                                  │
│    612 │   │   │   except OSError:                                                               │
│    613 │   │   │   │   onerror(os.path.islink, fullname, sys.exc_info())                         │
│    614 │   │   │   │   continue                                                                  │
│ >  615 │   │   │   _rmtree_unsafe(fullname, onerror)                                             │
│    616 │   │   else:                                                                             │
│    617 │   │   │   try:                                                                          │
│    618 │   │   │   │   os.unlink(fullname)                                                       │
│                                                                                                  │
│ ┌───────────────────────────────────────── locals ──────────────────────────────────────────┐    │
│ │    entries = [                                                                            │    │
│ │              │   <DirEntry 'config'>,                                                     │    │
│ │              │   <DirEntry 'description'>,                                                │    │
│ │              │   <DirEntry 'HEAD'>,                                                       │    │
│ │              │   <DirEntry 'hooks'>,                                                      │    │
│ │              │   <DirEntry 'index'>,                                                      │    │
│ │              │   <DirEntry 'info'>,                                                       │    │
│ │              │   <DirEntry 'logs'>,                                                       │    │
│ │              │   <DirEntry 'objects'>,                                                    │    │
│ │              │   <DirEntry 'packed-refs'>,                                                │    │
│ │              │   <DirEntry 'refs'>                                                        │    │
│ │              ]                                                                            │    │
│ │      entry = <DirEntry 'objects'>                                                         │    │
│ │   fullname = 'C:\\Users\\ralajan\\AppData\\Local\\Temp\\tmprd8a4bog\\.git\\objects'       │    │
│ │    onerror = <function TemporaryDirectory._rmtree.<locals>.onerror at 0x0000024377103F40> │    │
│ │       path = 'C:\\Users\\ralajan\\AppData\\Local\\Temp\\tmprd8a4bog\\.git'                │    │
│ │ scandir_it = <nt.ScandirIterator object at 0x0000024374B25240>                            │    │
│ └───────────────────────────────────────────────────────────────────────────────────────────┘    │
│                                                                                                  │
│ C:\Users\ralajan\Anaconda3\envs\mlops\lib\shutil.py:615 in _rmtree_unsafe                        │
│                                                                                                  │
│    612 │   │   │   except OSError:                                                               │
│    613 │   │   │   │   onerror(os.path.islink, fullname, sys.exc_info())                         │
│    614 │   │   │   │   continue                                                                  │
│ >  615 │   │   │   _rmtree_unsafe(fullname, onerror)                                             │
│    616 │   │   else:                                                                             │
│    617 │   │   │   try:                                                                          │
│    618 │   │   │   │   os.unlink(fullname)                                                       │
│                                                                                                  │
│ ┌───────────────────────────────────────── locals ──────────────────────────────────────────┐    │
│ │    entries = [<DirEntry 'info'>, <DirEntry 'pack'>]                                       │    │
│ │      entry = <DirEntry 'pack'>                                                            │    │
│ │   fullname = 'C:\\Users\\ralajan\\AppData\\Local\\Temp\\tmprd8a4bog\\.git\\objects\\pack' │    │
│ │    onerror = <function TemporaryDirectory._rmtree.<locals>.onerror at 0x0000024377103F40> │    │
│ │       path = 'C:\\Users\\ralajan\\AppData\\Local\\Temp\\tmprd8a4bog\\.git\\objects'       │    │
│ │ scandir_it = <nt.ScandirIterator object at 0x0000024374B262C0>                            │    │
│ └───────────────────────────────────────────────────────────────────────────────────────────┘    │
│                                                                                                  │
│ C:\Users\ralajan\Anaconda3\envs\mlops\lib\shutil.py:620 in _rmtree_unsafe                        │
│                                                                                                  │
│    617 │   │   │   try:                                                                          │
│    618 │   │   │   │   os.unlink(fullname)                                                       │
│    619 │   │   │   except OSError:                                                               │
│ >  620 │   │   │   │   onerror(os.unlink, fullname, sys.exc_info())                              │
│    621 │   try:                                                                                  │
│    622 │   │   os.rmdir(path)                                                                    │
│    623 │   except OSError:                                                                       │
│                                                                                                  │
│ ┌─────────────────────────────────────────── locals ───────────────────────────────────────────┐ │
│ │    entries = [                                                                               │ │
│ │              │   <DirEntry 'pack-85508dba7574aa155e60e221069050bca24b7bb0.idx'>,             │ │
│ │              │   <DirEntry 'pack-85508dba7574aa155e60e221069050bca24b7bb0.pack'>             │ │
│ │              ]                                                                               │ │
│ │      entry = <DirEntry 'pack-85508dba7574aa155e60e221069050bca24b7bb0.idx'>                  │ │
│ │   fullname = 'C:\\Users\\ralajan\\AppData\\Local\\Temp\\tmprd8a4bog\\.git\\objects\\pack\\p… │ │
│ │    onerror = <function TemporaryDirectory._rmtree.<locals>.onerror at 0x0000024377103F40>    │ │
│ │       path = 'C:\\Users\\ralajan\\AppData\\Local\\Temp\\tmprd8a4bog\\.git\\objects\\pack'    │ │
│ │ scandir_it = <nt.ScandirIterator object at 0x0000024374B26580>                               │ │
│ └──────────────────────────────────────────────────────────────────────────────────────────────┘ │
│                                                                                                  │
│ C:\Users\ralajan\Anaconda3\envs\mlops\lib\tempfile.py:846 in onerror                             │
│                                                                                                  │
│   843 │   │   │   │   │   │   _os.unlink(path)                                                   │
│   844 │   │   │   │   │   # PermissionError is raised on FreeBSD for directories                 │
│   845 │   │   │   │   │   except (IsADirectoryError, PermissionError):                           │
│ > 846 │   │   │   │   │   │   cls._rmtree(path, ignore_errors=ignore_errors)                     │
│   847 │   │   │   │   except FileNotFoundError:                                                  │
│   848 │   │   │   │   │   pass                                                                   │
│   849 │   │   │   elif issubclass(exc_info[0], FileNotFoundError):                               │
│                                                                                                  │
│ ┌─────────────────────────────────────────── locals ───────────────────────────────────────────┐ │
│ │           cls = <class 'tempfile.TemporaryDirectory'>                                        │ │
│ │      exc_info = (                                                                            │ │
│ │                 │   <class 'PermissionError'>,                                               │ │
│ │                 │   PermissionError(13, 'Access is denied'),                                 │ │
│ │                 │   <traceback object at 0x00000243771518C0>                                 │ │
│ │                 )                                                                            │ │
│ │          func = <built-in function unlink>                                                   │ │
│ │ ignore_errors = False                                                                        │ │
│ │          name = 'C:\\Users\\ralajan\\AppData\\Local\\Temp\\tmprd8a4bog'                      │ │
│ │          path = 'C:\\Users\\ralajan\\AppData\\Local\\Temp\\tmprd8a4bog\\.git\\objects\\pack… │ │
│ │    resetperms = <function TemporaryDirectory._rmtree.<locals>.onerror.<locals>.resetperms at │ │
│ │                 0x00000243771641F0>                                                          │ │
│ └──────────────────────────────────────────────────────────────────────────────────────────────┘ │
│                                                                                                  │
│ C:\Users\ralajan\Anaconda3\envs\mlops\lib\tempfile.py:855 in _rmtree                             │
│                                                                                                  │
│   852 │   │   │   │   if not ignore_errors:                                                      │
│   853 │   │   │   │   │   raise                                                                  │
│   854 │   │                                                                                      │
│ > 855 │   │   _shutil.rmtree(name, onerror=onerror)                                              │
│   856 │                                                                                          │
│   857 │   @classmethod                                                                           │
│   858 │   def _cleanup(cls, name, warn_message, ignore_errors=False):                            │
│                                                                                                  │
│ ┌─────────────────────────────────────────── locals ───────────────────────────────────────────┐ │
│ │           cls = <class 'tempfile.TemporaryDirectory'>                                        │ │
│ │ ignore_errors = False                                                                        │ │
│ │          name = 'C:\\Users\\ralajan\\AppData\\Local\\Temp\\tmprd8a4bog\\.git\\objects\\pack… │ │
│ │       onerror = <function TemporaryDirectory._rmtree.<locals>.onerror at 0x0000024377164280> │ │
│ └──────────────────────────────────────────────────────────────────────────────────────────────┘ │
│                                                                                                  │
│ C:\Users\ralajan\Anaconda3\envs\mlops\lib\shutil.py:750 in rmtree                                │
│                                                                                                  │
│    747 │   │   │   onerror(os.path.islink, path, sys.exc_info())                                 │
│    748 │   │   │   # can't continue even if onerror hook returns                                 │
│    749 │   │   │   return                                                                        │
│ >  750 │   │   return _rmtree_unsafe(path, onerror)                                              │
│    751                                                                                           │
│    752 # Allow introspection of whether or not the hardening against symlink                     │
│    753 # attacks is supported on the current platform                                            │
│                                                                                                  │
│ ┌─────────────────────────────────────────── locals ───────────────────────────────────────────┐ │
│ │ ignore_errors = False                                                                        │ │
│ │       onerror = <function TemporaryDirectory._rmtree.<locals>.onerror at 0x0000024377164280> │ │
│ │          path = 'C:\\Users\\ralajan\\AppData\\Local\\Temp\\tmprd8a4bog\\.git\\objects\\pack… │ │
│ └──────────────────────────────────────────────────────────────────────────────────────────────┘ │
│                                                                                                  │
│ C:\Users\ralajan\Anaconda3\envs\mlops\lib\shutil.py:601 in _rmtree_unsafe                        │
│                                                                                                  │
│    598 │   │   with os.scandir(path) as scandir_it:                                              │
│    599 │   │   │   entries = list(scandir_it)                                                    │
│    600 │   except OSError:                                                                       │
│ >  601 │   │   onerror(os.scandir, path, sys.exc_info())                                         │
│    602 │   │   entries = []                                                                      │
│    603 │   for entry in entries:                                                                 │
│    604 │   │   fullname = entry.path                                                             │
│                                                                                                  │
│ ┌─────────────────────────────────────────── locals ───────────────────────────────────────────┐ │
│ │ onerror = <function TemporaryDirectory._rmtree.<locals>.onerror at 0x0000024377164280>       │ │
│ │    path = 'C:\\Users\\ralajan\\AppData\\Local\\Temp\\tmprd8a4bog\\.git\\objects\\pack\\pack… │ │
│ └──────────────────────────────────────────────────────────────────────────────────────────────┘ │
│                                                                                                  │
│ C:\Users\ralajan\Anaconda3\envs\mlops\lib\shutil.py:598 in _rmtree_unsafe                        │
│                                                                                                  │
│    595 # version vulnerable to race conditions                                                   │
│    596 def _rmtree_unsafe(path, onerror):                                                        │
│    597 │   try:                                                                                  │
│ >  598 │   │   with os.scandir(path) as scandir_it:                                              │
│    599 │   │   │   entries = list(scandir_it)                                                    │
│    600 │   except OSError:                                                                       │
│    601 │   │   onerror(os.scandir, path, sys.exc_info())                                         │
│                                                                                                  │
│ ┌─────────────────────────────────────────── locals ───────────────────────────────────────────┐ │
│ │ onerror = <function TemporaryDirectory._rmtree.<locals>.onerror at 0x0000024377164280>       │ │
│ │    path = 'C:\\Users\\ralajan\\AppData\\Local\\Temp\\tmprd8a4bog\\.git\\objects\\pack\\pack… │ │
│ └──────────────────────────────────────────────────────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────────────────────────────────────────────────┘
NotADirectoryError: [WinError 267] The directory name is invalid: 'C:\\Users\\ralajan\\AppData\\Local\\Temp\\tmprd8a4bog\\.git\\objects\\pack\\pack-85508dba7574aa155e60e221069050bca24b7bb0.idx'

The above exception was the direct cause of the following exception:

┌─────────────────────────────── Traceback (most recent call last) ────────────────────────────────┐
│ C:\Users\ralajan\Anaconda3\envs\mlops\lib\site-packages\click\decorators.py:26 in new_func       │
│                                                                                                  │
│ C:\Users\ralajan\Anaconda3\envs\mlops\lib\site-packages\gto\cli.py:449 in inner                  │
│                                                                                                  │
│   446 │   │   │   error = None                                                                   │
│   447 │   │   │   try:                                                                           │
│   448 │   │   │   │   with cli_echo():                                                           │
│ > 449 │   │   │   │   │   res = f(*iargs, **ikwargs) or {}                                       │
│   450 │   │   │   │   res = {f"cmd_{cmd_name}_{k}": v for k, v in res.items()}                   │
│   451 │   │   │   except (ClickException, Exit, Abort) as e:                                     │
│   452 │   │   │   │   error = str(type(e))                                                       │
│                                                                                                  │
│ ┌───────────────────────────────────── locals ─────────────────────────────────────┐             │
│ │ cmd_name = 'show'                                                                │             │
│ │      ctx = <click.core.Context object at 0x000002437710B670>                     │             │
│ │    error = "<class 'NotADirectoryError'>"                                        │             │
│ │        f = <function show at 0x0000024377102B00>                                 │             │
│ │    iargs = ()                                                                    │             │
│ │  ikwargs = {                                                                     │             │
│ │            │   'repo': 'https://gitlab.gwdg.de/raghava.alajangi/mlops-with-dvc', │             │
│ │            │   'name': None,                                                     │             │
│ │            │   'json': False,                                                    │             │
│ │            │   'plain': False,                                                   │             │
│ │            │   'show_name': False,                                               │             │
│ │            │   'show_version': False,                                            │             │
│ │            │   'show_stage': False,                                              │             │
│ │            │   'show_ref': False,                                                │             │
│ │            │   'registered_only': False,                                         │             │
│ │            │   'deprecated': False,                                              │             │
│ │            │   ... +3                                                            │             │
│ │            }                                                                     │             │
│ │      res = {}                                                                    │             │
│ └──────────────────────────────────────────────────────────────────────────────────┘             │
│                                                                                                  │
│ C:\Users\ralajan\Anaconda3\envs\mlops\lib\site-packages\gto\cli.py:714 in show                   │
│                                                                                                  │
│   711 │   │   )                                                                                  │
│   712 │   │   format_echo(output, "json")                                                        │
│   713 │   else:                                                                                  │
│ > 714 │   │   output = gto.api.show(                                                             │
│   715 │   │   │   repo,                                                                          │
│   716 │   │   │   name=name,                                                                     │
│   717 │   │   │   registered_only=registered_only,                                               │
│                                                                                                  │
│ ┌────────────────────────────────────── locals ──────────────────────────────────────┐           │
│ │ assignments_per_version = -1                                                       │           │
│ │              deprecated = False                                                    │           │
│ │                    json = False                                                    │           │
│ │                    name = None                                                     │           │
│ │                   plain = False                                                    │           │
│ │         registered_only = False                                                    │           │
│ │                    repo = 'https://gitlab.gwdg.de/raghava.alajangi/mlops-with-dvc' │           │
│ │               show_name = False                                                    │           │
│ │            show_options = [False, False, False, False]                             │           │
│ │                show_ref = False                                                    │           │
│ │              show_stage = False                                                    │           │
│ │            show_version = False                                                    │           │
│ │                    sort = <VersionSort.Timestamp: 'timestamp'>                     │           │
│ │      versions_per_stage = 1                                                        │           │
│ └────────────────────────────────────────────────────────────────────────────────────┘           │
│                                                                                                  │
│ C:\Users\ralajan\Anaconda3\envs\mlops\lib\site-packages\gto\api.py:303 in show                   │
│                                                                                                  │
│   300 │   │   │   truncate_hexsha=truncate_hexsha,                                               │
│   301 │   │   )                                                                                  │
│   302 │   │   if name                                                                            │
│ > 303 │   │   else _show_registry(                                                               │
│   304 │   │   │   repo,                                                                          │
│   305 │   │   │   registered_only=registered_only,                                               │
│   306 │   │   │   deprecated=deprecated,                                                         │
│                                                                                                  │
│ ┌────────────────────────────────────── locals ──────────────────────────────────────┐           │
│ │ assignments_per_version = -1                                                       │           │
│ │              deprecated = False                                                    │           │
│ │                    name = None                                                     │           │
│ │         registered_only = False                                                    │           │
│ │                    repo = 'https://gitlab.gwdg.de/raghava.alajangi/mlops-with-dvc' │           │
│ │                    sort = <VersionSort.Timestamp: 'timestamp'>                     │           │
│ │                   table = True                                                     │           │
│ │         truncate_hexsha = True                                                     │           │
│ │      versions_per_stage = 1                                                        │           │
│ └────────────────────────────────────────────────────────────────────────────────────┘           │
│                                                                                                  │
│ C:\Users\ralajan\Anaconda3\envs\mlops\lib\site-packages\gto\api.py:331 in _show_registry         │
│                                                                                                  │
│   328 │   def format_hexsha(hexsha):                                                             │
│   329 │   │   return hexsha[:7] if truncate_hexsha else hexsha                                   │
│   330 │                                                                                          │
│ > 331 │   with GitRegistry.from_repo(repo=repo) as reg:                                          │
│   332 │   │   stages = list(reg.get_stages())                                                    │
│   333 │   │   models_state = {                                                                   │
│   334 │   │   │   o.artifact: {                                                                  │
│                                                                                                  │
│ ┌─────────────────────────────────────────── locals ───────────────────────────────────────────┐ │
│ │ assignments_per_version = -1                                                                 │ │
│ │              deprecated = False                                                              │ │
│ │           format_hexsha = <function _show_registry.<locals>.format_hexsha at                 │ │
│ │                           0x0000024377103EB0>                                                │ │
│ │            models_state = {}                                                                 │ │
│ │                     reg = GitRegistry(                                                       │ │
│ │                           │   repo=<git.repo.base.Repo                                       │ │
│ │                           'C:\\Users\\ralajan\\AppData\\Local\\Temp\\tmprd8a4bog\\.git'>,    │ │
│ │                           │   artifact_manager=TagArtifactManager(                           │ │
│ │                           │   │   repo=<git.repo.base.Repo                                   │ │
│ │                           'C:\\Users\\ralajan\\AppData\\Local\\Temp\\tmprd8a4bog\\.git'>,    │ │
│ │                           │   │   actions=frozenset({                                        │ │
│ │                           │   │   │   <Action.CREATE: 'create'>,                             │ │
│ │                           │   │   │   <Action.DEPRECATE: 'deprecate'>                        │ │
│ │                           │   │   }),                                                        │ │
│ │                           │   │   config=RegistryConfig(                                     │ │
│ │                           │   │   │   INDEX='artifacts.yaml',                                │ │
│ │                           │   │   │   TYPES=None,                                            │ │
│ │                           │   │   │   STAGES=None,                                           │ │
│ │                           │   │   │   LOG_LEVEL='INFO',                                      │ │
│ │                           │   │   │   DEBUG=False,                                           │ │
│ │                           │   │   │   ENRICHMENTS=[],                                        │ │
│ │                           │   │   │   AUTOLOAD_ENRICHMENTS=True,                             │ │
│ │                           │   │   │                                                          │ │
│ │                           CONFIG_FILE_NAME='C:\\Users\\ralajan\\AppData\\Local\\Temp\\tmprd… │ │
│ │                           │   │   │   EMOJIS=True                                            │ │
│ │                           │   │   )                                                          │ │
│ │                           │   ),                                                             │ │
│ │                           │   version_manager=TagVersionManager(                             │ │
│ │                           │   │   repo=<git.repo.base.Repo                                   │ │
│ │                           'C:\\Users\\ralajan\\AppData\\Local\\Temp\\tmprd8a4bog\\.git'>,    │ │
│ │                           │   │   actions=frozenset({                                        │ │
│ │                           │   │   │   <Action.REGISTER: 'register'>,                         │ │
│ │                           │   │   │   <Action.DEREGISTER: 'deregister'>                      │ │
│ │                           │   │   }),                                                        │ │
│ │                           │   │   config=RegistryConfig(                                     │ │
│ │                           │   │   │   INDEX='artifacts.yaml',                                │ │
│ │                           │   │   │   TYPES=None,                                            │ │
│ │                           │   │   │   STAGES=None,                                           │ │
│ │                           │   │   │   LOG_LEVEL='INFO',                                      │ │
│ │                           │   │   │   DEBUG=False,                                           │ │
│ │                           │   │   │   ENRICHMENTS=[],                                        │ │
│ │                           │   │   │   AUTOLOAD_ENRICHMENTS=True,                             │ │
│ │                           │   │   │                                                          │ │
│ │                           CONFIG_FILE_NAME='C:\\Users\\ralajan\\AppData\\Local\\Temp\\tmprd… │ │
│ │                           │   │   │   EMOJIS=True                                            │ │
│ │                           │   │   )                                                          │ │
│ │                           │   ),                                                             │ │
│ │                           │   stage_manager=TagStageManager(                                 │ │
│ │                           │   │   repo=<git.repo.base.Repo                                   │ │
│ │                           'C:\\Users\\ralajan\\AppData\\Local\\Temp\\tmprd8a4bog\\.git'>,    │ │
│ │                           │   │   actions=frozenset({                                        │ │
│ │                           │   │   │   <Action.ASSIGN: 'assign'>,                             │ │
│ │                           │   │   │   <Action.UNASSIGN: 'unassign'>                          │ │
│ │                           │   │   }),                                                        │ │
│ │                           │   │   config=RegistryConfig(                                     │ │
│ │                           │   │   │   INDEX='artifacts.yaml',                                │ │
│ │                           │   │   │   TYPES=None,                                            │ │
│ │                           │   │   │   STAGES=None,                                           │ │
│ │                           │   │   │   LOG_LEVEL='INFO',                                      │ │
│ │                           │   │   │   DEBUG=False,                                           │ │
│ │                           │   │   │   ENRICHMENTS=[],                                        │ │
│ │                           │   │   │   AUTOLOAD_ENRICHMENTS=True,                             │ │
│ │                           │   │   │                                                          │ │
│ │                           CONFIG_FILE_NAME='C:\\Users\\ralajan\\AppData\\Local\\Temp\\tmprd… │ │
│ │                           │   │   │   EMOJIS=True                                            │ │
│ │                           │   │   )                                                          │ │
│ │                           │   ),                                                             │ │
│ │                           │   enrichment_manager=EnrichmentManager(                          │ │
│ │                           │   │   repo=<git.repo.base.Repo                                   │ │
│ │                           'C:\\Users\\ralajan\\AppData\\Local\\Temp\\tmprd8a4bog\\.git'>,    │ │
│ │                           │   │   actions=frozenset(),                                       │ │
│ │                           │   │   config=RegistryConfig(                                     │ │
│ │                           │   │   │   INDEX='artifacts.yaml',                                │ │
│ │                           │   │   │   TYPES=None,                                            │ │
│ │                           │   │   │   STAGES=None,                                           │ │
│ │                           │   │   │   LOG_LEVEL='INFO',                                      │ │
│ │                           │   │   │   DEBUG=False,                                           │ │
│ │                           │   │   │   ENRICHMENTS=[],                                        │ │
│ │                           │   │   │   AUTOLOAD_ENRICHMENTS=True,                             │ │
│ │                           │   │   │                                                          │ │
│ │                           CONFIG_FILE_NAME='C:\\Users\\ralajan\\AppData\\Local\\Temp\\tmprd… │ │
│ │                           │   │   │   EMOJIS=True                                            │ │
│ │                           │   │   )                                                          │ │
│ │                           │   ),                                                             │ │
│ │                           │   config=RegistryConfig(                                         │ │
│ │                           │   │   INDEX='artifacts.yaml',                                    │ │
│ │                           │   │   TYPES=None,                                                │ │
│ │                           │   │   STAGES=None,                                               │ │
│ │                           │   │   LOG_LEVEL='INFO',                                          │ │
│ │                           │   │   DEBUG=False,                                               │ │
│ │                           │   │   ENRICHMENTS=[],                                            │ │
│ │                           │   │   AUTOLOAD_ENRICHMENTS=True,                                 │ │
│ │                           │   │                                                              │ │
│ │                           CONFIG_FILE_NAME='C:\\Users\\ralajan\\AppData\\Local\\Temp\\tmprd… │ │
│ │                           │   │   EMOJIS=True                                                │ │
│ │                           │   )                                                              │ │
│ │                           )                                                                  │ │
│ │         registered_only = False                                                              │ │
│ │                    repo = 'https://gitlab.gwdg.de/raghava.alajangi/mlops-with-dvc'           │ │
│ │                    sort = <VersionSort.Timestamp: 'timestamp'>                               │ │
│ │                  stages = []                                                                 │ │
│ │                   table = True                                                               │ │
│ │         truncate_hexsha = True                                                               │ │
│ │      versions_per_stage = 1                                                                  │ │
│ └──────────────────────────────────────────────────────────────────────────────────────────────┘ │
│                                                                                                  │
│ C:\Users\ralajan\Anaconda3\envs\mlops\lib\contextlib.py:142 in __exit__                          │
│                                                                                                  │
│   139 │   def __exit__(self, typ, value, traceback):                                             │
│   140 │   │   if typ is None:                                                                    │
│   141 │   │   │   try:                                                                           │
│ > 142 │   │   │   │   next(self.gen)                                                             │
│   143 │   │   │   except StopIteration:                                                          │
│   144 │   │   │   │   return False                                                               │
│   145 │   │   │   else:                                                                          │
│                                                                                                  │
│ ┌──────────────────────────────────── locals ────────────────────────────────────┐               │
│ │      self = <contextlib._GeneratorContextManager object at 0x000002437710B8B0> │               │
│ │ traceback = None                                                               │               │
│ │       typ = None                                                               │               │
│ │     value = None                                                               │               │
│ └────────────────────────────────────────────────────────────────────────────────┘               │
│                                                                                                  │
│ C:\Users\ralajan\Anaconda3\envs\mlops\lib\site-packages\gto\git_utils.py:33 in from_repo         │
│                                                                                                  │
│    30 │   │   │   │   │   repo.git.checkout(branch)                                              │
│    31 │   │   │   │   │   yield cls.from_local_repo(repo=repo, config=config)                    │
│    32 │   │   │   except (NotADirectoryError, PermissionError) as e:                             │
│ >  33 │   │   │   │   raise e.__class__(                                                         │
│    34 │   │   │   │   │   "Are you using windows with python < 3.9? "                            │
│    35 │   │   │   │   │   "This may be the reason of this error: https://bugs.python.org/issue   │
│    36 │   │   │   │   │   "Consider upgrading python."                                           │
│                                                                                                  │
│ ┌─────────────────────────────────────────── locals ───────────────────────────────────────────┐ │
│ │  branch = None                                                                               │ │
│ │     cls = <class 'gto.registry.GitRegistry'>                                                 │ │
│ │  config = None                                                                               │ │
│ │    repo = <git.repo.base.Repo 'C:\\Users\\ralajan\\AppData\\Local\\Temp\\tmprd8a4bog\\.git'> │ │
│ │ tmp_dir = 'C:\\Users\\ralajan\\AppData\\Local\\Temp\\tmprd8a4bog'                            │ │
│ └──────────────────────────────────────────────────────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────────────────────────────────────────────────┘
NotADirectoryError: Are you using windows with python < 3.9? This may be the reason of this error: https://bugs.python.org/issue42796. Consider upgrading python.
aguschin commented 1 year ago

Right, thanks! There are some problems with windows, we didn't fix it completely yet. It will work if you clone the repo first.

What python version are you using? python -V will tell that. If you're using python < 3.9, you can try using 3.9 or 3.10. It was working for 3.10 before.

RaghavaAlajangi commented 1 year ago

Yes, it's working on a cloned project.