chore: Add an async support section to the README - #510
Merged
Conversation
Document the experimental AsyncLDClient: the caution about its experimental status, the redis>=4.2 requirement for async Redis, the [async] install extra, a usage example, and a deployment note (single event loop, construct once + start per worker loop, ASGI lifespan). Also add a sync/async parity checkbox to the PR template so changes to a sync file prompt matching async updates.
keelerm84
approved these changes
Aug 28, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds user-facing docs for the experimental async client, plus a small PR-template aid.
README — new "Async support" section:
.. caution::blocks on the async API).redis>=4.2.0requirement when using Redis with the async client (big segments or persistent store).[async]extra, and a minimalAsyncLDClientusage example.AsyncLDClientis single-event-loop / not thread-safe; construct once (its__init__needs no running loop), thenawait start()per worker loop — or useasync with— which fits ASGI lifespan startup.PR template: adds a "sync/async parity" checkbox so a change to a sync file prompts a matching async update (the drop-codegen sibling-file convention).
Why
The async implementation is fully merged and importable (
from ldclient import AsyncLDClient,[async]extra), but the README had no async entry point. This is the last user-facing gap before an experimental release.Both files are Markdown, so the test/contract CI is intentionally skipped (
paths-ignore: **.md) — there's nothing to test.Note
Overview
Documents the experimental
AsyncLDClientin the README so asyncio users have a clear entry point before an experimental release.The new Async support section adds production warnings, the
launchdarkly-server-sdk[async]install path, a minimal usage example, Redis>=4.2.0guidance for async Redis, and Event loop notes (single-loop, not thread-safe, construct without a running loop thenawait start()orasync with, ASGI lifespan pattern).The pull request template gains a sync/async parity checkbox so contributors remember matching
async_*siblings when changing sync APIs.Reviewed by Cursor Bugbot for commit 564868a. Bugbot is set up for automated code reviews on this repo. Configure here.