Spaces:
Paused
Paused
| # 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" | |