mirror of
https://github.com/azaion/detections.git
synced 2026-04-26 15:06:31 +00:00
56 lines
2.0 KiB
Python
56 lines
2.0 KiB
Python
from setuptools import setup, Extension
|
|
from Cython.Build import cythonize
|
|
import numpy as np
|
|
import os
|
|
|
|
SRC = "src"
|
|
np_inc = [np.get_include(), SRC]
|
|
|
|
extensions = [
|
|
Extension('constants_inf', [f'{SRC}/constants_inf.pyx'], include_dirs=[SRC]),
|
|
Extension('ai_availability_status', [f'{SRC}/ai_availability_status.pyx'], include_dirs=[SRC]),
|
|
Extension('annotation', [f'{SRC}/annotation.pyx'], include_dirs=[SRC]),
|
|
Extension('ai_config', [f'{SRC}/ai_config.pyx'], include_dirs=[SRC]),
|
|
Extension('loader_http_client', [f'{SRC}/loader_http_client.pyx'], include_dirs=[SRC]),
|
|
Extension('engines.inference_engine', [f'{SRC}/engines/inference_engine.pyx'], include_dirs=np_inc),
|
|
Extension('engines.engine_factory', [f'{SRC}/engines/engine_factory.pyx'], include_dirs=[SRC]),
|
|
Extension('engines.onnx_engine', [f'{SRC}/engines/onnx_engine.pyx'], include_dirs=np_inc),
|
|
Extension('engines.coreml_engine', [f'{SRC}/engines/coreml_engine.pyx'], include_dirs=np_inc),
|
|
Extension('inference', [f'{SRC}/inference.pyx'], include_dirs=np_inc),
|
|
]
|
|
|
|
build_tensorrt = os.environ.get("BUILD_TENSORRT_EXTENSIONS", "").lower() in ("1", "true", "yes")
|
|
|
|
if not build_tensorrt:
|
|
try:
|
|
import tensorrt # pyright: ignore[reportMissingImports]
|
|
build_tensorrt = True
|
|
except ImportError:
|
|
build_tensorrt = False
|
|
|
|
if build_tensorrt:
|
|
extensions.append(
|
|
Extension('engines.tensorrt_engine', [f'{SRC}/engines/tensorrt_engine.pyx'], include_dirs=np_inc)
|
|
)
|
|
extensions.append(
|
|
Extension('engines.jetson_tensorrt_engine', [f'{SRC}/engines/jetson_tensorrt_engine.pyx'], include_dirs=np_inc)
|
|
)
|
|
|
|
setup(
|
|
name="azaion.detections",
|
|
package_dir={"": SRC},
|
|
packages=["engines"],
|
|
ext_modules=cythonize(
|
|
extensions,
|
|
include_path=[SRC],
|
|
compiler_directives={
|
|
"language_level": 3,
|
|
"emit_code_comments": False,
|
|
"binding": True,
|
|
'boundscheck': False,
|
|
'wraparound': False,
|
|
}
|
|
),
|
|
zip_safe=False
|
|
)
|