Source code for pjkm.core.models.platform
"""Platform detection models."""
from __future__ import annotations
import platform
import shutil
from pydantic import BaseModel, Field, computed_field
[docs]
class PlatformInfo(BaseModel):
"""Current platform details, used for OS-dependent group filtering."""
@computed_field # type: ignore[prop-decorator]
@property
@computed_field # type: ignore[prop-decorator]
@property
[docs]
def has_tool(self, name: str) -> bool:
"""Check if a CLI tool is available on PATH."""
return shutil.which(name) is not None