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

[project]
name = "obsws-python"
dynamic = ["version"]
description = "A Python SDK for OBS Studio WebSocket v5.0"
readme = "README.md"
license = { text = "GPL-3.0-only" }
requires-python = ">=3.9"
authors = [
    { name = "Adem Atikturk", email = "aatikturk@gmail.com" },
]
dependencies = [
    "tomli >= 2.0.1;python_version < '3.11'",
    "websocket-client",
]

[project.optional-dependencies]
dev = [
    "black",
    "isort",
    "pytest",
    "pytest-randomly",
]

[project.urls]
Homepage = "https://github.com/aatikturk/obsws-python"

[tool.hatch.version]
path = "obsws_python/version.py"

[tool.hatch.build.targets.sdist]
include = [
    "/obsws_python",
]

[tool.hatch.envs.e.scripts]
events = "python {root}\\examples\\events\\."
hotkeys = "python {root}\\examples\\hotkeys\\."
levels = "python {root}\\examples\\levels\\."
scene_rotate = "python {root}\\examples\\scene_rotate\\."

[tool.hatch.envs.test]
dependencies = [
  "pytest",
]

[tool.hatch.envs.test.scripts]
run = 'pytest -v'

[[tool.hatch.envs.test.matrix]]
python = ["39", "310", "311", "312"]