[tool.poetry]
name = "fargate-tools"
version = "0.1.0"
description = ""
authors = ["Sony Music PDE"]
readme = "README.md"


[tool.poetry.scripts]
fargate_tools = "fargate_tools.cli.main:main"

[tool.poetry.dependencies]
python = "^3.11"
typer = "^0.12.4"
boto3 = "^1.35.2"
environs = "^13.0.0"


[tool.poetry.group.dev.dependencies]
ruff = "^0.6.1"
mypy = "^1.11.1"
pytest = ">=8.3.2,<10.0.0"
pytest_cov = "^6.1.1"
requests_mock = "^1.12.1"
yamllint = "^1.37.0"
flake8 = "^7.2.0"

[tool.ruff]
line-length = 88

[tool.ruff.lint]
select = ["C", "E", "F", "W", "B", "I", "UP", "T20", "TID252", "G"]
ignore = ["E501", "B008", "B009", "T201"]

[tool.ruff.lint.isort]
combine-as-imports = true
forced-separate = ["tests"]

[tool.ruff.lint.pyupgrade]
# Preserve types, even if a file imports `from __future__ import annotations`.
keep-runtime-typing = true

[tool.mypy]
python_version = "3.11"
strict = true
pretty = true
color_output = true
show_error_codes = true

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