airbyte-source-google-ads 4.1.4.dev202511261224__py3-none-any.whl → 4.1.4.dev202511261630__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: airbyte-source-google-ads
3
- Version: 4.1.4.dev202511261224
3
+ Version: 4.1.4.dev202511261630
4
4
  Summary: Source implementation for Google Ads.
5
5
  Home-page: https://airbyte.com
6
6
  License: Elv2
@@ -11,7 +11,7 @@ Classifier: License :: Other/Proprietary License
11
11
  Classifier: Programming Language :: Python :: 3
12
12
  Classifier: Programming Language :: Python :: 3.10
13
13
  Classifier: Programming Language :: Python :: 3.11
14
- Requires-Dist: airbyte-cdk (>=7.4.1,<8.0.0)
14
+ Requires-Dist: airbyte-cdk (>=7.5.1.post3.dev19705070276,<8.0.0)
15
15
  Requires-Dist: google-ads (==27.0.0)
16
16
  Requires-Dist: pendulum (<3.0.0)
17
17
  Requires-Dist: protobuf (==4.25.2)
@@ -2,16 +2,16 @@ source_google_ads/__init__.py,sha256=Nlo5H6LlaSgg7tx_LyqMIy3MXiAagfk3izZ9o44VvSE
2
2
  source_google_ads/components.py,sha256=_Jku4_NHRg4OzYSmtk23H0LfYo0bbqfx1navUoUztug,40970
3
3
  source_google_ads/config_migrations.py,sha256=oBi_qNqBpLS8GNCaIOBo0stNdYuyqVl6lkrhdXRwMX8,4405
4
4
  source_google_ads/google_ads.py,sha256=cxS18tz0fFJjmIhlhFQ3Zvu2K8bhDtmsl1kFeO7nNhk,11595
5
- source_google_ads/manifest.yaml,sha256=ICDxfH8-pT78PfQwU2h_mgCVkv-sSzuQBR4BdnVZEpU,219342
5
+ source_google_ads/manifest.yaml,sha256=lloZo6cDdrkE-HXn66cRfNi0MwvK80lGCjFdmsiqLto,220336
6
6
  source_google_ads/models.py,sha256=ZmdS3z_2roaEQgV2Mx1CDm33MztpQ66SfHDzP8XwZog,1658
7
7
  source_google_ads/run.py,sha256=ydIyq_vSNV5Z4mJYnsO5GyNDsLDd0qibBsq6wnvuFAo,2002
8
8
  source_google_ads/schemas/customer_client.json,sha256=oThcyUDO1yWpxtWPWdoAFqTXEIweF8N4q6mRI73Q6yU,984
9
9
  source_google_ads/schemas/service_accounts.json,sha256=HVSyzbEoxzB4rntRHOjAh0ZYgbR584ew0W0CdJH7ECU,3485
10
- source_google_ads/source.py,sha256=xmfWTrefFYNDm8Nl5FUqnTByjgQTcJI6VVBD_khY6No,1791
10
+ source_google_ads/source.py,sha256=hz5ep6stMWHNvD73PIF_7bjnee49sY9YHHjaYNAPnOQ,1425
11
11
  source_google_ads/spec.json,sha256=8hbc7smbaffIkYCkX2BYJLB9kgaH8vYKCg-H0y1FvUs,7810
12
12
  source_google_ads/streams.py,sha256=FB-DNJlXhjQADptT-wrv3iGWoliyRuvDuHGeqiN9HsY,13349
13
13
  source_google_ads/utils.py,sha256=-KpgGv2W8WueXvGRC3xbVreDl5-5-vU9OwzC5SZDKVc,21409
14
- airbyte_source_google_ads-4.1.4.dev202511261224.dist-info/METADATA,sha256=hF_jEn4xE6E4jWFnE9O0bCHOBI4rFJPegmqUH9JdhPc,5376
15
- airbyte_source_google_ads-4.1.4.dev202511261224.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
16
- airbyte_source_google_ads-4.1.4.dev202511261224.dist-info/entry_points.txt,sha256=pP4Llir93XGkHFDZfXXxK7qOWo9_U1ssCJToyxEUB4w,63
17
- airbyte_source_google_ads-4.1.4.dev202511261224.dist-info/RECORD,,
14
+ airbyte_source_google_ads-4.1.4.dev202511261630.dist-info/METADATA,sha256=nQGZU1vv_9_Qg5bWxpUISh8hpCyRDytlAb8CgGUP_l8,5397
15
+ airbyte_source_google_ads-4.1.4.dev202511261630.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
16
+ airbyte_source_google_ads-4.1.4.dev202511261630.dist-info/entry_points.txt,sha256=pP4Llir93XGkHFDZfXXxK7qOWo9_U1ssCJToyxEUB4w,63
17
+ airbyte_source_google_ads-4.1.4.dev202511261630.dist-info/RECORD,,
@@ -1030,6 +1030,27 @@ definitions:
1030
1030
  )
1031
1031
  }}
1032
1032
  create_or_update: true
1033
+ - type: ComponentMappingDefinition
1034
+ field_path:
1035
+ - incremental_sync
1036
+ - step
1037
+ value: "P1D"
1038
+ condition: >-
1039
+ {{
1040
+ (
1041
+ (
1042
+ components_values.get('query', '').count('segments.date') == 1
1043
+ and (components_values.get('query') | regex_search('(?i)(\\bSELECT\\b[\\s\\S]*?segments\\.date[\\s\\S]*?\\bFROM\\b)'))
1044
+ )
1045
+ or
1046
+ (
1047
+ components_values.get('query', '').count('segments.date') == 2
1048
+ and (components_values.get('query') | regex_search('(?i)(\\bSELECT\\b[\\s\\S]*?segments\\.date[\\s\\S]*?\\bFROM\\b)'))
1049
+ and (components_values.get('query') | regex_search('(?i)(\\bORDER\\s+BY\\b[\\s\\S]*?segments\\.date)'))
1050
+ )
1051
+ ) and components_values.get('query', '') | regex_search('(?i)(\\bFROM\\s+click_view\\b)')
1052
+ }}
1053
+ create_or_update: true
1033
1054
  - type: ComponentMappingDefinition
1034
1055
  field_path:
1035
1056
  - retriever
@@ -34,12 +34,6 @@ class SourceGoogleAds(YamlDeclarativeSource):
34
34
  config["customer_ids"] = config["customer_id"].split(",")
35
35
  config.pop("customer_id")
36
36
 
37
- # Replace tabs with spaces in custom queries to prevent YAML parsing errors
38
- if "custom_queries_array" in config:
39
- for query_config in config["custom_queries_array"]:
40
- if "query" in query_config and isinstance(query_config["query"], str):
41
- query_config["query"] = query_config["query"].replace("\t", " ")
42
-
43
37
  return config
44
38
 
45
39
  def streams(self, config: Mapping[str, Any]) -> List[Stream]: