GothicKit / ZenKit4Py

Python-bindings for ZenKit, the ZenGin asset parser.
https://zk.gothickit.dev/
MIT License
6 stars 2 forks source link

[Bug] 1.3.0 Circular import #4

Open kamilkrzyskow opened 1 week ago

kamilkrzyskow commented 1 week ago

Hi πŸ‘‹,

https://github.com/GothicKit/ZenKit4Py/blob/be91b275b40047eed36ef2ade4729d318fd5d55e/src/zenkit/core/matrix.py#L7-L9

Should be

from .quat import Quat
from .vector import Vec3f
from .vector import Vec4f
Traceback (most recent call last):
  File "somedir\script.py", line 1, in <module>
    from zenkit import DaedalusScript
  File "somedir\venv\Lib\site-packages\zenkit\__init__.py", line 166, in <module>
    from zenkit._core import AxisAlignedBoundingBox
  File "somedir\venv\Lib\site-packages\zenkit\_core.py", line 35, in <module>
    from .core.color import Color
  File "somedir\venv\Lib\site-packages\zenkit\core\__init__.py", line 12, in <module>
    from .matrix import Mat3x3
  File "somedir\venv\Lib\site-packages\zenkit\core\matrix.py", line 7, in <module>
    from zenkit.core import Quat
ImportError: cannot import name 'Quat' from partially initialized module 'zenkit.core' (most likely due to a circular import) (somedir\venv\Lib\site-packages\zenkit\core\__init__.py)
lmichaelis commented 1 week ago

Hej there, thanks for the report! Yes indeed, looks like I missed that. Can you verify, that 80838356 works for you (pip install -U git+https://github.com/GothicKit/ZenKit4Py.git@808383561408f45cadce77db25b8ef0132e5fa92)?

kamilkrzyskow commented 1 week ago

It works πŸ‘

$ python -c 'import zenkit; print(zenkit)'
<module 'zenkit' from 'somedir\\venv\\Lib\\site-packages\\zenkit\\__init__.py'>
$ pip freeze
zenkit @ git+https://github.com/GothicKit/ZenKit4Py.git@808383561408f45cadce77db25b8ef0132e5fa92