-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
52 lines (45 loc) · 1.93 KB
/
Copy pathpyproject.toml
File metadata and controls
52 lines (45 loc) · 1.93 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
[build-system]
requires = ["setuptools>=64"]
build-backend = "setuptools.build_meta"
[project]
name = "openreco"
version = "0.1.1"
description = "Clean-room, local-first photogrammetry & 3D reconstruction platform (Phase 0 engine)"
readme = "README.md"
requires-python = ">=3.11"
license = { text = "MIT" }
authors = [{ name = "OpenReco" }]
# Phase 0 engine has ZERO third-party runtime deps — stdlib only (tomllib, hashlib, argparse).
# Heavy permissive deps (pycolmap, gdal, open3d, pdal, pyproj) arrive in Phase 1 as extras.
dependencies = []
[project.optional-dependencies]
desktop = ["pywebview"] # BSD — native desktop window for `openreco ui` (else falls back to browser)
slice = [
# Phase 1 (the vertical slice). All BSD/MIT/Apache. NO AGPL (OpenMVS) / NC (SuperGlue).
"pycolmap", # BSD — SfM + dense PatchMatch MVS + Poisson/Delaunay meshing
"pyproj", # MIT — CRS/datum transforms
"rasterio", # BSD — GeoTIFF / DSM / ortho
"scipy", # BSD — normal estimation, 2.5D Delaunay, DSM gridding (replaces Open3D on py3.13)
"laspy", # BSD — LAS/LAZ I/O
"numpy",
"pillow", # PIL license (permissive) — EXIF
"xatlas", # MIT — UV unwrapping (texturing)
"fast-simplification", # MIT — mesh decimation (texturing)
"scikit-image", # BSD — SIFT + matching for panorama stitching
"opencv-contrib-python-headless", # Apache-2.0 — ArUco/AprilTag marker (GCP target) detection
]
dev = ["pytest", "ruff"]
[project.scripts]
openreco = "openreco.cli:main"
[tool.setuptools.packages.find]
include = ["openreco*"]
[tool.setuptools.package-data]
openreco = ["ui/web/*", "viewer/template/*", "engine/report_template.html"]
[tool.ruff]
line-length = 100
target-version = "py311"
extend-exclude = [".openreco", "**/.openreco/**", "**/output/**", "openreco/viewer/template"]
[tool.pytest.ini_options]
markers = [
"slow: integration tests that need sample data / pycolmap (deselect with -m 'not slow')",
]