[project]
name = "dora-rdt-1b"
version = "0.3.11"
authors = [{ name = "Haixuan Xavier Tao", email = "tao.xavier@outlook.com" }]
description = "Dora Node for RDT 1B"
license = { text = "MIT" }
readme = "README.md"
requires-python = ">=3.9"

dependencies = [
  "dora-rs >= 0.3.9",
  "numpy > 1.24.4",
  "torch >= 2.7.0",
  "torchvision >= 0.22",
  "torchaudio >= 2.7.0",
  "transformers >= 4.45",
  "qwen-vl-utils >= 0.0.2",
  "accelerate >= 0.33",
  "opencv-python >= 4.1.1",
  "modelscope >= 1.18.1",
  "packaging == 24.0",
  "wandb == 0.17.0",
  "diffusers == 0.27.2",
  "timm == 1.0.3",
  "sentencepiece == 0.2.0",
  "h5py == 3.11.0",
  "imgaug == 0.4.0",
  "huggingface_hub == 0.23.5",
]

# flash_attn = "^2.6.1" # Install using: pip install -U flash-attn --no-build-isolation

[tool.black]
extend-exclude = 'dora_rdt_1b/RoboticsDiffusionTransformer'

[dependency-groups]
dev = ["pytest >=8.1.1", "ruff >=0.9.1"]

[project.scripts]
dora-rdt-1b = "dora_rdt_1b.main:main"

[tool.ruff]
exclude = ["dora_rdt_1b/RoboticsDiffusionTransformer"]

[build-system]
requires = ["poetry-core>=1.8.0"]
build-backend = "poetry.core.masonry.api"

[tool.ruff.lint]
extend-select = [
  "D",    # pydocstyle
  "UP",   # Ruff's UP rule
  "PERF", # Ruff's PERF rule
  "RET",  # Ruff's RET rule
  "RSE",  # Ruff's RSE rule
  "NPY",  # Ruff's NPY rule
  "N",    # Ruff's N rule
  "I",    # Ruff's I rule
]
