ts3query-proxy/pyproject.toml
Joshua Hirsig c9151df7e0 Refactor: Config dataclass, more unit tests, ruff/mypy setup
- Replace module-level env var globals with frozen Config dataclass
- Add pyproject.toml with project metadata, ruff, mypy, pytest config
- Expand unit tests from 11 to 30 (sanitize edge cases, SSH failure
  modes, proxy forwarding, cleanup, auth loop edge cases)
- Fix all ruff and mypy findings
- Integration tests no longer need importlib.reload hack
- Dockerfile installs from pyproject.toml for consistency

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-14 18:56:35 +01:00

36 lines
839 B
TOML

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "ts3-query-proxy"
version = "1.0.0"
description = "Translation layer bridging TS3 raw ServerQuery (TCP 10011) to TS6 SSH Query (TCP 10022)"
readme = "README.md"
license = "MIT"
requires-python = ">=3.11"
authors = [{ name = "Joshua Hirsig" }]
dependencies = ["asyncssh>=2.17"]
[project.optional-dependencies]
dev = ["pytest>=8", "pytest-asyncio>=0.24", "ruff>=0.9", "mypy>=1.14"]
[tool.hatch.build.targets.wheel]
packages = ["."]
only-include = ["proxy.py"]
[tool.pytest.ini_options]
testpaths = ["tests"]
[tool.ruff]
target-version = "py311"
line-length = 100
[tool.ruff.lint]
select = ["E", "W", "F", "I", "UP", "B", "SIM"]
[tool.mypy]
python_version = "3.11"
warn_return_any = true
warn_unused_configs = true
disallow_untyped_defs = true