content: [build-system]
  requires = ["hatchling", "hatch-vcs"]
  build-backend = "hatchling.build"
  
  [project]
  name = "inspect_viz"
  dynamic = ["version"]
  description = "Data visualization for Inspect AI large language model evalutions."
  authors = [{ name = "Meridian Labs" }]
  readme = "README.md"
  requires-python = ">=3.10"
  license = { text = "MIT License" }
  dependencies = [
      "ipython",
      "shortuuid",
      "anywidget>=0.9.0",
      "traitlets>=5.9.0",
      "narwhals>=1.15.1",
      "nest_asyncio",
      "pandas>=2.2.2",
      "pyarrow>=15.0.0",
      "pillow",
      "pydantic",
      "sniffio",
      "typing_extensions>=4.9.0",
  ]
  
  [project.urls]
  Documentation = "https://meridianlabs-ai.github.io/inspect_viz/"
  "Source Code" = "https://github.com/meridianlabs-ai/inspect_viz"
  "Issue Tracker" = "https://github.com/meridianlabs-ai/inspect_viz/issues"
  
  
  [project.optional-dependencies]
  dev = [
      "watchfiles",
      "jupyterlab",
      "ruff",
      "mypy",
      "datamodel-code-generator",
      "pandas-stubs",
      "playwright",
      "pyarrow-stubs",
      "pytest",
      "types-pillow",
  ]
  doc = [
      "quarto-cli==1.7.31",
      "jupyter",
      "panflute",
      "markdown",
      "griffe",
      "pyyaml",
  ]
  
  [tool.hatch.build]
  only-packages = true
  exclude = ["docs/", "tests/"]
  artifacts = ["src/inspect_viz/_widgets"]
  
  [tool.hatch.version]
  source = "vcs"
  
  [tool.hatch.build.hooks.vcs]
  version-file = "src/inspect_viz/_version.py"
  
  [tool.hatch.version.raw-options]
  local_scheme = "no-local-version" # Important for PyPI compatibility
  
  [tool.ruff]
  extend-exclude = ["docs"]
  src = ["."]
  
  [tool.ruff.lint]
  select = [
      "E",      # pycodestyle errors
      "W",      # pycodestyle warnings
      "F",      # flake8
      "D",      # pydocstyle
      "I",      # isort
      "B",      # flake8-bugbear
      "SIM101", # duplicate isinstance
      # "RET", # flake8-return
      # "RUF", # ruff rules
  ]
  ignore = ["E203", "E501", "D10", "D212", "D415"]
  
  [tool.ruff.lint.pydocstyle]
  convention = "google"
  
  [tool.pytest.ini_options]
  pythonpath = ["src"]
  testpaths = ["tests"]
  
  [tool.mypy]
  strict = true
  mypy_path = "src"
  namespace_packages = true
  explicit_package_bases = true
  