[build-system]
requires = ["scikit-build-core"]
build-backend = "scikit_build_core.build"

[project]
name = "ms_service_profiler"
version = "26.0.0"
authors = [
    {name = "AvadaKedavrua", email = "anonymousdev@163.com"}
]
requires-python = ">=3.7"

dependencies = [
    "pandas~=2.2",
    "openpyxl",
    "numpy",
    "pydantic",
    "psutil",
    "scipy",
    "pyyaml",
    "matplotlib",
    "msguard",
    "loguru",
    "opentelemetry-exporter-otlp-proto-grpc==1.33.1",
    "opentelemetry-exporter-otlp-proto-http==1.33.1",
    "packaging",
    "tzdata",
]

[project.scripts]
"msserviceprofiler" = "ms_service_profiler.__main__:main"

[project.entry-points."ms_service_profiler_plugins"]
"analyze" = "ms_service_profiler.analyze:arg_parse"
"compare" = "ms_service_profiler.compare:arg_parse"
"parse" = "ms_service_profiler.parse:arg_parse"
"split" = "ms_service_profiler.split:arg_parse"

[project.entry-points."vllm.general_plugins"]
"msserviceprofiler" = "ms_service_profiler.patcher.vllm:register_service_profiler"

[project.optional-dependencies]
profiler = ['torch', 'torch_npu']
test = [
    'coverage',
    'pytest',
    'pytest-mock',
    'pytest_check', # st
    'jsonschema', # st
    'pytest-asyncio'
]

[tool.scikit-build]
cmake.version = ">=3.11"
build-dir = "build/{wheel_tag}"
wheel.py-api = "py3"