[project]
name = "{{ PKG.NAME }}"
version = "0.6.2.dev1"
description = "{{ PKG.DESCRIPTION }}"
license = "Apache-2.0"
readme = "README.md"
repository = "http://github.com/swarmauri/swarmauri-sdk/pkgs/{{ PROJ.ROOT }}/{{ PKG.NAME }}/"
requires-python = ">=3.10,<3.13"
classifiers = [
    "License :: OSI Approved :: Apache Software License",
    "Natural Language :: English",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Programming Language :: Python :: 3.13",
    "Development Status :: 3 - Alpha"
]
authors = [{ name = "Jacob Stewart", email = "jacob@swarmauri.com" }]
dependencies = [
    "swarmauri_core",
    "swarmauri_base",
    "swarmauri_standard",
{% if PKG.PACKAGE_REQUIRES %}
{% for required in PACKAGE_REQUIRES %}
    "{{ required.NAME }}{{ required.VERSION }}",
{% endfor %}
{% endif %}
]

[tool.uv.sources]
swarmauri_core = { workspace = true }
swarmauri_base = { workspace = true }
swarmauri_standard = { workspace = true }

[tool.pytest.ini_options]
norecursedirs = ["combined", "scripts"]
markers = [
    "test: standard test",
    "unit: Unit tests",
    "i9n: Integration tests",
    "r8n: Regression tests",
    "timeout: mark test to timeout after X seconds",
    "xpass: Expected passes",
    "xfail: Expected failures",
    "acceptance: Acceptance tests",
    "perf: Performance tests that measure execution time and resource usage",
]
timeout = 300
log_cli = true
log_cli_level = "INFO"
log_cli_format = "%(asctime)s [%(levelname)s] %(message)s"
log_cli_date_format = "%Y-%m-%d %H:%M:%S"
asyncio_default_fixture_loop_scope = "function"

[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"

[dependency-groups]
dev = [
    "pytest>=8.0",
    "pytest-asyncio>=0.24.0",
    "pytest-xdist>=3.6.1",
    "pytest-json-report>=1.5.0",
    "python-dotenv",
    "requests>=2.32.3",
    "flake8>=7.0",
    "pytest-timeout>=2.3.1",
    "ruff>=0.9.9",
    "pytest-benchmark>=4.0.0",
]

{%- set grouped_modules = PKG.MODULES | groupby('EXTRAS.RESOURCE_KIND') %}
{%- for kind, mods in grouped_modules %}
[project.entry-points.'swarmauri.{{ kind }}']
{%- for mod in mods %}
{{ mod.NAME }} = "{{ PKG.NAME }}:{{ mod.NAME }}"
{%- endfor %}
{%- endfor %}