2a58826bd4
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
56 lines
1.8 KiB
TOML
56 lines
1.8 KiB
TOML
[project]
|
|
name = "pf1e-simulator"
|
|
version = "0.1.0"
|
|
requires-python = ">=3.12"
|
|
dependencies = [
|
|
"pydantic>=2",
|
|
"pyyaml",
|
|
]
|
|
|
|
[build-system]
|
|
requires = ["hatchling"]
|
|
build-backend = "hatchling.build"
|
|
|
|
[tool.hatch.build.targets.wheel]
|
|
packages = ["src/pf1e_simulator"]
|
|
|
|
[dependency-groups]
|
|
dev = [
|
|
"pytest",
|
|
"ruff",
|
|
"basedpyright",
|
|
]
|
|
|
|
# ── Ruff ──────────────────────────────────────────────────────────────────────
|
|
[tool.ruff]
|
|
target-version = "py312"
|
|
line-length = 100
|
|
|
|
[tool.ruff.lint]
|
|
select = ["ALL"]
|
|
ignore = [
|
|
# D: docstring rules — we don't write docstrings everywhere in early scaffolding
|
|
"D",
|
|
# COM812: trailing-comma-in-missing — conflicts with ruff formatter
|
|
"COM812",
|
|
# ISC001: single-line-implicit-string-concatenation — conflicts with formatter
|
|
"ISC001",
|
|
# CPY001: missing copyright notice — we don't use copyright headers
|
|
"CPY001",
|
|
]
|
|
|
|
[tool.ruff.lint.per-file-ignores]
|
|
# Tests: assert is expected, magic numbers are fine, annotations are noisy
|
|
"tests/**" = ["S101", "PLR2004", "ANN"]
|
|
# rng.py: `random.Random` is used for reproducible Monte Carlo streams, not cryptography
|
|
"src/pf1e_simulator/rng.py" = ["S311"]
|
|
|
|
# ── Basedpyright ──────────────────────────────────────────────────────────────
|
|
[tool.basedpyright]
|
|
typeCheckingMode = "strict"
|
|
include = ["src", "tests"]
|
|
|
|
# ── Pytest ────────────────────────────────────────────────────────────────────
|
|
[tool.pytest.ini_options]
|
|
testpaths = ["tests"]
|