[project] name = "opencv-plot" version = "0.1.0" description = "Dora node that overlays bounding boxes and text on an image and displays it in an OpenCV window" readme = "README.md" license = { text = "MIT" } requires-python = ">=3.11" # Every dependency ships prebuilt wheels for linux-x86_64, linux-aarch64 and # macos-arm64, so the node installs with no system packages and no compiler on # any of them. That is the whole reason this node is Python and not Rust: the # OpenCV Rust bindings generate themselves from installed headers and would put # libopencv-dev and libclang-dev on every build machine and every arch. dependencies = [ "dora-rs >= 1.0.1", "numpy >= 2.0", "opencv-python >= 4.9", "pillow >= 10.4", "pillow-avif-plugin >= 1.4", "pyarrow >= 17.0", ] [project.scripts] opencv-plot = "opencv_plot.main:main" [dependency-groups] dev = ["pytest >= 8.1", "ruff >= 0.9"] [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["opencv_plot"] [tool.ruff.lint] extend-select = ["D", "I", "N", "RET", "UP"] [tool.ruff.lint.pydocstyle] convention = "pep257" [tool.ruff.lint.per-file-ignores] # Test names are the documentation here; a docstring would only repeat them. "tests/*" = ["D1"]