content: [build-system]
  requires = ["poetry-core==1.1.0"]
  build-backend = "poetry.core.masonry.api"
  
  
  [tool.poetry]
  name = "hive_local_tools"
  version = "0.0.0"
  description = "A collective library containing all the tools required by hive python tests."
  authors = ["Mateusz Żebrak <mzebrak@syncad.com>"]
  packages = [
      { include = "hive_local_tools" },
      { include = "hive_utils" },
  ]
  
  
  source = [
      { name = "PyPI", priority = "primary" },
      { name = "gitlab-schemas", url = "https://gitlab.syncad.com/api/v4/projects/362/packages/pypi/simple", priority = "supplemental" },
      { name = "gitlab-wax", url = "https://gitlab.syncad.com/api/v4/projects/419/packages/pypi/simple", priority = "supplemental" },
      { name = "gitlab-beekeepy", url = "https://gitlab.syncad.com/api/v4/projects/434/packages/pypi/simple", priority = "supplemental" },
  ]
  
  
  [tool.poetry.dependencies]
  python = "^3.12"
  pytest = "7.2.2"
  pytest-rerunfailures = "10.2"
  pytest-timeout = "2.1.0"
  pytest-repeat = "0.9.1"
  pytest-xdist = "3.2.0"
  tavern = "2.2.0"
  types-PyYAML = "6.0.12.11"
  shared-tools = { path = "shared-tools", develop = true }
  test-tools = { path = "test-tools", develop = true }
  tests_api = { path = "tests_api", develop = true }
  
  [tool.poetry.group.dev.dependencies]
  pre-commit = "3.4.0"
  black = "23.9.1"
  ruff = "0.6.5"
  
  [tool.poetry.group.black.dependencies]
  black = "23.9.1"
  
  [tool.poetry.group.ruff.dependencies]
  ruff = "0.6.5"
  
  [tool.poetry.group.pre-commit.dependencies]
  pre-commit = "3.4.0"
  
  [tool.black]
  line-length = 120
  preview = true
  exclude = "test-tools|tests_api"
  
  
  [tool.ruff]
  preview = true
  line-length = 120
  exclude = [
      "/**/test-tools/**",
      "/**/tests_api/**",
      "/**/helpy/**",
      "/**/schemas/**"
  ]
  select = [  # https://docs.astral.sh/ruff/rules/
      "F",
      "E",
      "W",
      "C",
      "I",
      "N",
      "UP",
      "YTT",
      "ASYNC",
  #    "BLE",  # TODO: Consider enabling this
  #    "FBT",  # TODO: Consider enabling this
      "B",
  #    "A",  # TODO: Consider enabling this
      "C4",
      "FA",
      "ISC",
      "INP",
      "PIE",
      "PYI",
      "PT",
      "RSE",
      "RET",
      "SLF",
      "SIM",
      "TID",
      "TCH",
      "INT",
  #    "PTH",  # TODO: Consider enabling this
  #    "PL",  # TODO: Consider enabling this
      "TRY",
      "FLY",
      "PERF",
      "FURB",
      "RUF",
  ]
  ignore = [
      "E203", # whitespace before punctuation, handled by black
      "E501", # line too long, handled by black
      "PT004", # fixture does not return anything, add leading underscore;  issue: pytest seems to ignore (not launch) auto-use fixtures with leading underscode
      "TRY003", # too restrictive
      "TRY400", # TODO: Consider fixing
      "PERF401", # too restrictive
  ]
  
  [tool.ruff.per-file-ignores]
  "/**/tests/python/functional/fork_tests/**" = [
      "N803", # TODO: Make these names more descriptive
      "N806", # TODO: Make these names more descriptive
  ]
  "/**/tests/python/**/decentralized_hive_fund*/**" = [
      "PIE804", # TODO: Consider fixing
  ]
  
  
  
  
  [tool.ruff.isort]
  known-first-party = [
      "hive_local_tools",
      "hive_utils",
      "schemas",
      "shared_tools",
      "test_tools",
      "wax",
  ]
  required-imports = ["from __future__ import annotations"]
  