validate / validate (pull_request) Successful in 59m14s
`dora run` vendors a `git:` node's source into git/ inside the checkout, and pytest collected that node's tests along with these: running the webcam example and then the test suite reported 67 tests, 26 of them another project's. A failure there would have gone red here, for a reason no one would find quickly.
61 lines
1.8 KiB
TOML
61 lines
1.8 KiB
TOML
[project]
|
|
name = "dora-image-view"
|
|
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]
|
|
dora-image-view = "dora_image_view.main:main"
|
|
|
|
[dependency-groups]
|
|
dev = [
|
|
"pymarkdownlnt>=0.9.40",
|
|
"pytest >= 8.1",
|
|
"ruff >= 0.9",
|
|
]
|
|
|
|
[build-system]
|
|
requires = ["hatchling"]
|
|
build-backend = "hatchling.build"
|
|
|
|
[tool.hatch.build.targets.wheel]
|
|
packages = ["dora_image_view"]
|
|
|
|
[tool.pytest.ini_options]
|
|
# Only this repository's tests. `dora run` vendors a `git:` node's source into
|
|
# git/ inside the checkout, and pytest would otherwise collect that node's tests
|
|
# too -- reporting another project's results as this one's, and going red when
|
|
# they fail.
|
|
testpaths = ["tests"]
|
|
|
|
[tool.ruff.lint]
|
|
extend-select = ["D", "I", "N", "RET", "UP"]
|
|
|
|
[tool.ruff.lint.pydocstyle]
|
|
convention = "numpy"
|
|
|
|
[tool.ruff.lint.per-file-ignores]
|
|
# Test names are the documentation here; a docstring would only repeat them.
|
|
"tests/*" = ["D1"]
|
|
|
|
[tool.pymarkdown]
|
|
# The prose here wraps near ruff's 88; 100 leaves room for a long link or table
|
|
# row without inviting unwrapped paragraphs.
|
|
plugins.md013.line_length = 100
|