[project]
name = "pyjallib"
version = "0.2.1"
description = "A utility library for 3D game character development pipelines."
readme = "README.md"
license = "MIT"
authors = [
    { name = "Dongseok Kim", email = "jalnagakds@naver.com" }
]
requires-python = ">=3.10"
keywords = ["game", "character", "pipeline", "3dsmax", "unreal"]
classifiers = [
    "Development Status :: 4 - Beta",
    "Intended Audience :: Developers",
    "License :: OSI Approved :: MIT License",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Programming Language :: Python :: 3.13",
    "Topic :: Software Development :: Libraries :: Python Modules",
    "Topic :: Multimedia :: Graphics :: 3D Modeling",
]
dependencies = [
    "loguru>=0.7.3",
    "p4python>=2024.2.2682690",
]

[project.urls]
Homepage = "https://github.com/jalnaga/PyJalLib"
Repository = "https://github.com/jalnaga/PyJalLib"
Issues = "https://github.com/jalnaga/PyJalLib/issues"

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[tool.pdoc]
modules = ["pyjallib"]
output_directory = "docs"
docformat = "markdown"

[dependency-groups]
dev = [
    "pytest>=9.0.2",
    "ruff>=0.14.9",
]

[tool.pytest.ini_options]
# test_inUnreal_* 파일은 언리얼 에디터 전용 스크립트로 pytest에서 제외
testpaths = ["tests"]
python_files = ["test_*.py"]
addopts = "--ignore=tests/ue5/test_inUnreal_animation_import.py --ignore=tests/ue5/test_inUnreal_skeleton_import.py --ignore=tests/ue5/test_inUnreal_skeletal_mesh_import.py --ignore=tests/ue5/test_inUnreal_batch_animation_import.py --ignore=tests/max/test_dependent.py --ignore=tests/max/test_checkViewport.py --ignore=tests/max/test_checkLayer.py --ignore=tests/max/test_checkMaterial.py --ignore=tests/max/test_checkObject.py"

[tool.ruff.lint.per-file-ignores]
# 템플릿 파일은 sys.path 조작 후 import가 필요함 (언리얼 에디터 환경)
"src/pyjallib/ue5/templates/*.py" = ["E402"]
# 3ds Max 테스트 파일은 sys.path 조작 후 import가 필요함
"tests/max/test_check*.py" = ["E402"]
