splasher / pyproject.toml
SmaugC137's picture
hf: sync with main — procedural natural-terrain demo scene
5c72cc9
Raw
History Blame Contribute Delete
2.04 kB
[project]
name = "splasher"
version = "0.1.0"
description = "Labeling tool: synchronized channels (3D clouds, images) -> 2D BEV grid or per-point labels"
readme = "README.md"
authors = [{ name = "Augustin Bresset", email = "augustin.bresset@gmail.com" }]
license = { file = "LICENSE" }
requires-python = ">=3.11"
keywords = ["labeling", "annotation", "lidar", "point-cloud", "bev", "robotics", "traversability"]
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: Scientific/Engineering :: Image Processing",
]
# Core + engine depend only on numpy. The fronts are extras.
dependencies = [
"numpy",
]
# apairo is just ONE optional input adapter — the core does not depend on it.
[project.optional-dependencies]
apairo = [
# apairo 0.5.0+ for ChannelWriter (label write-back); pinned to the release tag.
"apairo @ git+https://github.com/apairo-robotics/apairo.git@v0.5.0",
"PyYAML",
]
# Web server + API (the `splasher.engine` core does not depend on it).
api = [
"fastapi",
"uvicorn",
]
# Desktop app: the web front inside a native webview (Spotify-style).
# pywebview[qt] pulls a pip-only Qt WebEngine (Chromium) backend so a real native
# window opens out of the box on Linux (no system GTK/WebKit packages needed).
app = [
"fastapi",
"uvicorn",
"pywebview[qt]",
]
[project.scripts]
splasher = "splasher.cli:main"
[dependency-groups]
dev = ["pytest", "httpx", "ruff"] # httpx: required by fastapi.testclient (API tests)
[tool.ruff]
line-length = 110
target-version = "py311"
[tool.ruff.lint]
select = ["E", "F", "W", "I", "B", "UP"]
ignore = ["B008"] # `= Body(...)` in defaults is the intended FastAPI idiom
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["splasher"]
[tool.hatch.metadata]
allow-direct-references = true