File size: 2,397 Bytes
78d2329
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
[build-system]
requires = ["setuptools>=64", "wheel"]
build-backend = "setuptools.build_meta"

[project]
name = "optgs"
version = "0.1.0"
description = "Learn2Splat: a meta-learned optimizer for 3D Gaussian Splatting."
readme = "README.md"
requires-python = ">=3.10"
license = { file = "LICENSE" }
authors = [
    { name = "Naama Pearl" },
    { name = "Stefano Esposito" },
    { name = "Haofei Xu" },
    { name = "Amit Peleg" },
    { name = "Patricia Gschoßmann" },
    { name = "Lorenzo Porzi" },
    { name = "Peter Kontschieder" },
    { name = "Gerard Pons-Moll" },
    { name = "Andreas Geiger" },
]
keywords = ["gaussian-splatting", "3d-reconstruction", "novel-view-synthesis", "depth-estimation"]
classifiers = [
    "Programming Language :: Python :: 3",
    "License :: OSI Approved :: MIT License",
    "Operating System :: POSIX :: Linux",
    "Topic :: Scientific/Engineering :: Image Processing",
]
# Runtime deps are sourced from requirements.txt (single source of truth,
# also used by setup.sh) — see [tool.setuptools.dynamic] below.
#
# NOT covered here (cannot be expressed as plain PyPI deps — install via
# setup.sh or the documented steps):
#   - torch / torchvision / torchaudio  (CUDA-specific wheel index)
#   - gsplat, nerfacc                   (built from git against installed torch)
#   - submodules/* CUDA extensions      (simple-knn, fused-ssim, pointops,
#                                        fused_knn_attn, pycolmap)
dynamic = ["dependencies"]

[project.urls]
Homepage = "https://naamapearl.github.io/learn2splat/"
Repository = "https://github.com/autonomousvision/learn2splat"

[project.scripts]
optgs = "optgs.main:main"

[tool.setuptools.dynamic]
dependencies = { file = ["requirements.txt"] }

[tool.setuptools.packages.find]
# Flat layout: only the `optgs` package ships. Excludes tests/, visualization/,
# scripts/, baselines/, submodules/, mlcloud_scripts/ at the repo root, and the
# vendored non-package CUDA dirs inside optgs/ (no __init__.py / hyphenated).
include = ["optgs*"]
namespaces = false

[tool.setuptools.package-data]
# Hydra configs live inside the package and must ship in the wheel so the
# `optgs` CLI works after `pip install` from any directory.
# (Eval-index assets are intentionally NOT bundled — see docs / OPTGS_ASSETS.)
optgs = ["config/**/*.yaml", "config/**/*.yml"]

[tool.pytest.ini_options]
testpaths = ["tests"]