[project]
name = "nova"
version = "1.14.0"
description = "Nova — consumers declare intent; the platform delivers safe production deployment."
requires-python = ">=3.10"
dependencies = [
    "boto3>=1.34",
    "jsonschema>=4.20",
    "pyyaml>=6.0",
]

[project.optional-dependencies]
test = [
    "pytest>=8.0",
    "pytest-cov>=4.0",
    "pytest-json-report>=1.5",
    "moto[dynamodb]>=5.0",
]
slides = ["python-pptx>=0.6.23"]

[tool.pytest.ini_options]
testpaths = ["tests"]
markers = [
    "offline: tests that run without AWS/Checkov/DynamoDB",
    "slow: tests that invoke the full platform pipeline (long-running)",
]
addopts = "-v --tb=short --junitxml=metrics/test-results.xml --json-report --cov=core --cov=adapters --cov-report=json:metrics/coverage.json --json-report-file=metrics/test-report.json"
filterwarnings = [
    "ignore::DeprecationWarning:botocore.*",
]

[tool.coverage]
run.source = ["core", "adapters"]

[build-system]
requires = ["setuptools>=68"]
build-backend = "setuptools.backends._legacy:_Backend"