[build-system]
requires = ["poetry-core>=1.0.0", "poetry-dynamic-versioning>=1.0.0,<2.0.0"]
build-backend = "poetry_dynamic_versioning.backend"

[tool.poetry]
name = "hybrid-groups"
version = "0.0.1"
description = "A multi-user, multi-agent collaboration platform"
readme = "README.md"
license = "Apache-2.0"
authors = [
    "Martin Krasser <martin@gradion.ai>",
    "Christoph Stumpf <chris@gradion.ai>",
]
packages = [
    { include = "hygroup" },
]

[tool.poetry.dependencies]
python = "^3.11,<3.14"
pydantic-ai = {version = "^0.3.3", extras = ["mcp"]}
aioconsole = "^0.8.1"
slack-bolt = "^1.23.0"
aiohttp = "^3.11.16"
fastapi = {extras = ["all"], version = "^0.115.12"}
pygithub = "^2.6.1"
aiofiles = "^24.1.0"
aiodocker = "^0.24.0"
google-genai = "^1.21.1"
gitingest = "^0.1.4"
datasets = "^3.6.0"
tinydb = "^4.8.2"
bcrypt = "^4.3.0"
cryptography = "^45.0.3"
rich = "^14.0.0"
markdown-to-mrkdwn = "^0.2.0"

[tool.poetry.group.docs]
optional = true

[tool.poetry.group.docs.dependencies]
mkdocs = "^1.6.1"
mkdocs-material = "^9.5.48"
mkdocstrings-python = "^1.12.2"

[tool.poetry.group.dev.dependencies]
invoke = "^2.2"
pre-commit = "^4.0"
pytest = "^8.3"
pytest-asyncio = "^0.25.3"
pytest-cov = "^4.1.0"
types-aiofiles = "^24.1.0.20250326"

[tool.ruff]
line-length = 120

[tool.ruff.lint.per-file-ignores]
"**/__init__.py" = ["F401"]

[tool.mypy]
python_version = 3.11
check_untyped_defs = true
ignore_missing_imports = true

[[tool.mypy.overrides]]
module = [
    "aiofiles.*"
]
ignore_missing_imports = true

[tool.poetry-dynamic-versioning]
enable = false
vcs = "git"
pattern = "default-unprefixed"
style = "pep440"
