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
Merged
brianjlai
merged 8 commits into
master
from
brian/move_cursors_and_stream_slice_to_python
May 13, 2024
Merged
[airbyte-cdk] Promote low-code types and cursor interface into Python CDK #38077
brianjlai
merged 8 commits into
master
from
brian/move_cursors_and_stream_slice_to_python
May 13, 2024
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
The latest updates on your projects. Learn more about Vercel for Git ↗︎ 1 Ignored Deployment
|
octavia-squidington-iii
added
area/connectors
Connector related issues
CDK
Connector Development Kit
connectors/source/intercom
connectors/source/notion
connectors/source/monday
connectors/source/mixpanel
connectors/source/surveymonkey
connectors/source/trello
connectors/source/amplitude
connectors/source/apify-dataset
connectors/source/bigcommerce
connectors/source/braintree
connectors/source/chargebee
connectors/source/freshdesk
connectors/source/facebook-pages
connectors/source/gitlab
connectors/source/greenhouse
connectors/source/iterable
connectors/source/klaviyo
connectors/source/slack
connectors/source/mailchimp
connectors/source/paypal-transaction
connectors/source/pipedrive
connectors/source/posthog
connectors/source/prestashop
labels
May 9, 2024
brianjlai
removed
connectors/source/prestashop
connectors/source/recharge
connectors/source/typeform
connectors/source/zendesk-chat
connectors/source/zendesk-support
connectors/source/zenloop
connectors/source/my-hours
connectors/source/braze
connectors/source/railz
connectors/source/instatus
connectors/source/zoom
connectors/source/partnerstack
connectors/source/pocket
connectors/source/younium
connectors/source/gnews
connectors/source/rss
connectors/source/quickbooks
labels
May 9, 2024
brianjlai
added
area/connectors
Connector related issues
and removed
connectors/source/alpha-vantage
labels
May 9, 2024
girarda
approved these changes
May 10, 2024
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
2 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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?