Repository navigation
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Drops the Node renderer, its tests, the page check and the sdk-specs module. The generated pages are unchanged byte for byte. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…nt matter Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
PostHog Review · Standard · reviewed 57c9359: 2 Should fix. This pull request is large, so the review ran in 4 parts with less depth than usual.
This is the only automatic review while this pull request is a draft. Comment @posthog review to review new changes sooner. Otherwise, a review of the new changes runs when you mark it ready for review.
See this review and its findings in PostHog Review. Comment @posthog review --deep for a Deep review. A Deep review takes longer and looks deeper than a Standard review.
| **griffe2md.default_config, | ||
| "docstring_section_style": "table", | ||
| "show_root_full_path": False, | ||
| "show_signature_annotations": True, |
There was a problem hiding this comment.
P2 · Prevent annotations from propagating onto untyped parameters
With signature annotations enabled, griffe2md retains the preceding parameter's annotation for untyped arguments. The committed Client(...) signatures consequently advertise debug: str, before_send: float, and other false types, misleading callers and bots about valid inputs. Correct the signature template or disable annotation rendering before regenerating the pages.
|
|
||
|
|
||
| def entry(obj, name: str) -> str: | ||
| md = griffe2md.render_object_docs(obj, CONFIG) |
There was a problem hiding this comment.
P2 · Identify coroutine methods in the rendered reference
When entry() renders an async def, griffe2md omits its async marker. AsyncClient.capture_immediate, evaluate_flags, flush, and shutdown consequently look like ordinary calls alongside synchronous capture. Following these signatures without await leaves the coroutine unexecuted, so delivery and cleanup never run; explicitly identify methods that require awaiting.
posthog-python Compliance ReportDate: 2026-11-04T23:04:06.722540+00:00 ✅ All Tests Passed!121/121 tests passed Capture_V1 Tests✅ 95/95 tests passed View Details
Capture_Ai Tests✅ 5/5 tests passed View Details
Feature_Flags Tests✅ 17/17 tests passed View Details
Feature_Flags_Local_Evaluation Tests✅ 4/4 tests passed View Details
|
…ages Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
💡 Motivation and Context
We have a wave of breaking changes with new major versions for most SDKs. References are now read mostly by bots, not humans, and the HogRef format is heavy. This is an alternative to #1182: it renders the same Markdown reference with griffe2md, a dev dependency, in 200 lines in place of 539.
bin/docs_scripts/generate_markdown.pygroups members by theirposthog-capability:tag in sdk-specs order, and griffe2md renders each one.griffe2mdjoins thedevextra only.What changes against #1182: parameters are a four-column table,
**kwargskeys have no types, example labels stay as code comments, and the wrapper list, Django settings and source links are gone.💚 How did you test it?
ruffand the mypy baseline pass.📝 Checklist
If releasing new changes
sampo addto generate a changeset file🤖 Agent context
Autonomy: Human-driven (agent-assisted)
Claude Code (Opus 5.5), directed by Vincent.
Merge order
If chosen, this replaces #1182's generator in the posthog-python stack. Otherwise it gets closed.
/docs/libraries/python/referenceis livedatafield) and the SDK repos (their JSON files)🤖 Generated with Claude Code