[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.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.default] dependencies = ["pre-commit"] [tool.hatch.envs.e] dependencies = ["keyboard"] [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.hatch-test] randomize = true [tool.hatch.envs.hatch-test.scripts] run = "pytest{env:HATCH_TEST_ARGS:} {args}" [[tool.hatch.envs.hatch-test.matrix]] python = ["313", "312", "311", "310", "39"] [tool.hatch.envs.style] detached = true dependencies = [ "black", "isort", ] [tool.hatch.envs.style.scripts] check = [ "black --check --diff .", "isort --check-only --diff .", ] fmt = [ "isort .", "black .", ] [tool.black] line-length = 88 include = '\.pyi?$' # 'extend-exclude' excludes files or directories in addition to the defaults extend-exclude = ''' ( ^/\.git/ # exclude all files in the .git directory ^/\.hatch/ # exclude all files in the .hatch directory ^/\.pytest_cache/ # exclude all files in the .pytest_cache directory | .*_pb2.py # exclude autogenerated Protocol Buffer files anywhere in the project ) ''' [tool.isort] profile = "black" skip = [".gitignore", ".dockerignore"] skip_glob = [".git/*", ".hatch/*", ".pytest_cache/*"]