@@ -93,6 +93,7 @@ def extract_records(
93
93
94
94
95
95
class StripeStream (HttpStream , ABC ):
96
+ is_resumable = False
96
97
url_base = "https://api.stripe.com/v1/"
97
98
DEFAULT_SLICE_RANGE = 365
98
99
transformer = TypeTransformer (TransformConfig .DefaultSchemaNormalization )
@@ -234,6 +235,7 @@ def get_parent_stream(self, stream_state: Mapping[str, Any]) -> StripeStream:
234
235
235
236
236
237
class CreatedCursorIncrementalStripeStream (StripeStream ):
238
+ is_resumable = True
237
239
# Stripe returns most recently created objects first, so we don't want to persist state until the entire stream has been read
238
240
state_checkpoint_interval = math .inf
239
241
@@ -337,6 +339,7 @@ def path(self, **kwargs):
337
339
338
340
339
341
class UpdatedCursorIncrementalStripeStream (StripeStream ):
342
+ is_resumable = True
340
343
"""
341
344
`CreatedCursorIncrementalStripeStream` does not provide a way to read updated data since given date because the API does not allow to do this.
342
345
It only returns newly created entities since given date. So to have all the updated data as well we need to make use of the Events API,
@@ -452,6 +455,7 @@ def get_parent_stream(self, stream_state: Mapping[str, Any]) -> StripeStream:
452
455
453
456
454
457
class IncrementalStripeStream (StripeStream ):
458
+ is_resumable = True
455
459
"""
456
460
This class combines both normal incremental sync and event based sync. It uses common endpoints for sliced data syncs in
457
461
the full refresh sync mode and initial incremental sync. For incremental syncs with a state, event based sync comes into action.
@@ -720,6 +724,7 @@ def get_parent_stream(self, stream_state: Mapping[str, Any]) -> StripeStream:
720
724
721
725
722
726
class UpdatedCursorIncrementalStripeLazySubStream (StripeStream , ABC ):
727
+ is_resumable = True
723
728
"""
724
729
This stream uses StripeLazySubStream under the hood to run full refresh or initial incremental syncs.
725
730
In case of subsequent incremental syncs, it uses the UpdatedCursorIncrementalStripeStream class.
@@ -793,6 +798,7 @@ def read_records(
793
798
794
799
795
800
class ParentIncrementalStipeSubStream (StripeSubStream ):
801
+ is_resumable = True
796
802
"""
797
803
This stream differs from others in that it runs parent stream in exactly same sync mode it is run itself to generate stream slices.
798
804
It also uses regular /v1 API endpoints to sync data no matter what the sync mode is. This means that the event-based API can only
0 commit comments