Setsugennoao / stgpytools

Collection of stuff that's useful in general python programming
MIT License
1 stars 3 forks source link

Importing stgpytools fails on latest master #6

Closed shssoichiro closed 4 months ago

shssoichiro commented 4 months ago

Minimal reproduction, Python 3.12, Vapoursynth R68:

import vapoursynth as vs

core = vs.core

import stgpytools

clip = core.std.BlankClip()

clip.set_output(0)

Traceback:

Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/usr/lib/python3.12/site-packages/vspreview/__main__.py", line 3, in <module>
    from .init import main
  File "/usr/lib/python3.12/site-packages/vspreview/init.py", line 15, in <module>
    from .core.logger import set_log_level, setup_logger
  File "/usr/lib/python3.12/site-packages/vspreview/core/__init__.py", line 5, in <module>
    from .custom import *  # noqa: F401, F403
    ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/vspreview/core/custom/__init__.py", line 6, in <module>
    from .notch import *  # noqa: F401, F403
    ^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/vspreview/core/custom/notch.py", line 8, in <module>
    from vstools import fallback
  File "/usr/lib/python3.12/site-packages/vstools/__init__.py", line 1, in <module>
    from .enums import *  # noqa: F401, F403
    ^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/vstools/enums/__init__.py", line 1, in <module>
    from .base import *  # noqa: F401, F403
    ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/vstools/enums/base.py", line 3, in <module>
    from stgpytools import CustomEnum, CustomIntEnum, CustomStrEnum, SelfEnum
  File "/usr/lib/python3.12/site-packages/stgpytools/__init__.py", line 1, in <module>
    from .enums import *  # noqa: F401, F403
    ^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/stgpytools/enums/__init__.py", line 1, in <module>
    from .base import *  # noqa: F401, F403
    ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/stgpytools/enums/base.py", line 6, in <module>
    from ..exceptions import CustomValueError, NotFoundEnumValue
  File "/usr/lib/python3.12/site-packages/stgpytools/exceptions/__init__.py", line 1, in <module>
    from .base import *  # noqa: F401, F403
    ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/stgpytools/exceptions/base.py", line 7, in <module>
    from ..types import MISSING, FuncExceptT, SupportsString
  File "/usr/lib/python3.12/site-packages/stgpytools/types/__init__.py", line 2, in <module>
    from .file import *  # noqa: F401, F403
    ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/stgpytools/types/file.py", line 7, in <module>
    from ..functions import to_arr
  File "/usr/lib/python3.12/site-packages/stgpytools/functions/__init__.py", line 1, in <module>
    from .funcs import *  # noqa: F401, F403
    ^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/stgpytools/functions/funcs.py", line 5, in <module>
    from ..exceptions import CustomRuntimeError
ImportError: cannot import name 'CustomRuntimeError' from partially initialized module 'stgpytools.exceptions' (most likely due to a circular import) (/usr/lib/python3.12/site-packages/stgpytools/exceptions/__init__.py)

This also causes other packages that depend on stgpytools, such as vstools, to fail to load.

shssoichiro commented 4 months ago

@LightArrowsEXE seems to be caused by https://github.com/Setsugennoao/stgpytools/commit/35c31252de56a9240331202f0ae8b972b8a6cb24, commit cbcc929c9839fa7204d83b41b8ca6d33d3e9af67 is working correctly