airbyte-cdk 6.51.0.post7.dev15491071971__py3-none-any.whl → 6.51.0.post7.dev15492779494__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.
@@ -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 = 250
64
- SWITCH_TO_GLOBAL_LIMIT = 100
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,18 +295,20 @@ class ConcurrentPerPartitionCursor(Cursor):
306
295
  ):
307
296
  self._partition_parent_state_map[partition_key] = (deepcopy(parent_state), seq)
308
297
 
309
- # try:
310
- for cursor_slice, is_last_slice, _ in iterate_with_last_flag_and_state(
311
- cursor.stream_slices(),
312
- lambda: None,
313
- ):
314
- self._semaphore_per_partition[partition_key].release()
315
- if is_last_slice:
316
- self._partitions_done_generating_stream_slices.add(partition_key)
317
- yield StreamSlice(
318
- partition=partition, cursor_slice=cursor_slice, extra_fields=partition.extra_fields
319
- )
320
-
298
+ try:
299
+ for cursor_slice, is_last_slice, _ in iterate_with_last_flag_and_state(
300
+ cursor.stream_slices(),
301
+ lambda: None,
302
+ ):
303
+ self._semaphore_per_partition[partition_key].release()
304
+ if is_last_slice:
305
+ self._partitions_done_generating_stream_slices.add(partition_key)
306
+ yield StreamSlice(
307
+ partition=partition, cursor_slice=cursor_slice, extra_fields=partition.extra_fields
308
+ )
309
+ finally:
310
+ del cursor
311
+ del partition
321
312
 
322
313
  def _ensure_partition_limit(self) -> None:
323
314
  """
@@ -145,7 +145,7 @@ class JinjaInterpolation(Interpolation):
145
145
  # It can be returned as is
146
146
  return s
147
147
 
148
- @cache
148
+ # @cache
149
149
  def _find_undeclared_variables(self, s: Optional[str]) -> Set[str]:
150
150
  """
151
151
  Find undeclared variables and cache them
@@ -153,7 +153,7 @@ class JinjaInterpolation(Interpolation):
153
153
  ast = _ENVIRONMENT.parse(s) # type: ignore # parse is able to handle None
154
154
  return meta.find_undeclared_variables(ast)
155
155
 
156
- @cache
156
+ # @cache
157
157
  def _compile(self, s: str) -> Template:
158
158
  """
159
159
  We must cache the Jinja Template ourselves because we're using `from_string` instead of a template loader
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: airbyte-cdk
3
- Version: 6.51.0.post7.dev15491071971
3
+ Version: 6.51.0.post7.dev15492779494
4
4
  Summary: A framework for writing Airbyte Connectors.
5
5
  Home-page: https://airbyte.com
6
6
  License: MIT
@@ -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=AjS24owY5oNP4Z6GbG7VlKIvKKlaf6IiFrQqoDZm6Xg,22988
114
+ airbyte_cdk/sources/declarative/incremental/concurrent_partition_cursor.py,sha256=yhF9vgcZ8ZuIFk3kN9pFcKkvkmhH8ksVKLt9CELDvk4,22664
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=UQeuS4Vpyp4hlOn-R3tRyeBX0e9IoV6jQ6gH-Jz8lY0,7182
128
+ airbyte_cdk/sources/declarative/interpolation/jinja.py,sha256=y-m7Iu1EQGEPUkmtXYcSdJTucQj67tcXvV3QJyNTQWU,7186
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.post7.dev15491071971.dist-info/LICENSE.txt,sha256=Wfe61S4BaGPj404v8lrAbvhjYR68SHlkzeYrg3_bbuM,1051
423
- airbyte_cdk-6.51.0.post7.dev15491071971.dist-info/LICENSE_SHORT,sha256=aqF6D1NcESmpn-cqsxBtszTEnHKnlsp8L4x9wAh3Nxg,55
424
- airbyte_cdk-6.51.0.post7.dev15491071971.dist-info/METADATA,sha256=-XvLkJiVBp9lSHrOd6zCex0DmGuDxfPfv5N13J1mZpM,6364
425
- airbyte_cdk-6.51.0.post7.dev15491071971.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
426
- airbyte_cdk-6.51.0.post7.dev15491071971.dist-info/entry_points.txt,sha256=AKWbEkHfpzzk9nF9tqBUaw1MbvTM4mGtEzmZQm0ZWvM,139
427
- airbyte_cdk-6.51.0.post7.dev15491071971.dist-info/RECORD,,
422
+ airbyte_cdk-6.51.0.post7.dev15492779494.dist-info/LICENSE.txt,sha256=Wfe61S4BaGPj404v8lrAbvhjYR68SHlkzeYrg3_bbuM,1051
423
+ airbyte_cdk-6.51.0.post7.dev15492779494.dist-info/LICENSE_SHORT,sha256=aqF6D1NcESmpn-cqsxBtszTEnHKnlsp8L4x9wAh3Nxg,55
424
+ airbyte_cdk-6.51.0.post7.dev15492779494.dist-info/METADATA,sha256=J-FvjaxFZ_sNCiyO5VDE0wRN8ufWo4yeOKZSwOBJaos,6364
425
+ airbyte_cdk-6.51.0.post7.dev15492779494.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
426
+ airbyte_cdk-6.51.0.post7.dev15492779494.dist-info/entry_points.txt,sha256=AKWbEkHfpzzk9nF9tqBUaw1MbvTM4mGtEzmZQm0ZWvM,139
427
+ airbyte_cdk-6.51.0.post7.dev15492779494.dist-info/RECORD,,