[project]
name = "pykaos"
version = "0.6.0"
description = ""
readme = "README.md"
requires-python = ">=3.12"
dependencies = [
    "aiofiles>=24.0,<26.0",
    "asyncssh==2.21.1",
]

[dependency-groups]
dev = [
    "inline-snapshot[black]>=0.31.1",
    "pyright>=1.1.407",
    "ty>=0.0.7",
    "pytest>=9.0.2",
    "pytest-asyncio>=1.3.0",
    "ruff>=0.14.9",
]

[build-system]
requires = ["uv_build>=0.8.5,<0.9.0"]
build-backend = "uv_build"

[tool.uv.build-backend]
module-name = ["kaos"]
source-exclude = ["tests/**/*"]

[tool.ruff]
line-length = 100

[tool.ruff.lint]
select = [
    "E",   # pycodestyle
    "F",   # Pyflakes
    "UP",  # pyupgrade
    "B",   # flake8-bugbear
    "SIM", # flake8-simplify
    "I",   # isort
]

[tool.pyright]
typeCheckingMode = "strict"
pythonVersion = "3.14"
include = [
    "src/**/*.py",
    "tests/**/*.py",
]

[tool.ty.environment]
python-version = "3.14"

[tool.ty.src]
include = [
    "src/**/*.py",
    "tests/**/*.py",
]
