Repository navigation
Expand file tree
/
Copy pathpyproject.toml
More file actions
84 lines (78 loc) · 2.48 KB
/
Copy pathpyproject.toml
File metadata and controls
84 lines (78 loc) · 2.48 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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
[build-system]
requires = ["setuptools>=68.0"]
build-backend = "setuptools.build_meta"
[project]
name = "gae"
version = "0.1.0"
description = "GAE: Learning a Geometry-Native Latent Space for 3D-Consistent World Generation"
readme = "README.md"
requires-python = ">=3.10,<3.13" # torch 2.5.1 wheels cover cp310-cp312
license = { file = "LICENSE.txt" }
dependencies = [
"torch==2.5.1",
"torchvision>=0.16.0",
"xformers",
"depth-anything-3>=0.1.0",
"omegaconf",
"einops",
"transformers",
"safetensors",
"huggingface-hub",
"diffusers",
"accelerate",
"timm",
"tqdm",
"torchdiffeq",
"lpips",
"opencv-python",
"pillow",
"scipy",
"scikit-image",
"imageio",
"av",
"trimesh",
"plyfile",
"addict",
"e3nn",
"numpy",
"matplotlib",
"pyarrow",
"orjson",
"webdataset",
]
[project.optional-dependencies]
# Only needed by the geometry evaluation entry points (scripts/eval/eval_geometry.py,
# scripts/eval/eval_3d_consistency.py), which call external estimators.
eval = [
"evo",
"pycolmap",
# External geometry evaluators, imported lazily by the eval entry
# points: VGGT (scripts/eval/eval_3d_consistency.py), MEt3R
# (scripts/eval/eval_met3r.py) and Pi3 (scripts/eval/eval_geometry.py).
# torch_dct is optional too: src/metrics/latent.py ships a pure-torch
# DCT fallback that gives identical results when it is absent.
]
# Optional optimiser. Not installed by default: it pins torch>=2.7.1 while this
# project sits on torch==2.5.1. The trainer falls back to AdamW when absent.
muon = ["gram-newton-schulz"]
# Optional, for the OSP dataset loader and the BLIP3o webdataset path.
data = ["orjson", "pyarrow", "webdataset", "s3torchconnector"]
# Gradio UI in app.py. Kept optional so the core API/training install does not
# pull web-app dependencies onto compute-only workers.
space = ["gradio>=6.15.1,<7"]
# Developer tools for linting and the CPU-only test suite (see CONTRIBUTING.md).
dev = ["pytest", "ruff"]
# `gae` is the thin public facade; `src/` holds the research modules
# (stage1, stage2, utils, metrics, video, data, cut3r_data, disc). Both trees
# are installed so `pip install -e .` works without setting PYTHONPATH.
[tool.setuptools.packages.find]
where = ["src", "."]
include = [
"gae*",
"stage1*", "stage2*", "utils*", "metrics*", "video*",
"data*", "cut3r_data*", "disc*",
]
[tool.setuptools.package-data]
"*" = ["*.yaml", "*.json"]
[tool.ruff]
line-length = 100