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>
443505f
docs: remove Roadmap page; move Testing into the SDK repo
- delete Roadmap.md and strip all references (links, sidebar, index, prose)
- delete Testing.md; the testing guide now lives in the repo as TESTING.md.
Repoint every cross-reference to the repo file
(github.com/convertcom/python-sdk/blob/main/TESTING.md).
b50e3f7
Update ReleaseProcess to the semantic-release model (qs-14)
Rewrites the maintainer release doc from the manual-bump + tag-driven + towncrier
model to the commit-driven semantic-release model (ruby-sdk parity): workflow_run
trigger on a successful CI run on main, semantic-release computes the version,
build-time uncommitted version.py stamp, pypa OIDC publish, then @semantic-release/
github pushes the tag + GitHub Release (notes = changelog) after a successful
upload. Removed the towncrier/changes-fragment sections and the manual version-bump
+ tag-push steps; added the Conventional-Commit map, dry-run guidance, the pypi
environment "no required reviewers" note, the v1.0.0 first-release note, and a
yank-based rollback section. Mirrors the repo's RELEASE.md.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2be6996
docs: correct UTF-8 bucketing contract + real config/metrics endpoints
- Diagnostics.md / Roadmap.md: bucketing hashes UTF-8 bytes (value.encode("utf-8")),
not UTF-16 code units — matches the shipped code and JS/PHP parity contract.
- bucketing-algorithm.md: add the UTF-8 cross-SDK parity contract (seed 9999),
including non-ASCII visitor IDs, on the core bucketing page.
- api-communication.md: replace fictional cdn.convert.com / track.convert.com
examples with the real config CDN (/api/v1/config/{sdkKey}) and metrics endpoint
(https://[project_id].metrics.convertexperiments.com/v1/track/{sdkKey}, UA ConvertAgent/1.0).
50c8616
docs: update Python-specific wiki pages to match round-3/4 SDK fixes
Grounded against python-sdk origin/main:
- Config route /config/ -> /api/v1/config/{sdkKey} (Configuration, MigrationFromRest, Testing)
- Tracking delivery to [project_id].metrics.convertexperiments.com with
User-Agent: ConvertAgent/1.0 (MigrationFromRest)
- UTF-8 bucketing parity note (MigrationFromRest, MigrationFromJavascript)
Shared/synced concept docs (bucketing-algorithm.md, rule-evaluation.md) are
intentionally NOT edited here — they are synced from backend full-stack-docs and
edits would be overwritten; the UTF-8-parity and operator-list updates belong in
that canonical source instead.
d761513
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.
92e5b37
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.
2525216
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.
72dbc26