Files
stepanalyser/.venv/lib/python3.12/site-packages/ezdxf/acc/__init__.py
Christian Anetzberger a197de9456 initial
2026-01-22 20:23:51 +01:00

40 lines
1.2 KiB
Python

# Copyright (c) 2020-2024, Manfred Moitzi
# License: MIT License
import sys
from ezdxf._options import options
# Set environment variable EZDXF_DISABLE_C_EXT to '1' or 'True' to disable
# the usage of C extensions implemented by Cython.
#
# Important: If you change the EZDXF_DISABLE_C_EXT state, you have to restart
# the Python interpreter, because C extension integration is done at the
# ezdxf import!
#
# Config files:
# Section: core
# Key: disable_c_ext = 1
#
# Direct imports from the C extension modules can not be disabled,
# just the usage by the ezdxf core package.
# For an example see ezdxf.math.__init__, if you import Vec3 from ezdxf.math
# the implementation depends on DISABLE_C_EXT and the existence of the C
# extension, but if you import Vec3 from ezdxf.math.vectors, you always get
# the Python implementation.
USE_C_EXT = not options.disable_c_ext
# C-extensions are always disabled for pypy because JIT compiled Python code is
# much faster!
PYPY = hasattr(sys, 'pypy_version_info')
if PYPY:
USE_C_EXT = False
if USE_C_EXT:
try:
from ezdxf.acc import vector
except ImportError:
USE_C_EXT = False
# set actual state of C-extension usage
options._use_c_ext = USE_C_EXT