-
Notifications
You must be signed in to change notification settings - Fork 0
CLAUDE
This directory is the published, public wiki for the Python SDK. It contains two categories of pages.
-
Shared docs (lowercase-hyphenated filenames, e.g.
rule-evaluation.md,data-management.md,segments.md,bucketing-algorithm.md, and everything listed under "Core Concepts (Shared)" / "How-To Guides (Shared)" inAI_Index.md) — Do not edit these files here. They are synced automatically from a canonical source in a private backend repo (path within that repo:public/js/tracking/full-stack-docs/, withconcepts/andguides/subdirs). The same files also appear in the JavaScript and PHP SDK wikis. Any edit made here will be overwritten on the next sync.Caveat at initial commit: the python-sdk has not yet been added to the backend's
sync-to-wikis.ymljob, so the shared docs in this wiki are a manual one-time copy. Until the workflow targetsconvertcom/python-sdk, shared-doc updates will not flow in automatically. Even so, the rule stands: edit the canonical source in the backend repo, not this wiki. -
Python-specific docs (CamelCase filenames, e.g.
Quickstart.md,Installation.md,Initialization.md,Configuration.md,CodeExamples.md,TypeHints.md,Diagnostics.md,Extending.md,AsyncAndFrameworks.md,MigrationFromJavascript.md,MigrationFromRest.md,ReleaseProcess.md) — These are Python-only and are edited directly in this wiki.
- Check the filename.
- Lowercase-hyphenated → shared → edit the canonical source in the backend repo (
public/js/tracking/full-stack-docs/) instead. - CamelCase → Python-specific → edit here.
- Lowercase-hyphenated → shared → edit the canonical source in the backend repo (
-
AI_Index.mdand thisCLAUDE.mdare wiki-specific and edited here.
This wiki is public. The JavaScript and PHP SDK wikis are also public. The backend wiki and the backend repo are private. When editing any shared doc at its canonical source (in the backend repo, under public/js/tracking/full-stack-docs/):
-
Never reference the private backend wiki or any private repo. No links to
backend.wiki/*, no "see the backend wiki for details." If the content is needed, inline it; otherwise omit. -
Never reference internal backend filesystem paths (
backend/public/...,backend/apiDoc/...,backend/src/..., etc.) — readers don't have that tree. Use package names (convert_sdk.evaluation,convert_sdk.tracking,convert_sdk.ports) and class/method names. For public specs, link to a known-valid URL (e.g.https://api.convert.com/doc/v2/...). -
Never invent URLs. Guessed GitHub wiki URLs (
https://github.com/<org>/<repo>/wiki/<page>) are a particularly common failure — org, repo, slug, and casing are all likely wrong. If you don't know the URL is correct, don't write it. Prefer relative links within the shared docs (e.g.[RuleManager](rule-evaluation)); the sync pipeline rewrites them to each wiki's URL. -
Prefer package-level references over file paths and line numbers.
convert_sdk.evaluation.bucketing.get_bucket_valueages better thansrc/convert_sdk/evaluation/bucketing.py:120-145.
The canonical source directory has its own CLAUDE.md restating these rules for anyone editing in place.
When editing a CamelCase page in this wiki:
-
Snake-case in code, CamelCase in page names. Public Python symbols are
snake_case(run_experience,track_conversion,is_ready); wiki page filenames areCamelCase(Quickstart,CodeExamples). -
Same-wiki links use bare page names.
[Initialization](Initialization)resolves correctly within the wiki without an absolute URL. Use absolute URLs only when crossing to the JS or PHP SDK wiki. -
Prefer importing from the top-level package.
from convert_sdk import Core, SDKConfigis the public surface. Reach intoconvert_sdk.config,convert_sdk.domain.*, orconvert_sdk.ports.*only when documenting a stable internal type that custom adapters need (e.g.,ContextState,ConfigSnapshot,RefreshConfig). -
Phase-3 features are design intent, not API.
AsyncCore,convert-sdk-django,convert-sdk-fastapi,convert-sdk-flaskare not importable today. Treat them as planned shape, not instructions. The MVP is sync-first and that surface is permanent. - No file-path/line-number references. Use module names and identifiers — they survive refactors. If a reader genuinely needs the source, they'll grep or open the GitHub repo.
Copyrights © 2025 All Rights Reserved by Convert Insights, Inc.
Getting Started
Python SDK
- Quickstart
- Installation
- Initialization
- Configuration
- Code Examples
- Type Hints
- Diagnostics
- Extending
- Testing
- Async & Frameworks
Migration
Core Concepts
- Experiences & Variations
- Feature Flags
- Bucketing Algorithm
- Rule Evaluation
- Segments
- Data Management
- Event System
- API Communication
How-To Guides
- Running Experiences
- Running Features
- Tracking Conversions
- Visitor Context
- Persistent DataStore
- Troubleshooting
Edge & Integrations
Maintainers