[project] name = "capa-de-integracion" version = "0.1.0" description = "Orchestrator service for conversational AI - Python implementation" readme = "README.md" authors = [ { name = "A8065384", email = "anibal.angulo.cardoza@banorte.com" } ] requires-python = ">=3.12" dependencies = [ "fastapi>=0.115.0", "uvicorn[standard]>=0.32.0", "pydantic>=2.10.0", "pydantic-settings>=2.6.0", "google-cloud-dialogflow-cx>=1.45.0", "google-cloud-firestore>=2.20.0", "google-cloud-aiplatform>=1.75.0", "google-generativeai>=0.8.0", "google-cloud-dlp>=3.30.0", "redis[hiredis]>=5.2.0", "tenacity>=9.0.0", "python-multipart>=0.0.12", "rag-client", ] [project.scripts] capa-de-integracion = "capa_de_integracion:main" [build-system] requires = ["uv_build>=0.9.22,<0.10.0"] build-backend = "uv_build" [dependency-groups] dev = [ "inline-snapshot>=0.32.1", "pytest>=9.0.2", "pytest-asyncio>=1.3.0", "pytest-cov>=7.0.0", "pytest-env>=1.5.0", "pytest-recording>=0.13.4", "ruff>=0.15.1", "ty>=0.0.17", ] [tool.ruff] exclude = ["tests"] [tool.ruff.lint] select = ['ALL'] ignore = ['D203', 'D213'] [tool.ty.src] include = ["src", "packages"] exclude = ["tests"] [tool.uv.sources] rag-client = { workspace = true } [tool.pytest.ini_options] asyncio_mode = "auto" asyncio_default_fixture_loop_scope = "function" testpaths = ["tests"] addopts = [ "--cov=capa_de_integracion", "--cov-report=term-missing", "--cov-report=html", "--cov-branch", ] env = [ "FIRESTORE_EMULATOR_HOST=[::1]:8911", "GCP_PROJECT_ID=test-project", "GCP_LOCATION=us-central1", "GCP_FIRESTORE_DATABASE_ID=(default)", "RAG_ENDPOINT_URL=http://localhost:8000/rag", "REDIS_HOST=localhost", "REDIS_PORT=6379", "DLP_TEMPLATE_COMPLETE_FLOW=projects/test/dlpJobTriggers/test", ] [tool.uv.workspace] members = [ "packages/rag-client", ]