[project] name = "proxy-pool" version = "0.1.0" description = "Proxy harvesting framework" readme = "README.md" authors = [ { name = "agatha", email = "agatha@juggalol.com" } ] requires-python = ">=3.12" dependencies = [ "aiosmtplib>=5.1.0", "alembic>=1.18.4", "arq>=0.27.0", "asyncpg>=0.31.0", "email-validator>=2.3.0", "fastapi>=0.135.1", "httpx-socks[asyncio]>=0.11.0", "httpx[socks]>=0.28.1", "pydantic>=2.12.5", "pydantic-settings>=2.13.1", "redis[hiredis]>=5.3.1", "sqlalchemy[asyncio]>=2.0.48", "uvicorn[standard]>=0.41.0", ] [dependency-groups] dev = [ "coverage>=7.13.4", "factory-boy>=3.3.3", "httpx>=0.28.1", "mypy>=1.19.1", "pytest>=9.0.2", "pytest-asyncio>=1.3.0", "pytest-timeout>=2.4.0", "ruff>=0.15.6", ] [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["src/proxy_pool"] [tool.pytest.ini_options] testpaths = ["tests"] asyncio_mode = "auto" [tool.ruff] src = ["src"] target-version = "py312" extend-exclude = ["alembic", "tests"] [tool.ruff.lint] select = ["E", "F", "I", "N", "UP", "B", "A", "SIM"] [tool.ruff.lint.flake8-bugbear] extend-immutable-calls = ["Depends", "fastapi.Depends", "Query", "fastapi.Query", "Security", "fastapi.Security"] [tool.mypy] plugins = ["pydantic.mypy"] strict = true