content: [project]
  name = "async-dag"
  version = "0.3.1"
  description = "A simple library for running complex DAG of async tasks while ensuring maximum possible parallelism"
  readme = "README.md"
  authors = [
      { name = "Mayrom Rabinovich", email = "nhruo123@gmail.com" }
  ]
  requires-python = ">=3.12"
  dependencies = []
  
  [build-system]
  requires = ["hatchling"]
  build-backend = "hatchling.build"
  
  [dependency-groups]
  dev = [
      "pytest>=8.3.5",
      "pytest-asyncio>=0.25.3",
  ]
  lint = [
      "mypy>=1.15.0",
      "ruff>=0.11.2",
  ]
  
  
  [tool.hatch.build.targets.sdist]
  exclude = [
    "/.github",
    "/docs",
    "/examples",
  ]
  
  [tool.pytest.ini_options]
  asyncio_mode = "auto"
  asyncio_default_fixture_loop_scope = "function"
  
  [tool.ruff]
  line-length = 88
  extend-exclude = [
    "scripts/cookiecutter/**/*.py",
    "*/.venv/*",
    "microservices/api/open-approvals-api",
    "**/db/migrations/**.py",
  ]
  
  [tool.ruff.lint]
  select = [
    "E4",
    "E7",
    "E9",
    "F",
    "B",
    "Q",
    "I",
    "UP",
    "ASYNC",
    "FAST",
    "A",
    "C4",
    "T10",
    "ISC",
    "LOG",
    "PIE",
    "PYI",
    "SIM",
    "RUF",
    "DTZ",
    "G",
    "ANN",
    "RET",
    "N",
  ]
  ignore = ["F811"]
  
  [tool.mypy]
  mypy_path = [
      "src", "tests"
  ]
  strict = true
  warn_redundant_casts = true
  warn_unused_ignores = true
  warn_no_return = true
  warn_return_any = true
  warn_unreachable = true
  install_types = true
  non_interactive = true
  show_error_code_links = true
  disallow_untyped_defs = true
  namespace_packages = true
  exclude = [
      ".venv/*"
  ]
  