content: [project]
  name = "cvw-arch-verif"
  version = "0.1.0"
  description = "RISC-V Architecture Compatibility Test Framework"
  readme = "README.md"
  authors = [
      { name = "Jordan Carlin", email = "jcarlin@hmc.edu" }
  ]
  requires-python = ">=3.12"
  dependencies = [
      "pyyaml>=6.0.2",
  ]
  
  [dependency-groups]
  dev = [
      "ruff>=0.12.12",
  ]
  
  [project.scripts]
  makefile_gen = "framework.makefile_gen:main"
  
  ##### BUILD #####
  
  [build-system]
  requires = ["uv_build>=0.8.14,<0.9.0"]
  build-backend = "uv_build"
  
  [tool.uv.build-backend]
  module-root = ""
  module-name = "framework"
  
  ###### RUFF CONFIG #####
  
  [tool.ruff]
  line-length = 120
  
  [tool.ruff.lint]
  select = [
    "F",    # various basic rules (pyflakes)
    "E",    # errors (pycodestyle)
    "W",    # warnings (pycodestyle)
    "I",    # Import related rules (isort)
    "UP",   # Upgraded version available in newer Python
    "B",    # bugbear rules
    "A",    # shadow builtins
    "EXE",  # Executable file shebangs
    "Q003", # Avoidable escaped quotes
    "Q004", # Unnecessary esacpe character
    "RUF",  # Ruff specific rules
  ]
  
  ignore = [
    "E501",           # line too long
    "E741",           # ambiguous variable name
    "B007",           # loop control variable not used
    "B9",             # overly opinionated rules
    "RUF005",         # iterable unpacking in list
    "E701",           # multiple statements on one line # TODO: Remove this when autoformatter is in place
  ]
  