[project] name = "dora-joy" version = "0.1.0" description = "Dora node publishing a gamepad's axes and buttons" readme = "README.md" license = { text = "MIT" } authors = [{ name = "Liria" }] # dora-rs 1.0 requires 3.11; the node uses PEP 604 unions. requires-python = ">=3.11" dependencies = [ "dora-rs >= 1.0.1", "pyarrow >= 17.0", # pygame-ce rather than evdev: evdev is Linux-only, and pygame-ce ships # prebuilt wheels for linux-x86_64, linux-aarch64 and macos-arm64 — so no # dependency here compiles from source. "pygame-ce >= 2.4", ] [dependency-groups] dev = ["pytest >= 8.1", "ruff >= 0.9"] [project.scripts] dora-joy = "dora_joy.main:main" dora-joy-probe = "dora_joy.probe:main" [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["dora_joy"] [tool.ruff] line-length = 110 [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.pytest.ini_options] testpaths = ["tests"]