mirror of
https://github.com/azaion/detections.git
synced 2026-04-22 21:46:31 +00:00
8ce40a9385
- Introduced `AIAvailabilityStatus` class to manage the availability status of AI models, including methods for setting status and logging messages. - Added `AIRecognitionConfig` class to encapsulate configuration parameters for AI recognition, with a static method for creating instances from dictionaries. - Implemented enums for AI availability states to enhance clarity and maintainability. - Updated related Cython files to support the new classes and ensure proper type handling. These changes aim to improve the structure and functionality of the AI model management system, facilitating better status tracking and configuration handling.
45 lines
1.6 KiB
Python
45 lines
1.6 KiB
Python
from setuptools import setup, Extension
|
|
from Cython.Build import cythonize
|
|
import numpy as np
|
|
|
|
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.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),
|
|
]
|
|
|
|
try:
|
|
import tensorrt # pyright: ignore[reportMissingImports]
|
|
extensions.append(
|
|
Extension('engines.tensorrt_engine', [f'{SRC}/engines/tensorrt_engine.pyx'], include_dirs=np_inc)
|
|
)
|
|
except ImportError:
|
|
pass
|
|
|
|
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
|
|
)
|