content: [build-system]
  requires = ["hatchling"]
  build-backend = "hatchling.build"
  
  [project]
  name = "llm-orchestra"
  version = "0.10.1"
  description = "Multi-agent LLM communication system with ensemble orchestration"
  readme = "README.md"
  license = {file = "LICENSE"}
  authors = [
      {name = "Nathan Green", email = "contact@nate.green"},
  ]
  keywords = ["llm", "agents", "orchestration", "ensemble", "ai", "multi-agent"]
  classifiers = [
      "Development Status :: 4 - Beta",
      "Intended Audience :: Developers",
      "Intended Audience :: Science/Research", 
      "Topic :: Software Development :: Libraries :: Python Modules",
      "Topic :: Scientific/Engineering :: Artificial Intelligence",
      "License :: OSI Approved :: MIT License",
      "Programming Language :: Python :: 3",
      "Programming Language :: Python :: 3.11",
      "Programming Language :: Python :: 3.12",
  ]
  dependencies = [
      "websockets",
      "aiohttp>=3.12.14",
      "pydantic",
      "anthropic",
      "google-genai",
      "ollama",
      "click",
      "pyyaml",
      "cryptography",
      "requests>=2.32.4",
      "rich>=13.0.0",
      "psutil>=5.9.0",
  ]
  requires-python = ">=3.11"
  
  [project.optional-dependencies]
  dev = [
      "pytest>=7.4.0",
      "pytest-asyncio>=0.21.0", 
      "pytest-cov>=4.1.0",
      "ruff>=0.0.287",
      "mypy>=1.5.0",
      "build",
      "twine",
      "pip-audit>=2.6.0",
  ]
  
  [project.urls]
  "Homepage" = "https://github.com/mrilikecoding/llm-orc"
  "Repository" = "https://github.com/mrilikecoding/llm-orc"
  "Bug Tracker" = "https://github.com/mrilikecoding/llm-orc/issues"
  "Documentation" = "https://github.com/mrilikecoding/llm-orc#readme"
  
  [project.scripts]
  llm-orc = "llm_orc.cli:cli"
  
  
  [tool.ruff]
  line-length = 88
  target-version = "py311"
  
  [tool.ruff.lint]
  select = ["E", "F", "W", "I", "N", "UP", "B", "A", "C4", "PT", "C90"]
  
  [tool.ruff.lint.mccabe]
  max-complexity = 10
  
  [tool.mypy]
  python_version = "3.11"
  strict = true
  warn_return_any = true
  warn_unused_configs = true
  
  [tool.pytest.ini_options]
  testpaths = ["tests"]
  asyncio_mode = "auto"
  addopts = "--cov=llm_orc --cov-report=term-missing --cov-fail-under=95"
  markers = [
      "asyncio: marks tests as requiring asyncio"
  ]
  
  [tool.hatch.build.targets.wheel]
  packages = ["src/llm_orc"]
  
  [dependency-groups]
  dev = [
      "types-pyyaml>=6.0.12.20250516",
      "pytest>=7.4.0",
      "pytest-asyncio>=0.21.0",
      "pytest-cov>=4.1.0",
      "ruff>=0.0.287",
      "mypy>=1.5.0",
      "pip-audit>=2.6.0",
      "types-requests>=2.32.4.20250611",
      "complexipy>=3.3.0",
      "bandit>=1.8.6",
      "vulture>=2.14",
      "psutil>=6.1.0",
      "types-psutil>=7.0.0.20250601",
  ]
  
  