[project] name = "trellis" version = "0.1.0" description = "" readme = "README.md" requires-python = ">=3.10" dependencies = [ "diff-gaussian-rasterization", "easydict>=1.13", "flash-attn", "gradio[mcp]>=5.33.0", "hf-transfer>=0.1.9", "igraph>=0.11.8", "imageio[ffmpeg]>=2.37.0", "nvdiffrast", "onnxruntime>=1.22.0", "opencv-python-headless>=4.11.0.86", "pymeshfix>=0.17.1", "pyvista>=0.45.2", "rembg>=2.0.66", "scipy>=1.15.3", "spaces>=0.36.0", "spconv-cu120>=2.3.6", "torch==2.4.0", "torchvision>=0.19.0", "transformers>=4.52.3", "trimesh>=4.6.11", "utils3d", "xatlas>=0.0.10", "xformers>=0.0.27.post2", ] [tool.uv.sources] flash-attn = { url = "https://github.com/Dao-AILab/flash-attention/releases/download/v2.7.0.post2/flash_attn-2.7.0.post2+cu12torch2.4cxx11abiFALSE-cp310-cp310-linux_x86_64.whl" } utils3d = { git = "https://github.com/EasternJournalist/utils3d.git", rev = "9a4eb15e4021b67b12c460c7057d642626897ec8" } diff-gaussian-rasterization = { url = "https://huggingface.co/spaces/hysts-mcp/TRELLIS/resolve/main/wheels/diff_gaussian_rasterization-0.0.0-cp310-cp310-linux_x86_64.whl" } nvdiffrast = { url = "https://huggingface.co/spaces/hysts-mcp/TRELLIS/resolve/main/wheels/nvdiffrast-0.3.3-cp310-cp310-linux_x86_64.whl" } [dependency-groups] dev = [ "setuptools>=80.8.0", ] [tool.ruff] line-length = 119 exclude = ["trellis", "extensions"] [tool.ruff.lint] select = ["ALL"] ignore = [ "COM812", # missing-trailing-comma "D203", # one-blank-line-before-class "D213", # multi-line-summary-second-line "E501", # line-too-long "SIM117", # multiple-with-statements # "D100", # undocumented-public-module "D101", # undocumented-public-class "D102", # undocumented-public-method "D103", # undocumented-public-function "D104", # undocumented-public-package "D105", # undocumented-magic-method "D107", # undocumented-public-init "EM101", # raw-string-in-exception "FBT001", # boolean-type-hint-positional-argument "FBT002", # boolean-default-value-positional-argument "PD901", # pandas-df-variable-name "PGH003", # blanket-type-ignore "PLR0913", # too-many-arguments "PLR0915", # too-many-statements "TRY003", # raise-vanilla-args # "SLF001", # private-member-access ] unfixable = [ "F401", # unused-import ] [tool.ruff.lint.pydocstyle] convention = "google" [tool.ruff.lint.per-file-ignores] "*.ipynb" = ["T201", "T203"] [tool.ruff.format] docstring-code-format = true