Files
agent_contas/pyproject.toml

79 lines
2.1 KiB
TOML

[project]
name = "tim-contas-agent-framework"
version = "1.0.0"
description = "TIM Contas framework-native agent on agent_framework_oci"
readme = "README.md"
requires-python = ">=3.13,<3.14"
authors = [
{name = "Time de Desenvolvimento", email = "dev@1sti.com.br"},
]
dependencies = [
"agent-framework",
"requests>=2.31",
"fastapi>=0.109.0",
"uvicorn[standard]>=0.27",
"python-dotenv>=1.2.2",
"pydantic>=2.0",
"pydantic-settings>=2.11.0",
"pyyaml>=6.0.3",
"langgraph>=0.6.0",
"langgraph-checkpoint-postgres>=2.0.0",
"psycopg[binary]>=3.2.10",
"langfuse>=3.14.2",
"langchain-oci>=0.1.0",
"pdfplumber>=0.11.4",
"pandas>=2.2.3",
"oracledb>=2.0.0",
"sqlalchemy>=2.0.0",
"pymongo==4.16.0",
"google-cloud-pubsub>=2.20.0",
"opentelemetry-api>=1.42.1",
"opentelemetry-sdk>=1.42.1",
"opentelemetry-exporter-otlp>=1.42.1",
"openpyxl>=3.1.0",
"slowapi",
"limits",
"num2words>=0.5.14",
"cryptography>=46.0.7",
]
[dependency-groups]
dev = [
"pytest>=9.0.2",
"pytest-mock>=3.15.1",
"pytest-cov>=4.1",
"pytest-asyncio>=1.2.0",
"httpx>=0.27,<0.28",
"tiktoken>=0.13.0", # medir tamanho do prompt (regra de tamanho dos testes LLM)
]
[tool.pytest.ini_options]
testpaths = ["tests"]
asyncio_mode = "auto"
markers = [
"llm: testes que batem no LLM real (rede + OCI + custo). Pulados por padrão; rode com RUN_LLM_TESTS=1 ou `make llm-test`.",
"guardrails: casos declarativos de guardrails do gate ativo (tests/llm_tests/cases/guardrails).",
]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.metadata]
allow-direct-references = true
[tool.hatch.build.targets.wheel]
# Runtime Python distribuído por este projeto. Declarar explicitamente evita
# a heurística do Hatchling baseada no nome tim_contas_agent_framework.
packages = ["app", "contas_mcp"]
[tool.uv]
override-dependencies = [
"fastapi>=0.110.0",
]
#environments = [
# "sys_platform == 'linux' and platform_machine == 'x86_64'",
#]
[tool.uv.sources]
agent-framework = { path = "agent_framework_oci/libs/agent_framework", editable = true }