Switch the durable ingestion/maintenance job-dispatch broker decision from NATS JetStream to RabbitMQ (aio-pika), rewriting ADR-0014 and propagating the terminology change through ADR-0015, ADR-0016, and the ingestion vertical-slice plan. Adds aio-pika as a runtime dependency. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
89 lines
1.9 KiB
TOML
89 lines
1.9 KiB
TOML
[project]
|
|
name = "new-chatbot"
|
|
version = "0.1.0"
|
|
description = "Add your description here"
|
|
readme = "README.md"
|
|
requires-python = ">=3.13"
|
|
dependencies = [
|
|
"aio-pika>=9.5.0",
|
|
"alembic>=1.19.1",
|
|
"fastapi[standard]==0.141.1",
|
|
"langgraph>=1.2.10",
|
|
"pydantic-settings>=2.15.0",
|
|
"sqlalchemy>=2.0.51",
|
|
]
|
|
|
|
[dependency-groups]
|
|
dev = [
|
|
"asgi-lifespan>=2.1.0",
|
|
"httpx>=0.28.1",
|
|
"pytest>=8.3.5",
|
|
"pytest-asyncio>=0.25.3",
|
|
"pytest-cov>=6.0.0",
|
|
"pytest-timeout>=2.3.1",
|
|
"ruff>=0.16.2",
|
|
"testcontainers>=4.9.2",
|
|
"ty>=0.0.69",
|
|
]
|
|
|
|
[tool.pytest.ini_options]
|
|
testpaths = ["tests"]
|
|
asyncio_mode = "strict"
|
|
timeout = 10
|
|
markers = [
|
|
"unit: fast tests with no external services",
|
|
"integration: tests against a real disposable service",
|
|
"e2e: end-to-end vertical-slice tests",
|
|
"postgres: integration test using Postgres",
|
|
"minio: integration test using MinIO",
|
|
"rabbitmq: integration test using RabbitMQ",
|
|
"qdrant: integration test using Qdrant",
|
|
"slow: test exceeds normal integration feedback time",
|
|
"live_provider: opt-in test that calls an external provider",
|
|
]
|
|
|
|
[tool.ruff]
|
|
line-length = 100
|
|
target-version = "py313"
|
|
|
|
[tool.ruff.lint]
|
|
select = [
|
|
# pycodestyle
|
|
"E",
|
|
# pyflakes
|
|
"F",
|
|
# isort
|
|
"I",
|
|
# pyupgrade
|
|
"UP",
|
|
# flake8-bugbear
|
|
"B",
|
|
# flake8-comprehensions
|
|
"C4",
|
|
# flake8-simplify
|
|
"SIM",
|
|
# Ruff-specific rules
|
|
"RUF",
|
|
]
|
|
|
|
[tool.ruff.format]
|
|
quote-style = "double"
|
|
indent-style = "space"
|
|
|
|
[tool.ty.environment]
|
|
python-version = "3.13"
|
|
|
|
[tool.ty.rules]
|
|
# High-value, currently ignore/warn by
|
|
possibly-unresolved-reference = "error"
|
|
missing-type-argument = "warn"
|
|
possibly-missing-attribute = "warn"
|
|
|
|
# Nice-to-have discipline:
|
|
unused-ignore-comment = "warn"
|
|
missing-override-decorator = "warn"
|
|
|
|
# Turn OFF or downgrade if noisy on your codebase:
|
|
possibly-missing-import = "ignore"
|
|
division-by-zero = "ignore"
|