gdnative_python/pythonscript/pandemonium/__init__.py

36 lines
1.2 KiB
Python

# Start with a sanity check to ensure the loading is done from Pandemonium-Python
# (and not from a regular Python interpreter which would lead to a segfault).
# The idea is we should have the following loading order:
# pandemonium binary -> pythonscript.so -> _pandemonium.so -> pandemonium/__init__.py
import sys
if "_pandemonium" not in sys.modules:
raise ImportError(
"Cannot initialize pandemonium module given Pandemonium GDNative API not available.\n"
"This is most likely because you are running code from a regular Python interpreter"
" (i.e. doing something like `python my_script.py`) while pandemonium module is only available"
" to Python code loaded from Pandemonium through Pandemonium-Python plugin."
)
del sys
from pandemonium._version import __version__
from pandemonium.tags import (
MethodRPCMode,
PropertyHint,
PropertyUsageFlag,
signal,
export,
exposed,
)
from pandemonium.pool_arrays import (
PoolIntArray,
PoolRealArray,
PoolByteArray,
PoolVector2Array,
PoolVector3Array,
PoolColorArray,
PoolStringArray,
)
from pandemonium.builtins import *
from pandemonium.bindings import *