[build-system]
requires = ["setuptools>=61.0", "setuptools-scm"]
build-backend = "setuptools.build_meta"

[project]
name = "rekall.tools"
dynamic = ["version"]
description = "Project state ledger for AI agents"
readme = "README.md"
requires-python = ">=3.9"
dependencies = [
    "pyyaml"
]

[project.optional-dependencies]
dev = [
    "pytest",
    "build",
    "types-PyYAML"
]

[project.scripts]
rekall = "rekall.cli:main"

[tool.setuptools]
package-dir = {"" = "src"}

[tool.setuptools.packages.find]
where = ["src"]

[tool.setuptools-scm]

[tool.mypy]
mypy_path = "src"
explicit_package_bases = true
ignore_missing_imports = true
disallow_untyped_defs = false
check_untyped_defs = true
warn_unused_ignores = true

[tool.ruff]
line-length = 88
target-version = "py39"

[tool.ruff.lint]
select = ["E", "F", "W", "I", "B"]
ignore = ["E501"] # Line length handled by formatter

[tool.ruff.lint.isort]
known-first-party = ["rekall"]
