GuideFlow3D / demos /build_wheels.sh
suvadityamuk's picture
feat: initial commit
1ac2018
#!/bin/bash
# Create a directory to store wheels
mkdir -p ./wheels
# Update system packages
apt-get update -y
apt-get install -y xvfb libx11-6 libgl1 libxrender1
# 1. Basic Dependencies
# We use 'pip wheel' to build/download wheels instead of installing
pip wheel --wheel-dir=./wheels \
torch==2.5.0 torchvision==0.20.0 torchaudio==2.5.0 \
--index-url https://download.pytorch.org/whl/cu124
pip wheel --wheel-dir=./wheels \
pyvirtualdisplay \
pillow imageio imageio-ffmpeg tqdm easydict opencv-python-headless \
scipy ninja rembg onnxruntime trimesh open3d xatlas pyvista \
pymeshfix igraph transformers tensorview psutil \
lightning==2.2 h5py yacs scikit-image loguru boto3 \
mesh2sdf tetgen==0.6.4 pymeshlab plyfile einops libigl \
polyscope potpourri3d simple_parsing arrgh vtk numpy==1.26.4
# 2. Git Repositories
# pip wheel handles git urls perfectly
pip wheel --wheel-dir=./wheels \
git+https://github.com/EasternJournalist/utils3d.git@9a4eb15e4021b67b12c460c7057d642626897ec8
# 3. Extensions with Custom Build Steps (nvdiffrast, diffoctreerast, mip-splatting)
# These often require cloning first if they have submodules or complex setups
# nvdiffrast
mkdir -p /tmp/extensions
if [ ! -d "/tmp/extensions/nvdiffrast" ]; then
git clone https://github.com/NVlabs/nvdiffrast.git /tmp/extensions/nvdiffrast
fi
pip wheel --wheel-dir=./wheels /tmp/extensions/nvdiffrast
# diffoctreerast
if [ ! -d "/tmp/extensions/diffoctreerast" ]; then
git clone --recurse-submodules https://github.com/JeffreyXiang/diffoctreerast.git /tmp/extensions/diffoctreerast
fi
pip wheel --wheel-dir=./wheels /tmp/extensions/diffoctreerast
# mip-splatting (diff-gaussian-rasterization)
if [ ! -d "/tmp/extensions/mip-splatting" ]; then
git clone https://github.com/autonomousvision/mip-splatting.git /tmp/extensions/mip-splatting
fi
pip wheel --wheel-dir=./wheels /tmp/extensions/mip-splatting/submodules/diff-gaussian-rasterization/
# 4. Pre-built Wheels (Kaolin, torch-scatter, spconv)
# These are already wheels, so we just download them to the folder
pip download --dest ./wheels \
kaolin==0.16.0 -f https://nvidia-kaolin.s3.us-east-2.amazonaws.com/torch-2.5.0_cu124.html
pip download --dest ./wheels \
spconv-cu124
pip download --dest ./wheels \
torch-scatter -f https://data.pyg.org/whl/torch-2.5.0+cu124.html
# 5. Python-PyCG
pip wheel --wheel-dir=./wheels 'python-pycg[all]'
echo "All wheels built in ./wheels"