[build-system] requires = ["setuptools>=68"] build-backend = "setuptools.build_meta" [project] name = "monitor-utils" version = "0.1.0" requires-python = ">=3.11" # asyncio.timeout/TaskGroup, BaseExceptionGroup dependencies = [ "aiohttp>=3.14.1", "aioproxies @ git+https://git.rethinkstudios.io/rethink-public/aioproxies.git", "aioweb-tls[curl] @ git+https://git.rethinkstudios.io/rethink-public/aioweb_tls.git", "curl-cffi==0.15.0", "fake-useragent>=2.2.0", "motor>=3.7.1", "pydantic>=2.13.4", "pymongo>=4.17.0", "requests>=2.34.2", "tenacity>=9.1.4", "log-setup @ git+https://git.rethinkstudios.io/rethink-public/log_setup.git", "httpx>=0.28.1", ] [tool.setuptools.packages.find] where = ["src"] include = ["monitor_utils*"] [dependency-groups] dev = [ "pytest>=8.0", "ruff>=0.6", ] [tool.pytest.ini_options] testpaths = ["tests"] [tool.ruff] line-length = 88 target-version = "py311" # dsql_shortlinks.py is vendored third-party code; leave it untouched. extend-exclude = ["src/monitor_utils/dsql_shortlinks.py"] [tool.ruff.lint] select = ["E", "F", "I", "W", "UP", "B"] # B905: zip(strict=) is opinionated; the zips here are equal-length by # construction and adding strict= would change working code for no gain. ignore = ["B905"]