Newer
Older
SmTIAS-LightSim / pyproject.toml
[project]
name = "sm-tias-lightsim"
version = "0.1.0"
authors = [
    { name = "rintoHasegawa", email = "rintohasegawa0112@gmail.com" }
]
requires-python = ">=3.12"
dependencies = [
    "matplotlib>=3.10.9",
    # mitsuba は 3.7.1 に固定する.3.8.0 では Windows の Smart App Control が
    # 同梱の IlmThread-mitsuba.dll(OpenEXR)1 個をレピュテーション判定でブロックし,
    # mitsuba が import 不能=レンダ・遮蔽検証が全滅する(2026-09-01 実測.
    # vtk 9.6.1 と同型の故障モード=docs/06_TEST/TEST_13 検査 8).3.7.1 は全 DLL が
    # 読み込める.バージョンを上げる際は import 確認と絶対放射量テスト
    # (uv run pytest -m "")を必ず通すこと.
    "mitsuba==3.7.1",
    "numpy>=2.4.4",
    "opencv-python>=4.13.0.92",
    "pandas>=3.0.2",
    "pillow>=12.2.0",
    "pydantic>=2.13.3",
    "pyvista>=0.45",
    # vtk は 9.4.2 に固定する.9.6.1 では Windows の Smart App Control が
    # vtkRenderingAnnotation・vtkInteractionWidgets 等 14 個の DLL を
    # レピュテーション判定でブロックし,sm-visualize が起動できなくなる
    # (docs/06_TEST/TEST_13 検査 8).9.4.2 は全 147 モジュールが読み込める.
    # バージョンを上げる際は必ず sm-visualize の起動確認を行うこと
    # (tests/visualize/test_vtk_import_guard.py が常時検査している).
    "vtk==9.4.2",
    "pyyaml>=6.0.3",
    "rawpy>=0.21.0",
    "scikit-image>=0.21.0",
    "trimesh>=4.12.1",
]

[project.scripts]
sm-tias-lightsim = "sm_tias_lightsim:main"
sm-render = "sm_tias_lightsim.cli.render:main"
sm-evaluate = "sm_tias_lightsim.cli.evaluate:main"
sm-visualize = "sm_tias_lightsim.cli.visualize:main"
sm-remote = "sm_tias_lightsim.cli.remote:main"

[build-system]
requires = ["uv_build>=0.11.7,<0.12.0"]
build-backend = "uv_build"

[dependency-groups]
dev = [
    "pytest>=9.0.3",
    "ruff>=0.15.12",
]

[tool.ruff]
line-length = 100
target-version = "py312"

[tool.ruff.lint]
select = ["E", "F", "W", "I", "B", "UP", "N"]

[tool.ruff.format]
quote-style = "double"
indent-style = "space"

[tool.pytest.ini_options]
markers = [
    "slow: 重いテスト(レンダリングを伴う等).通常実行は -m 'not slow' で除外",
]