> For clean Markdown content of this page, append .md to this URL. For the complete documentation index, see https://buildwithfern.com/learn/llms.txt. # aiohttp support > Fern-generated Python SDKs auto-detect aiohttp for async HTTP operations, resolving DNS concurrency issues without requiring code changes. Every Fern-generated Python SDK ships with opt-in support for [aiohttp](https://docs.aiohttp.org/) as an async HTTP transport. When the `aiohttp` optional extra is installed, the generated async client uses it automatically instead of the default `httpx.AsyncClient`. This matters for SDKs that make many concurrent async API calls: `httpx.AsyncClient` serializes DNS lookups via `asyncio.getaddrinfo` under heavy concurrency, while `aiohttp` uses its own resolver to avoid that bottleneck. No generator configuration is required. The `[aiohttp]` extra, runtime auto-detection, and CI coverage are generated for every Python SDK. ## Installation SDK users opt in by installing the `aiohttp` extra alongside your package: ```bash pip install your-package[aiohttp] ``` Or with Poetry: ```bash poetry add "your-package[aiohttp]" ``` If a user passes a custom `httpx_client` to the async client constructor, auto-detection is skipped and the provided client is used as-is. ## Generated dependencies The generated `pyproject.toml` includes an `[aiohttp]` optional dependency group: **`pyproject.toml`** ```toml title="pyproject.toml" [tool.poetry.extras] aiohttp = ["aiohttp", "httpx-aiohttp"] ``` If you define your own extras via the [`extras`](/learn/sdks/generators/python/configuration#extras) configuration option in `generators.yml`, the built-in `aiohttp` extra is preserved and merged with your custom configuration. ## CI testing The generated GitHub Actions workflow runs tests in two passes so both transport paths are covered: 1. Standard tests without the aiohttp extra. 2. Tests marked `@pytest.mark.aiohttp` with the extra installed. To verify the aiohttp path locally: ```bash poetry install --extras aiohttp poetry run pytest -m aiohttp ``` > Fern-generated Python SDKs auto-detect aiohttp for async HTTP operations, resolving DNS concurrency issues without requiring code changes.