chore: dependency refresh and compatibility/docs alignment (aiodns 4.x, tests, CI)

Merged
BL
22d ago
+1514-1104

The current branch is broader than a docs-only uv sync fix. In addition to clarifying contributor setup, it includes dependency/packaging refresh work and compatibility fixes that affected runtime and tests.

  • Dependency and packaging refresh

    • Updated dependency constraints in pyproject.toml.
    • Regenerated poetry.lock.
    • Synced package requirements in setup.py (including removal of setup_requires and updated test/runtime bounds).
  • Runtime compatibility fix

    • Updated proxybroker/resolver.py to support both aiodns resolver APIs by using query_dns when available and falling back to query.
  • Test compatibility updates

    • Updated resolver/proxy tests to patch the appropriate aiodns.DNSResolver method dynamically (query_dns vs query).
    • Updated IPv4-mapped IPv6 expectations in provider/utils tests to align with canonicalized output behavior.
  • CI/docs/repo alignment

    • Updated .github/workflows/python-test-versions.yml to rely on declared dev dependencies instead of ad-hoc Ruff installation.
    • Updated README.md guidance: Poetry remains canonical install path; uv sync is explicitly documented as unsupported with current Poetry-only metadata, while uv run ... remains a supported command-runner workflow.
    • Updated .gitignore guidance for uv.lock.

Scope summary: 11 files changed across workflow config, docs, dependency manifests/lockfile, resolver runtime logic, and related tests.