v0.3.0
Highlights
- Async client —
AsyncCrawlSnap, the awaitable twin ofCrawlSnapwith an identical surface (same constructor, resources, retries, typed errors). Methods are coroutines;subdo_snap.scan_iteris an async generator. Ideal for enriching many indicators concurrently withasyncio.gather. - Stable-default per-API versioning — the product version is now a value carried in the request path, not a class hierarchy. Unpinned calls target a stable default that never moves on its own: upgrading the SDK no longer silently retargets your calls at a newer API version. Per-product
.v1pinning is unchanged. - Correct
raw_responsetyping —@overloadsoraw_response=Trueis typed asRawResponseand the default returns the typed model.
Internals: IO-free envelope/retry logic extracted to _base.py and shared by the sync and async clients.