content: [tool.poetry]
  name = "eval-analysis-public"
  version = "0.1.0"
  description = ""
  authors = ["Lucas Sato <lucas@metr.org>"]
  readme = "README.md"
  packages = [{include = "src"}]
  
  [tool.poetry.dependencies]
  python = "^3.11"
  
  adjustText = "^1.3.0"
  datasets = "^3.2.0"
  dvc = { version = "^3.50.0", extras = ["s3"] }
  matplotlib = "^3.9.0"
  numpy = "^2.0.0"
  pandas = "^2.2.0"
  scikit-learn = "^1.5.0"
  scipy = "^1.14.0"
  torch = "^2.5.1"
  seaborn = "^0.13.2"
  statsmodels = "^0.14.4"
  
  [tool.poetry.group.dev.dependencies]
  debugpy = "^1.8.0"
  ipykernel = "^6.29.0"
  pandas-stubs = "^2.2.3.241126"
  pyright = "^1.1.391"
  pytest = "^8.2.0"
  pytest-watcher = "~0.4.0"
  viv-cli = { git="https://github.com/METR/vivaria", subdirectory = "cli" }
  ruff = "^0.8.3"
  
  [build-system]
  requires = ["poetry-core"]
  build-backend = "poetry.core.masonry.api"
  
  [tool.pyright]
  reportMissingTypeArgument = "error"
  
  [tool.pytest.ini_options]
  pythonpath = [".", "src"]
  
  [tool.ruff.lint]
  extend-select = ["ANN"] # Enforce type annotations (see https://docs.astral.sh/ruff/rules/#flake8-annotations-ann)
  ignore = ["ANN401"]  # any-type rule, disables use of typing.Any (see https://docs.astral.sh/ruff/rules/any-type/)
  
  [tool.ruff.lint.flake8-annotations]
  mypy-init-return = true # Allow unannotated return type for __init__ methods
  