content: [tool.ruff]
  # In addition to the standard set of exclusions, omit example_index.py because
  # it's imports are used for side effects
  # Skip error examples since there's intentionally incorrect Python code.
  extend-exclude = [
      "mesop/example_index.py",
      "mesop/examples/error*",
      "generator/fixtures/*",
      "ai/data/**",               # do not format data files
      "ai/ft/goldens/**",         # need exact formatting for diff patch.
      "mesop/editor/testdata/**", # formatting messes up diff.
  ]
  select = [
      # pycodestyle
      "E",
      # Pyflakes
      "F",
      # pyupgrade
      "UP",
      # flake8-bugbear
      "B",
      # flake8-simplify
      "SIM",
      # isort
      "I",
      # Ruff
      "RUF",
  ]
  ignore = [
      "E501",   # ignore line-length (e.g. long docstring)
      "SIM117", # ignore combine with statements (it leads to harder to read code)
  ]
  line-length = 80
  indent-width = 2
  
  [build-system]
  requires = ["setuptools>=40.8.0", "wheel"]
  build-backend = "setuptools.build_meta"
  
  [project]
  name = "mesop"
  version = "0.0.1"
  authors = [{ name = "Will Chen" }]
  description = "Python UI framework"
  
  [project.license]
  file = "LICENSE"
  
  [tool.setuptools]
  packages = ["mesop"]
  