airbyte-cdk 6.56.1__py3-none-any.whl → 6.56.3__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.
@@ -448,8 +448,14 @@ class ConcurrentPerPartitionCursor(Cursor):
448
448
  "Invalid state as stream slices that are emitted should refer to an existing cursor"
449
449
  )
450
450
 
451
+ # if the current record has no cursor value, we cannot meaningfully update the state based on it, so there is nothing more to do
452
+ try:
453
+ record_cursor_value = self._cursor_field.extract_value(record)
454
+ except ValueError:
455
+ return
456
+
451
457
  record_cursor = self._connector_state_converter.output_format(
452
- self._connector_state_converter.parse_value(self._cursor_field.extract_value(record))
458
+ self._connector_state_converter.parse_value(record_cursor_value)
453
459
  )
454
460
  self._update_global_cursor(record_cursor)
455
461
  if not self._use_global_cursor:
@@ -32,9 +32,12 @@ class ExpectedOutcome(Enum):
32
32
  return {
33
33
  "succeed": ExpectedOutcome.EXPECT_SUCCESS,
34
34
  "failed": ExpectedOutcome.EXPECT_EXCEPTION,
35
+ "exception": ExpectedOutcome.EXPECT_EXCEPTION, # same as 'failed'
35
36
  }[status]
36
37
  except KeyError as ex:
37
- raise ValueError(f"Invalid status '{status}'. Expected 'succeed' or 'failed'.") from ex
38
+ raise ValueError(
39
+ f"Invalid status '{status}'. Expected 'succeed', 'failed', or 'exception'.",
40
+ ) from ex
38
41
 
39
42
  @classmethod
40
43
  def from_expecting_exception_bool(cls, expecting_exception: bool | None) -> ExpectedOutcome:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: airbyte-cdk
3
- Version: 6.56.1
3
+ Version: 6.56.3
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=araWk039M89c6lQHEUltfM1VI_xGw9gZIDXRWWF6SkM,22591
114
+ airbyte_cdk/sources/declarative/incremental/concurrent_partition_cursor.py,sha256=cmv_nV1G3HMf-YUKtm6Pb2pbisx3R0ZnP_B-8cTnn0I,22842
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
@@ -387,7 +387,7 @@ airbyte_cdk/test/mock_http/request.py,sha256=tdB8cqk2vLgCDTOKffBKsM06llYs4ZecgtH
387
387
  airbyte_cdk/test/mock_http/response.py,sha256=s4-cQQqTtmeej0pQDWqmG0vUWpHS-93lIWMpW3zSVyU,662
388
388
  airbyte_cdk/test/mock_http/response_builder.py,sha256=F-v7ebftqGj7YVIMLKdodmU9U8Dq8aIyllWGo2NGwHc,8331
389
389
  airbyte_cdk/test/models/__init__.py,sha256=5f5oFcuUA3dyNTfvvTWav2pTD8WX4nznObKgMTmvdus,290
390
- airbyte_cdk/test/models/outcome.py,sha256=TdLEnRZv1QjlbI0xdsJqA2rfIvSVRJWXS4TNS9NbKZQ,2135
390
+ airbyte_cdk/test/models/outcome.py,sha256=niSX6gkP4P-_kQUF1jkbBXq72FC3Rtkvtdl0gJsUyho,2263
391
391
  airbyte_cdk/test/models/scenario.py,sha256=vteWvKdinrrDurSnG5Xk478edgJJ9-hvdll0Ufoouu4,5940
392
392
  airbyte_cdk/test/standard_tests/__init__.py,sha256=TGCSc9bqfiEhdfyz7SVqwBog2CsCY1unCXocSXswtV0,1369
393
393
  airbyte_cdk/test/standard_tests/_job_runner.py,sha256=vTuLJiJv-LBqXLfcr7RaTm0HBH4y7L8U6tDv3qYdTkg,6195
@@ -423,9 +423,9 @@ airbyte_cdk/utils/slice_hasher.py,sha256=EDxgROHDbfG-QKQb59m7h_7crN1tRiawdf5uU7G
423
423
  airbyte_cdk/utils/spec_schema_transformations.py,sha256=-5HTuNsnDBAhj-oLeQXwpTGA0HdcjFOf2zTEMUTTg_Y,816
424
424
  airbyte_cdk/utils/stream_status_utils.py,sha256=ZmBoiy5HVbUEHAMrUONxZvxnvfV9CesmQJLDTAIWnWw,1171
425
425
  airbyte_cdk/utils/traced_exception.py,sha256=C8uIBuCL_E4WnBAOPSxBicD06JAldoN9fGsQDp463OY,6292
426
- airbyte_cdk-6.56.1.dist-info/LICENSE.txt,sha256=Wfe61S4BaGPj404v8lrAbvhjYR68SHlkzeYrg3_bbuM,1051
427
- airbyte_cdk-6.56.1.dist-info/LICENSE_SHORT,sha256=aqF6D1NcESmpn-cqsxBtszTEnHKnlsp8L4x9wAh3Nxg,55
428
- airbyte_cdk-6.56.1.dist-info/METADATA,sha256=lK-mwMSQ4Q3KW7Z2eRlH4uNZpTQQYjZPccopEQXVHhE,6392
429
- airbyte_cdk-6.56.1.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
430
- airbyte_cdk-6.56.1.dist-info/entry_points.txt,sha256=AKWbEkHfpzzk9nF9tqBUaw1MbvTM4mGtEzmZQm0ZWvM,139
431
- airbyte_cdk-6.56.1.dist-info/RECORD,,
426
+ airbyte_cdk-6.56.3.dist-info/LICENSE.txt,sha256=Wfe61S4BaGPj404v8lrAbvhjYR68SHlkzeYrg3_bbuM,1051
427
+ airbyte_cdk-6.56.3.dist-info/LICENSE_SHORT,sha256=aqF6D1NcESmpn-cqsxBtszTEnHKnlsp8L4x9wAh3Nxg,55
428
+ airbyte_cdk-6.56.3.dist-info/METADATA,sha256=fN9AEBeqyryxUgTUwYT10xH-nAEPAvZFY5uU9zPpWV4,6392
429
+ airbyte_cdk-6.56.3.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
430
+ airbyte_cdk-6.56.3.dist-info/entry_points.txt,sha256=AKWbEkHfpzzk9nF9tqBUaw1MbvTM4mGtEzmZQm0ZWvM,139
431
+ airbyte_cdk-6.56.3.dist-info/RECORD,,