findly.unified-reporting-sdk 0.7.11__py3-none-any.whl → 0.7.12__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.
@@ -225,16 +225,20 @@ class GA4QueryArgsParser(CommonParser):
225
225
  query_args: QueryArgs,
226
226
  property_id: str,
227
227
  ) -> Dict[str, Any]:
228
+ # Remove duplicates from metrics and dimensions to avoid redundant processing.
229
+ unique_metrics = list(dict.fromkeys(query_args.metrics))
230
+ unique_dimensions = list(dict.fromkeys(query_args.group_by_columns))
231
+
228
232
  ga4_metrics_list = await self.get_metrics(
229
- metrics_name_list=list(query_args.metrics),
233
+ metrics_name_list=unique_metrics,
230
234
  )
231
235
  LOGGER.info("sucessfully got metrics")
232
-
236
+
233
237
  ga4_dimensions_list = await self.get_dimensions(
234
- dimensions_name_list=list(query_args.group_by_columns),
238
+ dimensions_name_list=unique_dimensions,
235
239
  )
236
240
  LOGGER.info("sucessfully got dimensions")
237
-
241
+
238
242
  ga4_date_ranges = self.get_date_ranges(
239
243
  date_str_range_list=(
240
244
  list(query_args.date_ranges)
@@ -244,7 +248,7 @@ class GA4QueryArgsParser(CommonParser):
244
248
  format_function=format_ga4_date_ranges_default,
245
249
  )
246
250
  LOGGER.info("sucessfully got date ranges")
247
-
251
+
248
252
  ga4_order_by_list = await self.get_order_by(
249
253
  order_by_list=(
250
254
  list(query_args.order_by) if query_args.order_by is not None else None
@@ -253,17 +257,17 @@ class GA4QueryArgsParser(CommonParser):
253
257
  order_by_dimensions_candidates=list(query_args.group_by_columns),
254
258
  )
255
259
  LOGGER.info("sucessfully got order by")
256
-
260
+
257
261
  ga4_dimension_filter_list = await self.get_filter_clause(
258
262
  filter_clause=query_args.where_clause
259
263
  )
260
264
  LOGGER.info("sucessfully got dimension filter")
261
-
265
+
262
266
  ga4_metrics_filter_list = await self.get_filter_clause(
263
267
  filter_clause=query_args.having_clause
264
268
  )
265
269
  LOGGER.info("sucessfully got metrics filter")
266
-
270
+
267
271
  LOGGER.info(
268
272
  {
269
273
  "msg": "query_parts",
@@ -279,7 +283,7 @@ class GA4QueryArgsParser(CommonParser):
279
283
  "limit": query_args.limit,
280
284
  }
281
285
  )
282
-
286
+
283
287
  ga4_request = {
284
288
  "metrics": ga4_metrics_list,
285
289
  "dimensions": ga4_dimensions_list,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: findly.unified-reporting-sdk
3
- Version: 0.7.11
3
+ Version: 0.7.12
4
4
  Summary:
5
5
  License: GPL-3.0-only
6
6
  Requires-Python: >=3.9,<4.0
@@ -17,7 +17,7 @@ findly/unified_reporting_sdk/data_sources/fb_ads/metadata/fields.csv,sha256=9FQ8
17
17
  findly/unified_reporting_sdk/data_sources/fb_ads/metadata/metrics.jsonl,sha256=k46VIKAOZiuefpo-umQ7SYZnl8I5NIzP7_KITLfL974,19606
18
18
  findly/unified_reporting_sdk/data_sources/ga4/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
19
  findly/unified_reporting_sdk/data_sources/ga4/ga4_client.py,sha256=_HDaDyxecq5CRxyGi1FcGeMismxhqgg598ISMrpIvrQ,39901
20
- findly/unified_reporting_sdk/data_sources/ga4/ga4_query_args_parser.py,sha256=LKESjdiSYDdcJXO8sae1L-W8zxNU4XdMScuLq1AVCXw,30016
20
+ findly/unified_reporting_sdk/data_sources/ga4/ga4_query_args_parser.py,sha256=3UyjOGb7U494v697lSSrKZMxtm5iBYYEgirbOVbkDhc,30256
21
21
  findly/unified_reporting_sdk/data_sources/ga4/metadata/dimensions.jsonl,sha256=nSecS8Pi0ZTjsd1PlIyqAbYF56Chw2zLYRWetLkG9VQ,33511
22
22
  findly/unified_reporting_sdk/data_sources/gsc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
23
  findly/unified_reporting_sdk/data_sources/gsc/gsc_client.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -29,7 +29,7 @@ findly/unified_reporting_sdk/protos/findly_semantic_layer_pb2.pyi,sha256=jjoQm4T
29
29
  findly/unified_reporting_sdk/urs.py,sha256=-vhOFpi-M0uo_tZ_O_hTDDEGO-ATf78nqEf5JhIcaz4,2956
30
30
  findly/unified_reporting_sdk/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
31
31
  findly/unified_reporting_sdk/util/create_numeric_string_series.py,sha256=MmufpYatIhcVxA9e3H1dR1CrejXRnA8j4NNjJxfvBVA,457
32
- findly_unified_reporting_sdk-0.7.11.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
33
- findly_unified_reporting_sdk-0.7.11.dist-info/METADATA,sha256=2AId5iefHOUbOK0f20MN7HtkTc_RjSuPUNh8xOjJXUM,3212
34
- findly_unified_reporting_sdk-0.7.11.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
35
- findly_unified_reporting_sdk-0.7.11.dist-info/RECORD,,
32
+ findly_unified_reporting_sdk-0.7.12.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
33
+ findly_unified_reporting_sdk-0.7.12.dist-info/METADATA,sha256=A1mP7CEhr2UE0ziHqH6cM-lwDNckYgHeoPI6nfmN4Qs,3212
34
+ findly_unified_reporting_sdk-0.7.12.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
35
+ findly_unified_reporting_sdk-0.7.12.dist-info/RECORD,,