[tool.poetry] name = "proxy-scraper-checker" version = "0" description = "" license = "MIT" authors = ["monosans "] repository = "https://github.com/monosans/proxy-scraper-checker" classifiers = ["Private :: Do Not Upload"] [tool.poetry.dependencies] python = "^3.8" aiodns = { version = ">=1.1,<4", optional = true } aiofiles = ">=0.8" aiohttp = "^3.8.6" aiohttp-socks = ">=0.7,<0.9" attrs = ">=22.2" brotli = { version = "^1", markers = "implementation_name == 'cpython'" } brotlicffi = { version = "<2", markers = "implementation_name != 'cpython'" } certifi = "*" charset-normalizer = ">=2,<4" maxminddb = ">=1.3,<3" platformdirs = "<5" rich = ">=12.3,<14" tomli = { version = "<3", python = "<3.11" } typing-extensions = { version = "^4.4", python = "<3.11" } uvloop = { version = ">=0.14,<0.20", optional = true, markers = "implementation_name == 'cpython' and (sys_platform == 'darwin' or sys_platform == 'linux')" } [tool.poetry.extras] non-termux = ["aiodns", "uvloop"] termux = [] [tool.poetry.group.dev.dependencies] mypy = "1.8.0" ruff = "0.2.0" tomli = "2.0.1" types-aiofiles = "23.2.0.20240106" [tool.poetry.group.nuitka] optional = true [tool.poetry.group.nuitka.dependencies] nuitka = "2.0" [tool.mypy] python_version = "3.8" disallow_subclassing_any = false disallow_untyped_calls = false disallow_untyped_decorators = false warn_unreachable = true local_partial_types = true enable_error_code = [ "redundant-self", "redundant-expr", "possibly-undefined", "truthy-bool", "truthy-iterable", "ignore-without-code", "unused-awaitable", "explicit-override", ] strict = true [[tool.mypy.overrides]] module = "aiohttp_socks.*" ignore_missing_imports = true [tool.ruff] ignore = [ "ANN101", "ANN102", "ANN401", "BLE001", "C901", "COM812", "CPY001", "D100", "D101", "D102", "D103", "D104", "D105", "D106", "D107", "D415", "D417", "DJ008", "E203", "ERA001", "FBT002", "ISC001", "PD901", "PERF203", "PLR0904", "PLR0911", "PLR0912", "PLR0913", "PLR0915", "PLR0916", "PLR0917", "PT012", "RUF001", "RUF002", "RUF003", "RUF012", "S110", "S112", "S308", "S311", "SIM105", "TCH001", "TCH002", "TCH003", "TID252", "TRY400", ] ignore-init-module-imports = true line-length = 80 preview = true select = ["ALL"] target-version = "py38" typing-modules = ["proxy_scraper_checker.typing_compat"] [tool.ruff.flake8-self] ignore-names = [] [tool.ruff.flake8-unused-arguments] ignore-variadic-names = true [tool.ruff.format] line-ending = "lf" skip-magic-trailing-comma = true [tool.ruff.isort] combine-as-imports = true required-imports = ["from __future__ import annotations"] split-on-trailing-comma = false [tool.ruff.pydocstyle] convention = "google" [tool.ruff.pyupgrade] keep-runtime-typing = true [build-system] requires = ["poetry-core"] build-backend = "poetry.core.masonry.api"