[build-system]
requires = ["maturin>=1.14.0,<2.0"]
build-backend = "maturin"
[project]
name = "standard_knowledge"
requires-python = ">=3.12"
classifiers = [
"Programming Language :: Rust",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
]
dynamic = ["version"]
readme = "README.md"
description = "Programmatically augmenting CF Standards with operational knowledge."
license = "Apache-2.0"
[dependency-groups]
dev = [
"pytest>9",
]
[tool.maturin]
features = ["pyo3/extension-module"]
module-name = "standard_knowledge._standard_knowledge_py"
python-source = "python"
exclude = ["README.md"]
[tool.uv]
exclude-newer = "7 days"
cache-keys = [{file = "pyproject.toml"}, {file = "Cargo.toml"}, {file = "src/**/*.rs"}, {file = "python/**/*.py"}, {file = "../core/standards/*.yaml"}, {file = "../core/src/**/*.rs"}]
[tool.pytest]
minversion = "9.0"
addopts = ["-v", "-ra", "--strict-markers", "--strict-config"]
testpaths = ["tests"]
xfail_strict = true
filterwarnings = [
"error",
"ignore:The global interpreter lock:RuntimeWarning",
]
log_level = "INFO"
[tool.cibuildwheel]
build-frontend = "build[uv]"
test-groups = ["dev"]
test-command = "python -m pytest {project}/py/tests -xv"
skip = [
"cp313-pyodide_wasm32",
]
[tool.cibuildwheel.pyodide]
pyodide-version = "314.0.0"
environment = {"RUSTUP_TOOLCHAIN" = "1.93.0"}
[tool.repo-review]
ignore = [
"MY100",
"PY004",
"PY003",
"PY006",
"PY007",
"GH100",
]
[tool.ruff]
lint.extend-select = [
"B",
"I",
"UP",
]