import argparse
import os
import sys
import subprocess
from setuptools import setup
from setuptools.command.build_py import build_py
os.environ["SOURCE_DATE_EPOCH"] = "0"
parser = argparse.ArgumentParser(description="MindIE LLM Setup Parameters")
parser.add_argument("--setup_cmd", type=str, default="bdist_wheel")
parser.add_argument("--version", type=str, default="1.0.RC3")
args = parser.parse_args()
sys.argv = [sys.argv[0], args.setup_cmd]
mindie_llm_version = args.version
class BuildPyCommand(build_py):
def run(self):
env = os.environ.copy()
grpc_lib_path = os.path.abspath("./third_party/output/grpc/lib")
if 'LD_LIBRARY_PATH' in env:
env['LD_LIBRARY_PATH'] = f"{grpc_lib_path}:{env['LD_LIBRARY_PATH']}"
else:
env['LD_LIBRARY_PATH'] = grpc_lib_path
subprocess.run([
"./third_party/output/grpc/bin/protoc",
"--experimental_allow_proto3_optional",
"--python_out=./mindie_llm/connector/common/",
"--proto_path=./proto/",
"model_execute_data.proto"
], env=env, check=True)
super().run()
setup(
name="mindie_llm",
version=mindie_llm_version,
author="",
author_email="",
description="MindIE LLM Project",
long_description="",
package_dir={'mindie_llm': 'mindie_llm'},
install_requires=[],
package_data={
'': ['*.xlsx', '*.h5', '*.csv', '*.so', '*.avsc', '*.xml', '*.pkl', '*.sql', '*.ini']
},
zip_safe=False,
python_requires=">=3.10",
cmdclass={
"build_py": BuildPyCommand,
},
include_package_data=True,
entry_points={
"console_scripts": [
'mindie_llm_backend = mindie_llm.connector.main:main'
]
}
)