findly.unified-reporting-sdk 0.7.11__py3-none-any.whl → 0.7.13__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,13 +225,17 @@ 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
 
@@ -8,48 +8,35 @@ from googleapiclient.discovery import Resource
8
8
 
9
9
 
10
10
  class Sites(Protocol):
11
- def add(self) -> None:
12
- ...
11
+ def add(self) -> None: ...
13
12
 
14
- def delete(self) -> None:
15
- ...
13
+ def delete(self) -> None: ...
16
14
 
17
- def get(self) -> None:
18
- ...
15
+ def get(self) -> None: ...
19
16
 
20
- def list(self) -> HttpRequest:
21
- ...
17
+ def list(self) -> HttpRequest: ...
22
18
 
23
19
 
24
20
  class SearchAnalytics(Protocol):
25
21
  class SearchAnalyticsQueryKwargs(TypedDict):
26
22
  siteUrl: str
27
23
 
28
- def query(self, **kwargs: Unpack[SearchAnalyticsQueryKwargs]) -> HttpRequest:
29
- ...
24
+ def query(self, **kwargs: Unpack[SearchAnalyticsQueryKwargs]) -> HttpRequest: ...
30
25
 
31
- def close(self) -> None:
32
- ...
26
+ def close(self) -> None: ...
33
27
 
34
28
 
35
29
  class GscService(Protocol):
36
- def close(self) -> None:
37
- ...
30
+ def close(self) -> None: ...
38
31
 
39
- def new_batch_http_request(self) -> None:
40
- ...
32
+ def new_batch_http_request(self) -> None: ...
41
33
 
42
- def searchanalytics(self) -> SearchAnalytics:
43
- ...
34
+ def searchanalytics(self) -> SearchAnalytics: ...
44
35
 
45
- def sitemaps(self) -> None:
46
- ...
36
+ def sitemaps(self) -> None: ...
47
37
 
48
- def sites(self) -> Sites:
49
- ...
38
+ def sites(self) -> Sites: ...
50
39
 
51
- def urlInspection(self) -> None:
52
- ...
40
+ def urlInspection(self) -> None: ...
53
41
 
54
- def urlTestingTools(self) -> None:
55
- ...
42
+ def urlTestingTools(self) -> None: ...
@@ -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.13
4
4
  Summary:
5
5
  License: GPL-3.0-only
6
6
  Requires-Python: >=3.9,<4.0
@@ -13,14 +13,14 @@ Classifier: Programming Language :: Python :: 3.12
13
13
  Classifier: Programming Language :: Python :: 3.13
14
14
  Requires-Dist: aiocache (>=0.12.2,<0.13.0)
15
15
  Requires-Dist: backoff (>=2.2.1,<3.0.0)
16
- Requires-Dist: facebook-business (>=21.0.5,<22.0.0)
17
- Requires-Dist: google-analytics-admin (>=0.22.7,<0.23.0)
18
- Requires-Dist: google-analytics-data (>=0.18.8,<0.19.0)
19
- Requires-Dist: google-api-python-client (>=2.122.0,<3.0.0)
16
+ Requires-Dist: facebook-business (>=22.0.5,<23.0.0)
17
+ Requires-Dist: google-analytics-admin (>=0.24.0,<0.25.0)
18
+ Requires-Dist: google-analytics-data (>=0.18.18,<0.19.0)
19
+ Requires-Dist: google-api-python-client (>=2.169.0,<3.0.0)
20
20
  Requires-Dist: oauth2client (>=4.1.3,<5.0.0)
21
21
  Requires-Dist: pandas (>=2.2.3,<3.0.0)
22
22
  Requires-Dist: protobuf (>=4.25.3,<5.0.0)
23
- Requires-Dist: sqlglot (>=25.25.1,<26.0.0)
23
+ Requires-Dist: sqlglot (>=26.17.1,<27.0.0)
24
24
  Description-Content-Type: text/markdown
25
25
 
26
26
  # Unified Reporting SDK (URS)
@@ -17,11 +17,11 @@ 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=8ftQuPITs_6SCgLFGrUTpaUNuRuL9oUn4rXA-oBnWEM,30220
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
24
- findly/unified_reporting_sdk/data_sources/gsc/gsc_service.py,sha256=uWs9b5qNgmNaqBWml8tkTKGlE1RgXs6Hn8eNZ5fCnZg,1038
24
+ findly/unified_reporting_sdk/data_sources/gsc/gsc_service.py,sha256=C6wm38Hu-UozFll71G3b03e2hgLFiC4I5yjcuo9hB4M,934
25
25
  findly/unified_reporting_sdk/protos/.gitignore,sha256=jyvVCY11J1OlOGM-nZCWKSR1vfO6fP65lnH65qf5W20,27
26
26
  findly/unified_reporting_sdk/protos/__init__.py,sha256=sfz7Yn3hvQrnhTfoZPGTbo0F1_Fw4X494wPSZojRajA,137
27
27
  findly/unified_reporting_sdk/protos/findly_semantic_layer_pb2.py,sha256=aVZGPhrYEKN8PExrm8GzAZJI6Yzip8XxfIaDJlh4R88,6925
@@ -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.13.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
33
+ findly_unified_reporting_sdk-0.7.13.dist-info/METADATA,sha256=cVB7Zx1MT6iT4IxYmuem0whzUPn8xCHgiz032V_AuoU,3213
34
+ findly_unified_reporting_sdk-0.7.13.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
35
+ findly_unified_reporting_sdk-0.7.13.dist-info/RECORD,,