-
Notifications
You must be signed in to change notification settings - Fork 4.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[airbyte-cdk] Promote low-code types and cursor interface into Python CDK #38077
[airbyte-cdk] Promote low-code types and cursor interface into Python CDK #38077
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎ 1 Ignored Deployment
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
<3
Hello @brianjlai @girarda, If I understood correctly, |
Hi @assaadhjb, assuming that your connector is written in the low-code framework. You don't actually need to define the If your custom connector is written using the Python CDK, then we do have some docs here that talk about synthetic cursors. |
What
As I was trying to implement RFR for low-code, a consistent theme was that I was writing boilerplate and making some questionable decisions on how to format and read state from
checkpoint_reader.py
. The reality is that a number of these concepts likeStreamSlice
that has separate cursor/partition value and theCursor
interface belong in the top most CDK and using them here makes a huge difference in the understandability of the RFR flow.I decided to just yolo this thing out cuz why not. Looks like a lot of changes, but assuming we can get CATs and unit tests to pass, I have pretty high confidence because if I refactored the references wrong it would fail very loudly.
I also don't plan to republish connectors
How
Moved the types.py from
/sources/declarative
to/sources
types.py
. I migrated all our repos over, but we might have customer's who've implemented custom low-code connectors w/ custom components and this avoids breaking themMoved the Cursor to
/sources/streams/checkpoint
IntelliJ/copilot magic to refactor everything to reference the appropriate types.
Review guide
/sources/types.py
/sources/streams/checkpoint/cursor.py
User Impact
Should be non-breaking as mentioned above.
Can this PR be safely reverted and rolled back?