[build-system] requires = ["setuptools>=68", "wheel"] build-backend = "setuptools.build_meta" [project] name = "cmvr-edge-ai" version = "0.1.0" description = "Configuration-driven AI pipeline runtime for CMVR robot edge devices" readme = "README.md" requires-python = ">=3.10,<3.13" dependencies = [ "pydantic>=2.8,<3", "PyYAML>=6,<7", ] [project.optional-dependencies] grpc = [ "grpcio>=1.76,<2", "protobuf>=6.31.1,<7", ] http = [ "httpx>=0.27,<1", ] video = [ "av>=12,<17", ] image = [ "Pillow>=10,<13", ] yolo = [ "numpy>=1.24,<3", "ultralytics==8.4.31", ] yolo-cpu = [ "numpy>=1.24,<3", "torch==2.7.0", "torchvision==0.22.0", "ultralytics==8.4.31", ] [dependency-groups] test = [ "pytest>=7.4,<9", "pytest-asyncio>=0.23,<1", ] codegen = [ "grpcio-tools>=1.76,<2", ] dev = [ { include-group = "test" }, { include-group = "codegen" }, ] [project.scripts] cmvr-edge-ai = "cmvr_edge_ai.cli:main" [tool.setuptools] package-dir = {"" = "src"} [tool.setuptools.packages.find] where = ["src"] [tool.uv] required-version = ">=0.11.16" default-groups = [] conflicts = [ [ { extra = "yolo" }, { extra = "yolo-cpu" }, ], ] required-environments = [ "sys_platform == 'linux' and platform_machine == 'x86_64' and python_version == '3.10'", ] [tool.uv.sources] torch = [ { index = "pytorch-cpu", extra = "yolo-cpu", marker = "sys_platform == 'linux' and platform_machine == 'x86_64'" }, ] torchvision = [ { index = "pytorch-cpu", extra = "yolo-cpu", marker = "sys_platform == 'linux' and platform_machine == 'x86_64'" }, ] [[tool.uv.index]] name = "pytorch-cpu" url = "https://download.pytorch.org/whl/cpu" explicit = true [tool.pytest.ini_options] testpaths = ["tests"] addopts = "-q"