-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathsetup.py
More file actions
93 lines (87 loc) · 3.04 KB
/
setup.py
File metadata and controls
93 lines (87 loc) · 3.04 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
85
86
87
88
89
90
91
92
from setuptools import setup, find_packages
from setuptools.command.install import install
import subprocess, pathlib
class InstallWithSubmodules(install):
"""Custom install command to build CUDA submodules after normal install."""
def run(self):
install.run(self)
root = pathlib.Path(__file__).parent / "fs3dgs_benchmark"
submods = [
"diff-gaussian-rasterization",
"diff-gaussian-rasterization-confidence",
"simple-knn",
"fused-ssim",
"gridencoder",
"shencoder",
]
print("\n[fs3dgs_benchmark] 🔍 Building CUDA submodules…\n")
for name in submods:
for subdir in root.rglob(name):
setup_py = subdir / "setup.py"
if setup_py.exists():
print(f"⚙️ Building {name} at {subdir}")
subprocess.run(
["pip", "install", ".", "--no-deps", "--no-build-isolation"],
cwd=subdir, check=False
)
from setuptools.command.develop import develop
class DevelopWithSubmodules(develop):
"""Custom develop command to also build submodules when using -e."""
def run(self):
develop.run(self)
root = pathlib.Path(__file__).parent / "fs3dgs_benchmark"
submods = [
"diff-gaussian-rasterization",
"diff-gaussian-rasterization-confidence",
"simple-knn",
"fused-ssim",
"gridencoder",
"shencoder",
]
print("\n[fs3dgs_benchmark] 🔍 Building submodules for development...\n")
for name in submods:
for subdir in root.rglob(name):
setup_py = subdir / "setup.py"
if setup_py.exists():
print(f"⚙️ Building {name} in {subdir}")
subprocess.run(
["pip", "install", ".", "--no-deps", "--no-build-isolation"],
cwd=subdir, check=False
)
with open("README.md", "r", encoding="utf-8") as f:
readme = f.read()
setup(
name="fs3dgs-benchmark",
version="0.5.0",
author="Atharva Agashe",
author_email="atharvagashe22@tamu.edu",
description="Unified benchmarking suite for Few-Shot 3D Gaussian Splatting methods",
long_description=readme,
long_description_content_type="text/markdown",
url="https://github.com/VITA-Group/FSGS",
license="MIT",
packages=find_packages(include=["fs3dgs_benchmark", "fs3dgs_benchmark.*"]),
include_package_data=True,
python_requires=">=3.10",
install_requires=[
"torchmetrics",
"numpy",
"tqdm",
"matplotlib",
"open3d",
"imageio",
"plyfile",
"timm",
"opencv-python",
"scikit-image",
"pyyaml",
"ninja",
],
cmdclass={
"install": InstallWithSubmodules,
"develop": DevelopWithSubmodules,
},
entry_points={
"console_scripts": ["gs_benchmark = fs3dgs_benchmark.cli:main"]
},
)