content: [build-system]
  requires = ["setuptools>=61.0"]
  build-backend = "setuptools.build_meta"
  
  [project]
  name = "ovon"
  version = "0.1"
  description = "open-vocab-objectnav"
  authors = [
      {name = "Naoki Yokoyama", email = "naokiyokoyama@github.com"},
  ]
  readme = "README.md"
  requires-python = ">=3.7"
  
  [project.optional-dependencies]
  dev = [
      "pre-commit >= 2.21.0",
  ]
  
  [project.urls]
  "Homepage" = "github.com"
  "GitHub" = "https://github.com/naokiyokoyama/ovon"
  
  [tool.setuptools]
  packages = ["ovon"]
  
  [tool.ruff]
  # Enable pycodestyle (`E`), Pyflakes (`F`), and import sorting (`I`)
  select = ["E", "F", "I"]
  ignore = []
  
  # Allow autofix for all enabled rules (when `--fix`) is provided.
  fixable = ["A", "B", "C", "D", "E", "F", "G", "I", "N", "Q", "S", "T", "W", "ANN", "ARG", "BLE", "COM", "DJ", "DTZ", "EM", "ERA", "EXE", "FBT", "ICN", "INP", "ISC", "NPY", "PD", "PGH", "PIE", "PL", "PT", "PTH", "PYI", "RET", "RSE", "RUF", "SIM", "SLF", "TCH", "TID", "TRY", "UP", "YTT"]
  unfixable = []
  
  # Exclude a variety of commonly ignored directories.
  exclude = [
      ".bzr",
      ".direnv",
      ".eggs",
      ".git",
      ".hg",
      ".mypy_cache",
      ".nox",
      ".pants.d",
      ".pytype",
      ".ruff_cache",
      ".svn",
      ".tox",
      ".venv",
      "__pypackages__",
      "_build",
      "buck-out",
      "build",
      "dist",
      "node_modules",
      "venv",
      "docker/ros",
  ]
  
  # Same as Black.
  line-length = 88
  
  # Allow unused variables when underscore-prefixed.
  dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
  
  # Assume Python 3.9.
  target-version = "py39"
  
  [tool.ruff.per-file-ignores]
  "__init__.py" = ["F401"]
  
  [tool.ruff.mccabe]
  # Unlike Flake8, default to a complexity level of 10.
  max-complexity = 10
  
  [tool.black]
  line-length = 88
  target-version = ['py39']
  include = '\.pyi?$'
  # `extend-exclude` is not honored when `black` is passed a file path explicitly,
  # as is typical when `black` is invoked via `pre-commit`.
  force-exclude = '''
  /(
    docker/ros/.*
  )/
  '''
  
  preview = true
  
  # mypy configuration
  [tool.mypy]
  python_version = "3.9"
  disallow_untyped_defs = true
  ignore_missing_imports = true
  explicit_package_bases = true
  check_untyped_defs = true
  strict_equality = true
  warn_unreachable = true
  warn_redundant_casts = true
  no_implicit_optional = true
  files = ['ovon']
  exclude = '^(docker|.*external|.*thirdparty|.*install|.*build|.*_experimental)/'
  