airbyte-cdk 6.51.0.post8.dev15492684389__py3-none-any.whl → 6.51.0.post11.dev15581579383__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- airbyte_cdk/sources/declarative/incremental/concurrent_partition_cursor.py +3 -15
- airbyte_cdk/sources/declarative/interpolation/jinja.py +6 -4
- {airbyte_cdk-6.51.0.post8.dev15492684389.dist-info → airbyte_cdk-6.51.0.post11.dev15581579383.dist-info}/METADATA +1 -1
- {airbyte_cdk-6.51.0.post8.dev15492684389.dist-info → airbyte_cdk-6.51.0.post11.dev15581579383.dist-info}/RECORD +8 -8
- {airbyte_cdk-6.51.0.post8.dev15492684389.dist-info → airbyte_cdk-6.51.0.post11.dev15581579383.dist-info}/LICENSE.txt +0 -0
- {airbyte_cdk-6.51.0.post8.dev15492684389.dist-info → airbyte_cdk-6.51.0.post11.dev15581579383.dist-info}/LICENSE_SHORT +0 -0
- {airbyte_cdk-6.51.0.post8.dev15492684389.dist-info → airbyte_cdk-6.51.0.post11.dev15581579383.dist-info}/WHEEL +0 -0
- {airbyte_cdk-6.51.0.post8.dev15492684389.dist-info → airbyte_cdk-6.51.0.post11.dev15581579383.dist-info}/entry_points.txt +0 -0
@@ -27,7 +27,6 @@ from airbyte_cdk.sources.streams.concurrent.state_converters.abstract_stream_sta
|
|
27
27
|
AbstractStreamStateConverter,
|
28
28
|
)
|
29
29
|
from airbyte_cdk.sources.types import Record, StreamSlice, StreamState
|
30
|
-
import gc
|
31
30
|
|
32
31
|
logger = logging.getLogger("airbyte")
|
33
32
|
|
@@ -60,8 +59,8 @@ class ConcurrentPerPartitionCursor(Cursor):
|
|
60
59
|
CurrentPerPartitionCursor expects the state of the ConcurrentCursor to follow the format {cursor_field: cursor_value}.
|
61
60
|
"""
|
62
61
|
|
63
|
-
DEFAULT_MAX_PARTITIONS_NUMBER =
|
64
|
-
SWITCH_TO_GLOBAL_LIMIT =
|
62
|
+
DEFAULT_MAX_PARTITIONS_NUMBER = 25_000
|
63
|
+
SWITCH_TO_GLOBAL_LIMIT = 10_000
|
65
64
|
_NO_STATE: Mapping[str, Any] = {}
|
66
65
|
_NO_CURSOR_STATE: Mapping[str, Any] = {}
|
67
66
|
_GLOBAL_STATE_KEY = "state"
|
@@ -180,16 +179,6 @@ class ConcurrentPerPartitionCursor(Cursor):
|
|
180
179
|
|
181
180
|
self._emit_state_message()
|
182
181
|
|
183
|
-
gc.collect()
|
184
|
-
alive = [o for o in gc.get_objects() if isinstance(o, ConcurrentCursor)]
|
185
|
-
print(f"ConcurrentCursor {len(alive)=}")
|
186
|
-
|
187
|
-
alive = [o for o in gc.get_objects() if isinstance(o, threading.Semaphore)]
|
188
|
-
print(f"Semaphores {len(alive)=}")
|
189
|
-
|
190
|
-
alive = [o for o in gc.get_objects() if isinstance(o, dict)]
|
191
|
-
print(f"Dictionaries {len(alive)=}")
|
192
|
-
|
193
182
|
def _check_and_update_parent_state(self) -> None:
|
194
183
|
last_closed_state = None
|
195
184
|
|
@@ -306,7 +295,6 @@ class ConcurrentPerPartitionCursor(Cursor):
|
|
306
295
|
):
|
307
296
|
self._partition_parent_state_map[partition_key] = (deepcopy(parent_state), seq)
|
308
297
|
|
309
|
-
# try:
|
310
298
|
for cursor_slice, is_last_slice, _ in iterate_with_last_flag_and_state(
|
311
299
|
cursor.stream_slices(),
|
312
300
|
lambda: None,
|
@@ -348,7 +336,7 @@ class ConcurrentPerPartitionCursor(Cursor):
|
|
348
336
|
oldest_partition = self._cursor_per_partition.pop(
|
349
337
|
partition_key
|
350
338
|
) # Remove the oldest partition
|
351
|
-
logger.
|
339
|
+
logger.debug(
|
352
340
|
f"The maximum number of partitions has been reached. Dropping the oldest finished partition: {oldest_partition}. Over limit: {self._number_of_partitions - self.DEFAULT_MAX_PARTITIONS_NUMBER}."
|
353
341
|
)
|
354
342
|
break
|
@@ -145,16 +145,18 @@ class JinjaInterpolation(Interpolation):
|
|
145
145
|
# It can be returned as is
|
146
146
|
return s
|
147
147
|
|
148
|
-
|
149
|
-
|
148
|
+
@staticmethod
|
149
|
+
@cache
|
150
|
+
def _find_undeclared_variables(s: Optional[str]) -> Set[str]:
|
150
151
|
"""
|
151
152
|
Find undeclared variables and cache them
|
152
153
|
"""
|
153
154
|
ast = _ENVIRONMENT.parse(s) # type: ignore # parse is able to handle None
|
154
155
|
return meta.find_undeclared_variables(ast)
|
155
156
|
|
156
|
-
|
157
|
-
|
157
|
+
@staticmethod
|
158
|
+
@cache
|
159
|
+
def _compile(s: str) -> Template:
|
158
160
|
"""
|
159
161
|
We must cache the Jinja Template ourselves because we're using `from_string` instead of a template loader
|
160
162
|
"""
|
@@ -111,7 +111,7 @@ airbyte_cdk/sources/declarative/extractors/record_selector.py,sha256=vCpwX1PVRFP
|
|
111
111
|
airbyte_cdk/sources/declarative/extractors/response_to_file_extractor.py,sha256=WJyA2OYIEgFpVP5Y3o0tIj69AV6IKkn9B16MeXaEItI,6513
|
112
112
|
airbyte_cdk/sources/declarative/extractors/type_transformer.py,sha256=d6Y2Rfg8pMVEEnHllfVksWZdNVOU55yk34O03dP9muY,1626
|
113
113
|
airbyte_cdk/sources/declarative/incremental/__init__.py,sha256=U1oZKtBaEC6IACmvziY9Wzg7Z8EgF4ZuR7NwvjlB_Sk,1255
|
114
|
-
airbyte_cdk/sources/declarative/incremental/concurrent_partition_cursor.py,sha256=
|
114
|
+
airbyte_cdk/sources/declarative/incremental/concurrent_partition_cursor.py,sha256=RuD7P42mevZ6yrx1k7HcOTkFasYbit2uaxUCfuT2N3M,22544
|
115
115
|
airbyte_cdk/sources/declarative/incremental/datetime_based_cursor.py,sha256=Rbe6lJLTtZ5en33MwZiB9-H9-AwDMNHgwBZs8EqhYqk,22172
|
116
116
|
airbyte_cdk/sources/declarative/incremental/declarative_cursor.py,sha256=5Bhw9VRPyIuCaD0wmmq_L3DZsa-rJgtKSEUzSd8YYD0,536
|
117
117
|
airbyte_cdk/sources/declarative/incremental/global_substream_cursor.py,sha256=2tsE6FgXzemf4fZZ4uGtd8QpRBl9GJ2CRqSNJE5p0EI,16077
|
@@ -125,7 +125,7 @@ airbyte_cdk/sources/declarative/interpolation/interpolated_mapping.py,sha256=h36
|
|
125
125
|
airbyte_cdk/sources/declarative/interpolation/interpolated_nested_mapping.py,sha256=myVaNtFqxOAwrbp93rgd1dhkqyuvXvET9rsimQ89ktc,1873
|
126
126
|
airbyte_cdk/sources/declarative/interpolation/interpolated_string.py,sha256=CQkHqGlfa87G6VYMtBAQWin7ECKpfMdrDcg0JO5_rhc,3212
|
127
127
|
airbyte_cdk/sources/declarative/interpolation/interpolation.py,sha256=9IoeuWam3L6GyN10L6U8xNWXmkt9cnahSDNkez1OmFY,982
|
128
|
-
airbyte_cdk/sources/declarative/interpolation/jinja.py,sha256=
|
128
|
+
airbyte_cdk/sources/declarative/interpolation/jinja.py,sha256=YB-D5EIpTQ2yEdbyZvbOODl92hn_Mw0heQK2IYFyUMA,7206
|
129
129
|
airbyte_cdk/sources/declarative/interpolation/macros.py,sha256=UYSJ5gW7TkHALYnNvUnRP3RlyGwGuRMObF3BHuNzjJM,5320
|
130
130
|
airbyte_cdk/sources/declarative/manifest_declarative_source.py,sha256=AVb86oWIAxAOrE3KAyNr81bF5Dd2QjKdQ6E4Jl4yrQw,24719
|
131
131
|
airbyte_cdk/sources/declarative/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -419,9 +419,9 @@ airbyte_cdk/utils/slice_hasher.py,sha256=EDxgROHDbfG-QKQb59m7h_7crN1tRiawdf5uU7G
|
|
419
419
|
airbyte_cdk/utils/spec_schema_transformations.py,sha256=-5HTuNsnDBAhj-oLeQXwpTGA0HdcjFOf2zTEMUTTg_Y,816
|
420
420
|
airbyte_cdk/utils/stream_status_utils.py,sha256=ZmBoiy5HVbUEHAMrUONxZvxnvfV9CesmQJLDTAIWnWw,1171
|
421
421
|
airbyte_cdk/utils/traced_exception.py,sha256=C8uIBuCL_E4WnBAOPSxBicD06JAldoN9fGsQDp463OY,6292
|
422
|
-
airbyte_cdk-6.51.0.
|
423
|
-
airbyte_cdk-6.51.0.
|
424
|
-
airbyte_cdk-6.51.0.
|
425
|
-
airbyte_cdk-6.51.0.
|
426
|
-
airbyte_cdk-6.51.0.
|
427
|
-
airbyte_cdk-6.51.0.
|
422
|
+
airbyte_cdk-6.51.0.post11.dev15581579383.dist-info/LICENSE.txt,sha256=Wfe61S4BaGPj404v8lrAbvhjYR68SHlkzeYrg3_bbuM,1051
|
423
|
+
airbyte_cdk-6.51.0.post11.dev15581579383.dist-info/LICENSE_SHORT,sha256=aqF6D1NcESmpn-cqsxBtszTEnHKnlsp8L4x9wAh3Nxg,55
|
424
|
+
airbyte_cdk-6.51.0.post11.dev15581579383.dist-info/METADATA,sha256=fSIPO2K7U660xUiIaVCxQ2QkmoF48KknqpzEZvYCoMA,6365
|
425
|
+
airbyte_cdk-6.51.0.post11.dev15581579383.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
426
|
+
airbyte_cdk-6.51.0.post11.dev15581579383.dist-info/entry_points.txt,sha256=AKWbEkHfpzzk9nF9tqBUaw1MbvTM4mGtEzmZQm0ZWvM,139
|
427
|
+
airbyte_cdk-6.51.0.post11.dev15581579383.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|