[project] name = "gaussian-city" version = "0.1.0" description = "GaussianCity 3D city generation Space" readme = "README.md" requires-python = "==3.12.*" dependencies = [ "addict>=2.4.0", "easydict>=1.13", "flash-attn==2.8.3", "gradio[mcp,oauth]==6.14.0", "huggingface-hub>=0.36.0", "numpy<2", "opencv-python-headless>=4.10.0.84", "pillow>=11.0.0", "scipy>=1.14.1", "spaces>=0.50.2", "spconv-cu126>=2.3.8", "torch==2.8.0", "torch-scatter==2.1.2", "torchvision==0.23.0", "tqdm>=4.66.5", ] [dependency-groups] # Wheels for the three project-local CUDA extensions live in ./wheels/ # and are installed at runtime in app.py because the HF Spaces build # phase mounts requirements.txt but not the wheels directory. local-wheels = [ "diff-gaussian-rasterization", "grid-encoder", "voxlib-ext", ] [tool.uv] no-build-isolation-package = ["flash-attn", "torch-scatter"] [tool.uv.sources] torch-scatter = { url = "https://data.pyg.org/whl/torch-2.8.0+cu128/torch_scatter-2.1.2+pt28cu128-cp312-cp312-linux_x86_64.whl" } flash-attn = { url = "https://github.com/Dao-AILab/flash-attention/releases/download/v2.8.3/flash_attn-2.8.3+cu12torch2.8cxx11abiTRUE-cp312-cp312-linux_x86_64.whl" } diff-gaussian-rasterization = { path = "wheels/diff_gaussian_rasterization-1.0.0-cp312-cp312-linux_x86_64.whl" } grid-encoder = { path = "wheels/grid_encoder-1.0.0-cp312-cp312-linux_x86_64.whl" } voxlib-ext = { path = "wheels/voxlib_ext-3.0.0-cp312-cp312-linux_x86_64.whl" }