airbyte-source-google-ads 4.1.4.dev202511261224__tar.gz → 4.1.4.dev202511261630__tar.gz

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.
Files changed (16) hide show
  1. {airbyte_source_google_ads-4.1.4.dev202511261224 → airbyte_source_google_ads-4.1.4.dev202511261630}/PKG-INFO +2 -2
  2. {airbyte_source_google_ads-4.1.4.dev202511261224 → airbyte_source_google_ads-4.1.4.dev202511261630}/pyproject.toml +2 -2
  3. {airbyte_source_google_ads-4.1.4.dev202511261224 → airbyte_source_google_ads-4.1.4.dev202511261630}/source_google_ads/manifest.yaml +21 -0
  4. {airbyte_source_google_ads-4.1.4.dev202511261224 → airbyte_source_google_ads-4.1.4.dev202511261630}/source_google_ads/source.py +0 -6
  5. {airbyte_source_google_ads-4.1.4.dev202511261224 → airbyte_source_google_ads-4.1.4.dev202511261630}/README.md +0 -0
  6. {airbyte_source_google_ads-4.1.4.dev202511261224 → airbyte_source_google_ads-4.1.4.dev202511261630}/source_google_ads/__init__.py +0 -0
  7. {airbyte_source_google_ads-4.1.4.dev202511261224 → airbyte_source_google_ads-4.1.4.dev202511261630}/source_google_ads/components.py +0 -0
  8. {airbyte_source_google_ads-4.1.4.dev202511261224 → airbyte_source_google_ads-4.1.4.dev202511261630}/source_google_ads/config_migrations.py +0 -0
  9. {airbyte_source_google_ads-4.1.4.dev202511261224 → airbyte_source_google_ads-4.1.4.dev202511261630}/source_google_ads/google_ads.py +0 -0
  10. {airbyte_source_google_ads-4.1.4.dev202511261224 → airbyte_source_google_ads-4.1.4.dev202511261630}/source_google_ads/models.py +0 -0
  11. {airbyte_source_google_ads-4.1.4.dev202511261224 → airbyte_source_google_ads-4.1.4.dev202511261630}/source_google_ads/run.py +0 -0
  12. {airbyte_source_google_ads-4.1.4.dev202511261224 → airbyte_source_google_ads-4.1.4.dev202511261630}/source_google_ads/schemas/customer_client.json +0 -0
  13. {airbyte_source_google_ads-4.1.4.dev202511261224 → airbyte_source_google_ads-4.1.4.dev202511261630}/source_google_ads/schemas/service_accounts.json +0 -0
  14. {airbyte_source_google_ads-4.1.4.dev202511261224 → airbyte_source_google_ads-4.1.4.dev202511261630}/source_google_ads/spec.json +0 -0
  15. {airbyte_source_google_ads-4.1.4.dev202511261224 → airbyte_source_google_ads-4.1.4.dev202511261630}/source_google_ads/streams.py +0 -0
  16. {airbyte_source_google_ads-4.1.4.dev202511261224 → airbyte_source_google_ads-4.1.4.dev202511261630}/source_google_ads/utils.py +0 -0
@@ -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)
@@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",]
3
3
  build-backend = "poetry.core.masonry.api"
4
4
 
5
5
  [tool.poetry]
6
- version = "4.1.4.dev.202511261224"
6
+ version = "4.1.4.dev.202511261630"
7
7
  name = "airbyte-source-google-ads"
8
8
  description = "Source implementation for Google Ads."
9
9
  authors = [ "Airbyte <contact@airbyte.io>",]
@@ -20,7 +20,7 @@ python = "^3.10,<3.12"
20
20
  google-ads = "==27.0.0"
21
21
  protobuf = "==4.25.2"
22
22
  pendulum = "<3.0.0"
23
- airbyte-cdk = "^7.4.1"
23
+ airbyte-cdk = "^7.5.1.post3.dev19705070276"
24
24
 
25
25
  [tool.poetry.scripts]
26
26
  source-google-ads = "source_google_ads.run:run"
@@ -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]: