All checks were successful
CI Trade-In / changes (pull_request) Successful in 8s
CI / changes (pull_request) Successful in 11s
CI Trade-In / browser-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
CI Trade-In / backend-tests (pull_request) Successful in 4m27s
DEFAULT_IMPERSONATE переведён на chrome146, но оба pyproject продолжали объявлять `curl-cffi>=0.7.0`. В 0.7.0 такого профиля нет: установка по нижней границе — и curl_cffi роняет КАЖДЫЙ запрос скраппера на невалидном impersonate, причём одинаково для avito, cian и yandex. На проде стоит 0.15.0 (проверено в контейнере tradein-scraper: профили chrome99 … chrome146 плюс алиас chrome), поэтому текущий деплой бы не пострадал — но любая пересборка окружения с резолвом к нижней границе воспроизвела бы отказ, и диагностировался бы он как «скрапперы легли», а не как несогласованная зависимость. Refs #3034
25 lines
681 B
TOML
25 lines
681 B
TOML
[project]
|
|
name = "scraper-kit"
|
|
version = "0.1.0"
|
|
description = "Internal scraper toolkit — общие утилиты для tradein-mvp скрапперов"
|
|
requires-python = ">=3.12"
|
|
dependencies = [
|
|
"sqlalchemy>=2.0.30",
|
|
"pydantic>=2.7.0",
|
|
"psycopg[binary]>=3.2.0",
|
|
"httpx[socks]>=0.27.0",
|
|
"tenacity>=9.0.0",
|
|
"selectolax>=0.3.0",
|
|
"curl-cffi>=0.15.0", # пол задан профилем chrome146 из DEFAULT_IMPERSONATE, см. providers/_base.py
|
|
]
|
|
|
|
[build-system]
|
|
requires = ["hatchling"]
|
|
build-backend = "hatchling.build"
|
|
|
|
[tool.hatch.build.targets.wheel]
|
|
packages = ["src/scraper_kit"]
|
|
|
|
[tool.ruff]
|
|
target-version = "py312"
|
|
line-length = 100
|