[tool.uv.workspace]
members = ["packaging/*"]

[dependency-groups]
dev = [
    { include-group = "test" },
    { include-group = "lint" },
    { include-group = "types" },
    { include-group = "docs" },
    { include-group = "serve" },
]

test = [
    "pytest",
    "pytest-asyncio",
    "pytest-bdd",
    "aiosqlite",
    "osmium",
]

lint = [
    "flake8",
]

types = [
    "mypy",
    "types-jinja2",
    "types-markupsafe",
    "types-psycopg2",
    "types-psutil",
    "types-Pygments",
    "types-PyYAML",
    "types-requests",
    "types-ujson",
    "types-urllib3",
    "typing-extensions",
]

docs = [
    "mkdocs",
    "mkdocstrings[python]",
    "mkdocs-gen-files",
    "mkdocs-material",
]

serve = [
    "falcon",
    "starlette",
    "uvicorn",
]

runtime = [
    "psycopg != 3.3.0",
    "async-timeout",
    "python-dotenv",
    "jinja2",
    "pyYAML>=5.1",
    "psutil",
    "PyICU",
    "mwparserfromhell",
    "SQLAlchemy[asyncio]>=1.4.31",
]
