54 lines
1.2 KiB
TOML
54 lines
1.2 KiB
TOML
[build-system]
|
|
requires = ["setuptools>=75"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "payment-processing-service"
|
|
version = "0.1.0"
|
|
description = "Asynchronous payment processing service"
|
|
requires-python = ">=3.12"
|
|
dependencies = [
|
|
"alembic>=1.14,<2",
|
|
"asyncpg>=0.30,<1",
|
|
"fastapi>=0.115,<1",
|
|
"faststream[cli,rabbit]>=0.5.48,<1",
|
|
"httpx2>=2.13,<3",
|
|
"pydantic>=2.10,<3",
|
|
"pydantic-settings>=2.7,<3",
|
|
"sqlalchemy[asyncio]>=2.0.36,<3",
|
|
"uvicorn[standard]>=0.34,<1",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
dev = [
|
|
"aio-pika>=9,<11",
|
|
"pytest>=8.3,<9",
|
|
"pytest-asyncio>=0.25,<1",
|
|
"pytest-cov>=6,<8",
|
|
"ruff>=0.9,<1",
|
|
"testcontainers[postgres]>=4.13,<5",
|
|
"ty>=0.0.18,<0.1",
|
|
]
|
|
|
|
[tool.setuptools.packages.find]
|
|
include = ["app*"]
|
|
|
|
[tool.pytest.ini_options]
|
|
asyncio_mode = "auto"
|
|
testpaths = ["tests"]
|
|
addopts = ["--strict-markers"]
|
|
markers = [
|
|
"unit: fast tests without external infrastructure",
|
|
"integration: tests using real PostgreSQL or RabbitMQ containers",
|
|
]
|
|
|
|
[tool.ruff]
|
|
line-length = 100
|
|
target-version = "py312"
|
|
|
|
[tool.ruff.lint]
|
|
select = ["E", "F", "I", "UP", "B", "ASYNC", "RUF"]
|
|
|
|
[tool.ty.environment]
|
|
python-version = "3.12"
|