Skip to content

fix: Make profile parsing more forgiving of bad data#146

Open
dirkmc wants to merge 3 commits intoMeltanoLabs:mainfrom
Nara-Organics:fix/profile-ingest
Open

fix: Make profile parsing more forgiving of bad data#146
dirkmc wants to merge 3 commits intoMeltanoLabs:mainfrom
Nara-Organics:fix/profile-ingest

Conversation

@dirkmc
Copy link
Copy Markdown

@dirkmc dirkmc commented Feb 25, 2026

Klaviyo profile data can contain unexpected data, that can be entered and modified manually.
Make parsing it more forgiving so that the data ingest doesn't fail.

@dirkmc dirkmc requested a review from a team as a code owner February 25, 2026 08:38
@ReubenFrankel ReubenFrankel changed the title Make profile parsing more forgiving of bad data fix: Make profile parsing more forgiving of bad data Feb 25, 2026
Comment thread tap_klaviyo/streams.py
replication_key = "updated"
max_page_size = 100

@property
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any reason not to use functools.cached_property here?

Comment thread tap_klaviyo/streams.py
if key not in self._declared_attrs and isinstance(val, (dict, list)):
attrs[key] = _json.dumps(val)

@property
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as above

Copy link
Copy Markdown
Member

@edgarrmondragon edgarrmondragon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Instead of trying to be too clever and coerce user-input values, can we somehow relax the schema for the attribute.properties field?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants