airbyte-cdk 6.40.0.dev0__py3-none-any.whl → 6.41.0__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/concurrent_declarative_source.py +5 -1
- airbyte_cdk/sources/declarative/interpolation/filters.py +19 -1
- airbyte_cdk/sources/streams/http/requests_native_auth/abstract_oauth.py +1 -1
- {airbyte_cdk-6.40.0.dev0.dist-info → airbyte_cdk-6.41.0.dist-info}/METADATA +1 -1
- {airbyte_cdk-6.40.0.dev0.dist-info → airbyte_cdk-6.41.0.dist-info}/RECORD +9 -9
- {airbyte_cdk-6.40.0.dev0.dist-info → airbyte_cdk-6.41.0.dist-info}/LICENSE.txt +0 -0
- {airbyte_cdk-6.40.0.dev0.dist-info → airbyte_cdk-6.41.0.dist-info}/LICENSE_SHORT +0 -0
- {airbyte_cdk-6.40.0.dev0.dist-info → airbyte_cdk-6.41.0.dist-info}/WHEEL +0 -0
- {airbyte_cdk-6.40.0.dev0.dist-info → airbyte_cdk-6.41.0.dist-info}/entry_points.txt +0 -0
@@ -206,7 +206,11 @@ class ConcurrentDeclarativeSource(ManifestDeclarativeSource, Generic[TState]):
|
|
206
206
|
# these legacy Python streams the way we do low-code streams to determine if they are concurrent compatible,
|
207
207
|
# so we need to treat them as synchronous
|
208
208
|
|
209
|
-
if
|
209
|
+
if (
|
210
|
+
isinstance(declarative_stream, DeclarativeStream)
|
211
|
+
and name_to_stream_mapping[declarative_stream.name]["type"]
|
212
|
+
== "StateDelegatingStream"
|
213
|
+
):
|
210
214
|
stream_state = self._connector_state_manager.get_stream_state(
|
211
215
|
stream_name=declarative_stream.name, namespace=declarative_stream.namespace
|
212
216
|
)
|
@@ -93,6 +93,24 @@ def base64decode(value: str) -> str:
|
|
93
93
|
return base64.b64decode(value.encode("utf-8")).decode()
|
94
94
|
|
95
95
|
|
96
|
+
def base64binascii_decode(value: str) -> str:
|
97
|
+
"""
|
98
|
+
Implementation of a custom Jinja2 filter to decode base64 strings using ASCII encoding
|
99
|
+
|
100
|
+
For example:
|
101
|
+
|
102
|
+
OAuthAuthenticator:
|
103
|
+
$ref: "#/definitions/OAuthAuthenticator"
|
104
|
+
$parameters:
|
105
|
+
name: "client_id"
|
106
|
+
value: "{{ config['client_id'] | base64binascii_decode }}"
|
107
|
+
|
108
|
+
:param value: value to be decoded from base64 using ascii
|
109
|
+
:return: base64 decoded string ascii
|
110
|
+
"""
|
111
|
+
return base64.standard_b64encode(value.encode("ascii")).decode("ascii")
|
112
|
+
|
113
|
+
|
96
114
|
def string(value: Any) -> str:
|
97
115
|
"""
|
98
116
|
Converts the input value to a string.
|
@@ -117,5 +135,5 @@ def regex_search(value: str, regex: str) -> str:
|
|
117
135
|
return ""
|
118
136
|
|
119
137
|
|
120
|
-
_filters_list = [hash, base64encode, base64decode, string, regex_search]
|
138
|
+
_filters_list = [hash, base64encode, base64decode, base64binascii_decode, string, regex_search]
|
121
139
|
filters = {f.__name__: f for f in _filters_list}
|
@@ -247,7 +247,7 @@ class AbstractOauth2Authenticator(AuthBase):
|
|
247
247
|
access_key = self._extract_access_token(response_data)
|
248
248
|
if not access_key:
|
249
249
|
raise Exception(
|
250
|
-
"Token refresh API response was missing access token {self.get_access_token_name()}"
|
250
|
+
f"Token refresh API response was missing access token {self.get_access_token_name()}"
|
251
251
|
)
|
252
252
|
# Add the access token to the list of secrets so it is replaced before logging the response
|
253
253
|
# An argument could be made to remove the prevous access key from the list of secrets, but unmasking values seems like a security incident waiting to happen...
|
@@ -67,7 +67,7 @@ airbyte_cdk/sources/declarative/checks/check_stream.py,sha256=dAA-UhmMj0WLXCkRQr
|
|
67
67
|
airbyte_cdk/sources/declarative/checks/connection_checker.py,sha256=MBRJo6WJlZQHpIfOGaNOkkHUmgUl_4wDM6VPo41z5Ss,1383
|
68
68
|
airbyte_cdk/sources/declarative/concurrency_level/__init__.py,sha256=5XUqrmlstYlMM0j6crktlKQwALek0uiz2D3WdM46MyA,191
|
69
69
|
airbyte_cdk/sources/declarative/concurrency_level/concurrency_level.py,sha256=YIwCTCpOr_QSNW4ltQK0yUGWInI8PKNY216HOOegYLk,2101
|
70
|
-
airbyte_cdk/sources/declarative/concurrent_declarative_source.py,sha256=
|
70
|
+
airbyte_cdk/sources/declarative/concurrent_declarative_source.py,sha256=uhy0dRkA2jq89JdHZMTH5LdP200-Pm_LTaaWnCoUiaM,27687
|
71
71
|
airbyte_cdk/sources/declarative/datetime/__init__.py,sha256=4Hw-PX1-VgESLF16cDdvuYCzGJtHntThLF4qIiULWeo,61
|
72
72
|
airbyte_cdk/sources/declarative/datetime/datetime_parser.py,sha256=_zGNGq31RNy_0QBLt_EcTvgPyhj7urPdx6oA3M5-r3o,3150
|
73
73
|
airbyte_cdk/sources/declarative/datetime/min_max_datetime.py,sha256=0BHBtDNQZfvwM45-tY5pNlTcKAFSGGNxemoi0Jic-0E,5785
|
@@ -101,7 +101,7 @@ airbyte_cdk/sources/declarative/incremental/per_partition_cursor.py,sha256=9IAJT
|
|
101
101
|
airbyte_cdk/sources/declarative/incremental/per_partition_with_global.py,sha256=2YBOA2NnwAeIKlIhSwUB_W-FaGnPcmrG_liY7b4mV2Y,8365
|
102
102
|
airbyte_cdk/sources/declarative/incremental/resumable_full_refresh_cursor.py,sha256=10LFv1QPM-agVKl6eaANmEBOfd7gZgBrkoTcMggsieQ,4809
|
103
103
|
airbyte_cdk/sources/declarative/interpolation/__init__.py,sha256=Kh7FxhfetyNVDnAQ9zSxNe4oUbb8CvoW7Mqz7cs2iPg,437
|
104
|
-
airbyte_cdk/sources/declarative/interpolation/filters.py,sha256=
|
104
|
+
airbyte_cdk/sources/declarative/interpolation/filters.py,sha256=9tqTLFlmIp47QtN6zTToLh-YmO9b4Mbylc3bivEa448,4210
|
105
105
|
airbyte_cdk/sources/declarative/interpolation/interpolated_boolean.py,sha256=8F3ntT_Mfo8cO9n6dCq8rTfJIpfKmzRCsVtVdhzaoGc,1964
|
106
106
|
airbyte_cdk/sources/declarative/interpolation/interpolated_mapping.py,sha256=h36RIng4GZ9v4o_fRmgJjTNOtWmhK7NOILU1oSKPE4Q,2083
|
107
107
|
airbyte_cdk/sources/declarative/interpolation/interpolated_nested_mapping.py,sha256=vjwvkLk7_l6YDcFClwjCMcTleRjQBh7-dzny7PUaoG8,1857
|
@@ -301,7 +301,7 @@ airbyte_cdk/sources/streams/http/http.py,sha256=0uariNq8OFnlX7iqOHwBhecxA-Hfd5hS
|
|
301
301
|
airbyte_cdk/sources/streams/http/http_client.py,sha256=tDE0ROtxjGMVphvsw8INvGMtZ97hIF-v47pZ3jIyiwc,23011
|
302
302
|
airbyte_cdk/sources/streams/http/rate_limiting.py,sha256=IwdjrHKUnU97XO4qONgYRv4YYW51xQ8SJm4WLafXDB8,6351
|
303
303
|
airbyte_cdk/sources/streams/http/requests_native_auth/__init__.py,sha256=RN0D3nOX1xLgwEwKWu6pkGy3XqBFzKSNZ8Lf6umU2eY,413
|
304
|
-
airbyte_cdk/sources/streams/http/requests_native_auth/abstract_oauth.py,sha256=
|
304
|
+
airbyte_cdk/sources/streams/http/requests_native_auth/abstract_oauth.py,sha256=XLVbJNSSnjECQKq7mMxYp1Pi5kbpAp2VmGq0fwMuDRc,18825
|
305
305
|
airbyte_cdk/sources/streams/http/requests_native_auth/abstract_token.py,sha256=Y3n7J-sk5yGjv_OxtY6Z6k0PEsFZmtIRi-x0KCbaHdA,1010
|
306
306
|
airbyte_cdk/sources/streams/http/requests_native_auth/oauth.py,sha256=C2j2uVfi9d-3KgHO3NGxIiFdfASjHOtsd6g_LWPYOAs,20311
|
307
307
|
airbyte_cdk/sources/streams/http/requests_native_auth/token.py,sha256=h5PTzcdH-RQLeCg7xZ45w_484OPUDSwNWl_iMJQmZoI,2526
|
@@ -358,9 +358,9 @@ airbyte_cdk/utils/slice_hasher.py,sha256=EDxgROHDbfG-QKQb59m7h_7crN1tRiawdf5uU7G
|
|
358
358
|
airbyte_cdk/utils/spec_schema_transformations.py,sha256=-5HTuNsnDBAhj-oLeQXwpTGA0HdcjFOf2zTEMUTTg_Y,816
|
359
359
|
airbyte_cdk/utils/stream_status_utils.py,sha256=ZmBoiy5HVbUEHAMrUONxZvxnvfV9CesmQJLDTAIWnWw,1171
|
360
360
|
airbyte_cdk/utils/traced_exception.py,sha256=C8uIBuCL_E4WnBAOPSxBicD06JAldoN9fGsQDp463OY,6292
|
361
|
-
airbyte_cdk-6.
|
362
|
-
airbyte_cdk-6.
|
363
|
-
airbyte_cdk-6.
|
364
|
-
airbyte_cdk-6.
|
365
|
-
airbyte_cdk-6.
|
366
|
-
airbyte_cdk-6.
|
361
|
+
airbyte_cdk-6.41.0.dist-info/LICENSE.txt,sha256=Wfe61S4BaGPj404v8lrAbvhjYR68SHlkzeYrg3_bbuM,1051
|
362
|
+
airbyte_cdk-6.41.0.dist-info/LICENSE_SHORT,sha256=aqF6D1NcESmpn-cqsxBtszTEnHKnlsp8L4x9wAh3Nxg,55
|
363
|
+
airbyte_cdk-6.41.0.dist-info/METADATA,sha256=j_-dbmwZXO1MF14gKQRHWyxKUSR6z_E8pDCJTAnWkZs,6071
|
364
|
+
airbyte_cdk-6.41.0.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
365
|
+
airbyte_cdk-6.41.0.dist-info/entry_points.txt,sha256=fj-e3PAQvsxsQzyyq8UkG1k8spunWnD4BAH2AwlR6NM,95
|
366
|
+
airbyte_cdk-6.41.0.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|