mirror of
https://github.com/blakeblackshear/frigate.git
synced 2024-11-21 19:07:46 +01:00
112 lines
3.3 KiB
Python
112 lines
3.3 KiB
Python
|
import json
|
||
|
import os
|
||
|
|
||
|
from setuptools import find_packages, setup
|
||
|
from wheel.bdist_wheel import bdist_wheel as orig_bdist_wheel
|
||
|
|
||
|
|
||
|
class NonPurePythonBDistWheel(orig_bdist_wheel):
|
||
|
"""Makes the wheel platform-dependent so it can be based on the _pyhailort architecture"""
|
||
|
|
||
|
def finalize_options(self):
|
||
|
orig_bdist_wheel.finalize_options(self)
|
||
|
self.root_is_pure = False
|
||
|
|
||
|
|
||
|
def _get_hailort_lib_path():
|
||
|
lib_filename = "libhailort.so"
|
||
|
lib_path = os.path.join(
|
||
|
os.path.abspath(os.path.dirname(__file__)),
|
||
|
f"hailo_platform/pyhailort/{lib_filename}",
|
||
|
)
|
||
|
if os.path.exists(lib_path):
|
||
|
print(f"Found libhailort shared library at: {lib_path}")
|
||
|
else:
|
||
|
print(f"Error: libhailort shared library not found at: {lib_path}")
|
||
|
raise FileNotFoundError(f"libhailort shared library not found at: {lib_path}")
|
||
|
return lib_path
|
||
|
|
||
|
|
||
|
def _get_pyhailort_lib_path():
|
||
|
conf_file_path = os.path.join(
|
||
|
os.path.abspath(os.path.dirname(__file__)), "wheel_conf.json"
|
||
|
)
|
||
|
if not os.path.isfile(conf_file_path):
|
||
|
raise FileNotFoundError(f"Configuration file not found: {conf_file_path}")
|
||
|
|
||
|
with open(conf_file_path, "r") as conf_file:
|
||
|
content = json.load(conf_file)
|
||
|
py_version = content["py_version"]
|
||
|
arch = content["arch"]
|
||
|
system = content["system"]
|
||
|
extension = content["extension"]
|
||
|
abi = content["abi"]
|
||
|
|
||
|
# Construct the filename directly
|
||
|
lib_filename = f"_pyhailort.cpython-{py_version.split('cp')[1]}-{arch}-{system}-{abi}.{extension}"
|
||
|
lib_path = os.path.join(
|
||
|
os.path.abspath(os.path.dirname(__file__)),
|
||
|
f"hailo_platform/pyhailort/{lib_filename}",
|
||
|
)
|
||
|
|
||
|
if os.path.exists(lib_path):
|
||
|
print(f"Found _pyhailort shared library at: {lib_path}")
|
||
|
else:
|
||
|
print(f"Error: _pyhailort shared library not found at: {lib_path}")
|
||
|
raise FileNotFoundError(
|
||
|
f"_pyhailort shared library not found at: {lib_path}"
|
||
|
)
|
||
|
|
||
|
return lib_path
|
||
|
|
||
|
|
||
|
def _get_package_paths():
|
||
|
packages = []
|
||
|
pyhailort_lib = _get_pyhailort_lib_path()
|
||
|
hailort_lib = _get_hailort_lib_path()
|
||
|
if pyhailort_lib:
|
||
|
packages.append(pyhailort_lib)
|
||
|
if hailort_lib:
|
||
|
packages.append(hailort_lib)
|
||
|
packages.append(os.path.abspath("hailo_tutorials/notebooks/*"))
|
||
|
packages.append(os.path.abspath("hailo_tutorials/hefs/*"))
|
||
|
return packages
|
||
|
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
setup(
|
||
|
author="Hailo team",
|
||
|
author_email="contact@hailo.ai",
|
||
|
cmdclass={
|
||
|
"bdist_wheel": NonPurePythonBDistWheel,
|
||
|
},
|
||
|
description="HailoRT",
|
||
|
entry_points={
|
||
|
"console_scripts": [
|
||
|
"hailo=hailo_platform.tools.hailocli.main:main",
|
||
|
]
|
||
|
},
|
||
|
install_requires=[
|
||
|
"argcomplete",
|
||
|
"contextlib2",
|
||
|
"future",
|
||
|
"netaddr",
|
||
|
"netifaces",
|
||
|
"verboselogs",
|
||
|
"numpy==1.23.3",
|
||
|
],
|
||
|
name="hailort",
|
||
|
package_data={
|
||
|
"hailo_platform": _get_package_paths(),
|
||
|
},
|
||
|
packages=find_packages(),
|
||
|
platforms=[
|
||
|
"linux_x86_64",
|
||
|
"linux_aarch64",
|
||
|
"win_amd64",
|
||
|
],
|
||
|
url="https://hailo.ai/",
|
||
|
version="4.17.0",
|
||
|
zip_safe=False,
|
||
|
)
|