Skip to content

History / CodeExamples

Revisions

  • docs(python-sdk.wiki): correct the BUCKETING lifecycle-event claim under enable_tracking=False CodeExamples said bucketing, sticky persistence, audience rules "and the internal BUCKETING lifecycle event still fire" when enable_tracking=False, with "only the outbound network enqueue is skipped". The event half is false for Python: Context._record_experience_result gates the tracker call on `enable_tracking and self._tracker is not None and self._preview is None`, and Tracker._emit_bucketing — the only event-bus emit site — lives inside track_bucketing. So the flag suppresses the enqueue AND the event. The SDK's own run_experience docstring already says so: "no bucketing event is enqueued and no LifecycleEvent.BUCKETING is emitted." The sentence appears to have been ported from the Ruby wiki, where it is accurate — Ruby fires the event before the tracking gate, so only the enqueue is suppressed. Verified across all six SDKs: JavaScript, PHP, Ruby and iOS fire the lifecycle event under a tracking opt-out; Python and Android suppress it, because in those two the emit sits inside the tracking path. Now states what actually happens, adds the "both reporting paths suppressed together" note (matching how the Android wiki frames the same behavior), points readers at the returned result when they need a decision signal regardless of consent, and names the cross-SDK split so the sentence stops travelling. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

    @abbaseya abbaseya committed Jul 31, 2026
  • docs(python-sdk.wiki): cover Full Stack v12 — preview, sticky bucketing, mutual exclusion Refresh the Python-owned pages against convertcom/python-sdk ab273ec..1f4bd82 (40 commits, PRs #52-#56). The shared full-stack docs already carry the cross-SDK narrative for these areas (bucketing-algorithm, qa-and-preview, mutual-exclusion, persistent-datastore) and were verified correct against the Python implementation — only the CamelCase pages had drifted. - Configuration: SDKConfig.debug_token (config route only, forced _conv_low_cache=1, repr=False) + its validation rule and a QA section; replace the dead queue-control.md link - TypeHints: parse_preview_param export, SupportsPreviewFetch, debug_token, ContextState.bucketing / with_bucketing - CodeExamples: new Preview links section (parse_preview_param + set_preview, eager resolution, inert-on-bad-input, zero trace) and the enable_storage flag - Extending: SupportsPreviewFetch as an opt-in transport capability with its graceful-degradation contract; visitor-state envelope now three maps - Diagnostics: the preview_* and mutual-exclusion WARNING call sites - MigrationFromJavascript: enableStorage, setPreview, parsePreviewParam, debugToken parity rows - Initialization: debug_token added to the InvalidConfigError triggers - AI_Index / Home: link the shared pages the sidebar already carried - CLAUDE.md: drop the stale "not yet in sync-to-wikis.yml" caveat

    @abbaseya abbaseya committed Jul 31, 2026
  • docs: document per-call enable_tracking (bucketing-event control) for Story 2.5 parity Mirrors how the PHP/Ruby/JS SDK wikis document the per-call tracking flag. Python's enable_tracking (keyword-only, default True) on run_experience/run_experiences gates the bucketing/activation event added in Story 2.5 (release 1.0.1). - CodeExamples: add an "evaluate without reporting the bucketing event" example, scoped to Python's per-call-only control (no global tracking switch exists). - MigrationFromJavascript: map JS enableTracking -> Python enable_tracking and note JS's global network.tracking has no Python equivalent. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

    @abbaseya abbaseya committed Jun 19, 2026
  • Rewrite all Python-specific wiki pages from scratch against shipped SDK Full from-scratch authoring of the 15 Python-specific pages, sourced from src/convert_sdk (the __all__ public surface) and the test-verified docs/ (whose samples are executed by tests/test_docs_samples.py), rather than editing the pre-finalization May-6 text. Pages: Home, Quickstart, Installation, Initialization, Configuration, CodeExamples, TypeHints, Diagnostics, Extending, Testing, AsyncAndFrameworks, MigrationFromJavascript, MigrationFromRest, Roadmap, ReleaseProcess. Every import, symbol, method, field, and signature verified against the SDK source; the MurmurHash3 parity assertion verified by execution. Async/framework and Phase 3 content is explicitly labelled planned vs shipped. Shared CI-synced docs left untouched.

    @usmanabbas7 usmanabbas7 committed Jun 8, 2026
  • Fix Python-specific pages to match shipped SDK public API The Python-specific pages were authored 2026-05-06, before the SDK's public API was finalized, and referenced fabricated/stale symbols. Regenerated against src/convert_sdk (__all__) and the current docs/: - Remove fabricated TrackingConfig — queue settings are SDKConfig fields (batch_size, auto_flush_interval_ms). - Remove fabricated GoalNotFoundError — goals surface via ConversionResult/ConversionStatus.GOAL_NOT_FOUND and GoalDiagnostic. - Remove fabricated LifecycleEventPayload — real payloads are ConversionEventPayload and QueueReleasedPayload. - Fix top-level imports that aren't exported (TrackingError, EventBus, Transport) to their real submodule paths. - Correct method/field drift: config_data=->data=, release_queues()-> flush(), set_default_segments->set_segments, force_multiple_transactions ->force_multiple, snapshot->current_config, diagnose_config_entity-> diagnose_entity, DataStore protocol get/set/has/delete, RefreshConfig 4-field surface, ExperienceResult fields. Shared lowercase-kebab docs (CI-synced from backend) left untouched.

    @usmanabbas7 usmanabbas7 committed Jun 8, 2026
  • Initial wiki: shared Fullstack docs + Python-specific pages Mirrors the JS and PHP SDK wiki structure: - 15 Python-specific CamelCase pages (Home, Quickstart, Installation, Initialization, Configuration, CodeExamples, TypeHints, Diagnostics, Extending, Testing, AsyncAndFrameworks, MigrationFromJavascript, MigrationFromRest, Roadmap, ReleaseProcess) - 20 shared lowercase-kebab pages copied verbatim from the backend full-stack-docs source (concepts/, guides/, integrations/llm-testing). These will become CI-synced once convertcom/python-sdk is added to backend/.github/workflows/sync-to-wikis.yml. - Wiki infra: _Sidebar, _Footer, AI_Index, CLAUDE, sdk-docs-config.json.

    @usmanabbas7 usmanabbas7 committed May 5, 2026