[tool.poetry]
name = "Byparr"
version = "0.1.0"
description = "API for getting cookies for Cloudflare challenges"
package-mode = false
authors = ["ThePhaseless <kukubaorch@gmail.com>"]
readme = "README.md"
license = "LICENSE"
repository = "https://github.com/ThePhaseless/Byparr"

# cspell:disable
[tool.poetry.dependencies]
python = "^3.12"
fastapi = { extras = ["standard"], version = "^0" }
seleniumbase = "^4.33.1"
beautifulsoup4 = "^4.12.3"
uvicorn = "^0.32.1"
pydantic = "^2.10.2"
pyautogui = "^0.9.54"

[tool.poetry.group.dev.dependencies]
ruff = "^0.8.0"
deptry = "^0.21.1"

[tool.poetry.group.test.dependencies]
pytest = "^8.3.3"
httpx = "^0.27.2"
pytest-retry = "^1.6.3"
pytest-progress = "^1.3.0"
pytest-asyncio = "^0"
pytest-xdist = "^3.6.1"

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

[tool.deptry.per_rule_ignores]
DEP002 = ["pyautogui"]

[tool.ruff.lint]
ignore = [
    "D203",
    "D212",
    "D100",
    "D400",
    "EM101",
    "S101",
    "D104",
    "ANN201",
    "TD003",
    "PLR0913",
    "ERA001",
    "COM812",
    "ISC001",
    "TC003",
    "TC002",
    "TC001",
    "TD002",
    "E501",
    "D101",
    "G004",
    "ANN001",
    "ANN204",
    "ANN206",
]
select = ["ALL"]
extend-safe-fixes = ["D415"]

[tool.pytest]
log_cli = "True"

[tool.pytest.ini_options]
asyncio_default_fixture_loop_scope = "function"