[build-system]
requires = ["setuptools", "wheel", "build"]
build-backend = "setuptools.build_meta"

[tool.setuptools]
packages = ["embodied_gen"]

[project]
name = "embodied_gen"
version = "v0.1.2"
readme = "README.md"
license = "Apache-2.0"
license-files = ["LICENSE", "NOTICE"]

dependencies = []
requires-python = ">=3.10"

[project.optional-dependencies]
dev = [
    "cpplint",
    "pre-commit",
    "pydocstyle",
    "black",
    "isort",
    "pytest",
    "pytest-mock",
]

[project.scripts]
drender-cli = "embodied_gen.data.differentiable_render:entrypoint"
backproject-cli = "embodied_gen.data.backproject_v2:entrypoint"
img3d-cli = "embodied_gen.scripts.imageto3d:entrypoint"
text3d-cli = "embodied_gen.scripts.textto3d:text_to_3d"
scene3d-cli = "embodied_gen.scripts.gen_scene3d:entrypoint"

[tool.pydocstyle]
match = '(?!test_).*(?!_pb2)\.py'
match-dir = '^(?!(raw|projects|tools|k8s_submit|thirdparty)$)[\w.-]+$'
convention = "google"
add-ignore = 'D104,D107,D202,D105,D100,D102,D103,D101,E203'

[tool.pycodestyle]
max-line-length = 79
ignore = "E203"

[tool.black]
line-length = 79
exclude = "thirdparty"
skip-string-normalization = true

[tool.isort]
line_length = 79
profile = 'black'
no_lines_before = 'FIRSTPARTY'
known_first_party = ['embodied_gen']
skip = "thirdparty/"