findly.unified-reporting-sdk 0.7.4__tar.gz → 0.7.6__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 (35) hide show
  1. {findly_unified_reporting_sdk-0.7.4 → findly_unified_reporting_sdk-0.7.6}/PKG-INFO +3 -2
  2. {findly_unified_reporting_sdk-0.7.4 → findly_unified_reporting_sdk-0.7.6}/findly/unified_reporting_sdk/protos/findly_semantic_layer_pb2.py +32 -32
  3. {findly_unified_reporting_sdk-0.7.4 → findly_unified_reporting_sdk-0.7.6}/findly/unified_reporting_sdk/protos/findly_semantic_layer_pb2.pyi +53 -41
  4. {findly_unified_reporting_sdk-0.7.4 → findly_unified_reporting_sdk-0.7.6}/pyproject.toml +2 -2
  5. {findly_unified_reporting_sdk-0.7.4 → findly_unified_reporting_sdk-0.7.6}/LICENSE +0 -0
  6. {findly_unified_reporting_sdk-0.7.4 → findly_unified_reporting_sdk-0.7.6}/README.md +0 -0
  7. {findly_unified_reporting_sdk-0.7.4 → findly_unified_reporting_sdk-0.7.6}/findly/__init__.py +0 -0
  8. {findly_unified_reporting_sdk-0.7.4 → findly_unified_reporting_sdk-0.7.6}/findly/unified_reporting_sdk/__init__.py +0 -0
  9. {findly_unified_reporting_sdk-0.7.4 → findly_unified_reporting_sdk-0.7.6}/findly/unified_reporting_sdk/data_sources/__init__.py +0 -0
  10. {findly_unified_reporting_sdk-0.7.4 → findly_unified_reporting_sdk-0.7.6}/findly/unified_reporting_sdk/data_sources/common/__init__.py +0 -0
  11. {findly_unified_reporting_sdk-0.7.4 → findly_unified_reporting_sdk-0.7.6}/findly/unified_reporting_sdk/data_sources/common/common_parser.py +0 -0
  12. {findly_unified_reporting_sdk-0.7.4 → findly_unified_reporting_sdk-0.7.6}/findly/unified_reporting_sdk/data_sources/common/date_range_helper.py +0 -0
  13. {findly_unified_reporting_sdk-0.7.4 → findly_unified_reporting_sdk-0.7.6}/findly/unified_reporting_sdk/data_sources/common/entities.py +0 -0
  14. {findly_unified_reporting_sdk-0.7.4 → findly_unified_reporting_sdk-0.7.6}/findly/unified_reporting_sdk/data_sources/common/reports_client.py +0 -0
  15. {findly_unified_reporting_sdk-0.7.4 → findly_unified_reporting_sdk-0.7.6}/findly/unified_reporting_sdk/data_sources/common/where_string_comparison.py +0 -0
  16. {findly_unified_reporting_sdk-0.7.4 → findly_unified_reporting_sdk-0.7.6}/findly/unified_reporting_sdk/data_sources/fb_ads/__init__.py +0 -0
  17. {findly_unified_reporting_sdk-0.7.4 → findly_unified_reporting_sdk-0.7.6}/findly/unified_reporting_sdk/data_sources/fb_ads/fb_ads_client.py +0 -0
  18. {findly_unified_reporting_sdk-0.7.4 → findly_unified_reporting_sdk-0.7.6}/findly/unified_reporting_sdk/data_sources/fb_ads/fb_ads_query_args_parser.py +0 -0
  19. {findly_unified_reporting_sdk-0.7.4 → findly_unified_reporting_sdk-0.7.6}/findly/unified_reporting_sdk/data_sources/fb_ads/metadata/action_breakdowns.csv +0 -0
  20. {findly_unified_reporting_sdk-0.7.4 → findly_unified_reporting_sdk-0.7.6}/findly/unified_reporting_sdk/data_sources/fb_ads/metadata/breakdowns.csv +0 -0
  21. {findly_unified_reporting_sdk-0.7.4 → findly_unified_reporting_sdk-0.7.6}/findly/unified_reporting_sdk/data_sources/fb_ads/metadata/dimensions.jsonl +0 -0
  22. {findly_unified_reporting_sdk-0.7.4 → findly_unified_reporting_sdk-0.7.6}/findly/unified_reporting_sdk/data_sources/fb_ads/metadata/fields.csv +0 -0
  23. {findly_unified_reporting_sdk-0.7.4 → findly_unified_reporting_sdk-0.7.6}/findly/unified_reporting_sdk/data_sources/fb_ads/metadata/metrics.jsonl +0 -0
  24. {findly_unified_reporting_sdk-0.7.4 → findly_unified_reporting_sdk-0.7.6}/findly/unified_reporting_sdk/data_sources/ga4/__init__.py +0 -0
  25. {findly_unified_reporting_sdk-0.7.4 → findly_unified_reporting_sdk-0.7.6}/findly/unified_reporting_sdk/data_sources/ga4/ga4_client.py +0 -0
  26. {findly_unified_reporting_sdk-0.7.4 → findly_unified_reporting_sdk-0.7.6}/findly/unified_reporting_sdk/data_sources/ga4/ga4_query_args_parser.py +0 -0
  27. {findly_unified_reporting_sdk-0.7.4 → findly_unified_reporting_sdk-0.7.6}/findly/unified_reporting_sdk/data_sources/ga4/metadata/dimensions.jsonl +0 -0
  28. {findly_unified_reporting_sdk-0.7.4 → findly_unified_reporting_sdk-0.7.6}/findly/unified_reporting_sdk/data_sources/gsc/__init__.py +0 -0
  29. {findly_unified_reporting_sdk-0.7.4 → findly_unified_reporting_sdk-0.7.6}/findly/unified_reporting_sdk/data_sources/gsc/gsc_client.py +0 -0
  30. {findly_unified_reporting_sdk-0.7.4 → findly_unified_reporting_sdk-0.7.6}/findly/unified_reporting_sdk/data_sources/gsc/gsc_service.py +0 -0
  31. {findly_unified_reporting_sdk-0.7.4 → findly_unified_reporting_sdk-0.7.6}/findly/unified_reporting_sdk/protos/.gitignore +0 -0
  32. {findly_unified_reporting_sdk-0.7.4 → findly_unified_reporting_sdk-0.7.6}/findly/unified_reporting_sdk/protos/__init__.py +0 -0
  33. {findly_unified_reporting_sdk-0.7.4 → findly_unified_reporting_sdk-0.7.6}/findly/unified_reporting_sdk/urs.py +0 -0
  34. {findly_unified_reporting_sdk-0.7.4 → findly_unified_reporting_sdk-0.7.6}/findly/unified_reporting_sdk/util/__init__.py +0 -0
  35. {findly_unified_reporting_sdk-0.7.4 → findly_unified_reporting_sdk-0.7.6}/findly/unified_reporting_sdk/util/create_numeric_string_series.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: findly.unified-reporting-sdk
3
- Version: 0.7.4
3
+ Version: 0.7.6
4
4
  Summary:
5
5
  License: GPL-3.0-only
6
6
  Requires-Python: >=3.9,<4.0
@@ -10,9 +10,10 @@ Classifier: Programming Language :: Python :: 3.9
10
10
  Classifier: Programming Language :: Python :: 3.10
11
11
  Classifier: Programming Language :: Python :: 3.11
12
12
  Classifier: Programming Language :: Python :: 3.12
13
+ Classifier: Programming Language :: Python :: 3.13
13
14
  Requires-Dist: aiocache (>=0.12.2,<0.13.0)
14
15
  Requires-Dist: backoff (>=2.2.1,<3.0.0)
15
- Requires-Dist: facebook-business (>=19.0.0,<20.0.0)
16
+ Requires-Dist: facebook-business (>=21.0.5,<22.0.0)
16
17
  Requires-Dist: google-analytics-admin (>=0.22.7,<0.23.0)
17
18
  Requires-Dist: google-analytics-data (>=0.18.8,<0.19.0)
18
19
  Requires-Dist: google-api-python-client (>=2.122.0,<3.0.0)
@@ -2,10 +2,10 @@
2
2
  # Generated by the protocol buffer compiler. DO NOT EDIT!
3
3
  # source: findly_semantic_layer.proto
4
4
  """Generated protocol buffer code."""
5
+ from google.protobuf.internal import builder as _builder
5
6
  from google.protobuf import descriptor as _descriptor
6
7
  from google.protobuf import descriptor_pool as _descriptor_pool
7
8
  from google.protobuf import symbol_database as _symbol_database
8
- from google.protobuf.internal import builder as _builder
9
9
  # @@protoc_insertion_point(imports)
10
10
 
11
11
  _sym_db = _symbol_database.Default()
@@ -15,37 +15,37 @@ _sym_db = _symbol_database.Default()
15
15
 
16
16
  DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1b\x66indly_semantic_layer.proto\x12\x15\x66indly_semantic_layer\"\xd4\x02\n\tDimension\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x0c\n\x04\x65xpr\x18\x03 \x01(\t\x12\x32\n\x04type\x18\x04 \x01(\x0e\x32$.findly_semantic_layer.DimensionType\x12?\n\x0btype_params\x18\x05 \x01(\x0b\x32*.findly_semantic_layer.DimensionTypeParams\x12\x14\n\x0ctop_n_values\x18\x06 \x03(\t\x12\x16\n\nvalue_type\x18\x07 \x01(\tB\x02\x18\x01\x12\x19\n\x11\x64\x61ta_source_names\x18\x08 \x03(\t\x12\x14\n\x0c\x64isplay_name\x18\t \x01(\t\x12\x42\n\x0fvalue_type_enum\x18\n \x01(\x0e\x32).findly_semantic_layer.DimensionValueType\"k\n\x13\x44imensionTypeParams\x12@\n\x10time_granularity\x18\x01 \x01(\x0e\x32&.findly_semantic_layer.DateGranularity\x12\x12\n\nis_primary\x18\x02 \x01(\x08\"\x8b\x03\n\x06Metric\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x12\n\nexpression\x18\x04 \x01(\t\x12\x18\n\x10view_id_of_table\x18\x05 \x01(\t\x12\x12\n\ntable_name\x18\x06 \x01(\t\x12\x10\n\x08measures\x18\x07 \x03(\t\x12\x11\n\tnumerator\x18\x08 \x01(\t\x12\x13\n\x0b\x64\x65nominator\x18\t \x01(\t\x12/\n\x04type\x18\n \x01(\x0e\x32!.findly_semantic_layer.MetricType\x12\x10\n\x06window\x18\x0b \x01(\tH\x00\x12\x17\n\rgrain_to_date\x18\x0c \x01(\tH\x00\x12:\n\nvalue_type\x18\r \x01(\x0e\x32&.findly_semantic_layer.MetricValueType\x12\x14\n\x0c\x64isplay_name\x18\x0e \x01(\t\x12\x12\n\nis_numeric\x18\x0f \x01(\x08\x42\x14\n\x12\x63umulative_process\"4\n\x0c\x44\x61teStrRange\x12\x12\n\nstart_date\x18\x01 \x01(\t\x12\x10\n\x08\x65nd_date\x18\x02 \x01(\t\"\x93\x03\n\tQueryArgs\x12\x14\n\x0cwhere_clause\x18\x01 \x01(\t\x12\x18\n\x10group_by_columns\x18\x02 \x03(\t\x12\x1a\n\x12metrics_expression\x18\x03 \x03(\t\x12\r\n\x05limit\x18\x04 \x01(\t\x12\x10\n\x08order_by\x18\x05 \x03(\t\x12\x19\n\x11\x64\x61te_where_clause\x18\x06 \x01(\t\x12\x0f\n\x07metrics\x18\x07 \x03(\t\x12\x15\n\rhaving_clause\x18\x08 \x01(\t\x12\x1c\n\x14incompatible_metrics\x18\t \x03(\t\x12\x1f\n\x17incompatible_dimensions\x18\n \x03(\t\x12\x38\n\x0b\x64\x61te_ranges\x18\x0b \x03(\x0b\x32#.findly_semantic_layer.DateStrRange\x12\x17\n\x0fsql_explanation\x18\x0c \x01(\t\x12\r\n\x05level\x18\r \x01(\t\x12\x16\n\x0etime_increment\x18\x0e \x01(\t\x12\x1d\n\x15main_data_source_name\x18\x0f \x01(\t\"\x80\x01\n\x12\x44\x61tasourceMetadata\x12>\n\x08location\x18\x01 \x01(\x0e\x32,.findly_semantic_layer.DataSourceIntegration\x12\x13\n\x0bproperty_id\x18\x02 \x01(\t\x12\x15\n\rproperty_name\x18\x03 \x01(\t*b\n\x15\x44\x61taSourceIntegration\x12 \n\x1c\x44\x41TA_SOURCE_LOCATION_UNKNOWN\x10\x00\x12\x12\n\x0eSEMANTIC_LAYER\x10\x01\x12\x07\n\x03GA4\x10\x02\x12\n\n\x06\x46\x42_ADS\x10\x03*S\n\x0f\x44\x61teGranularity\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x07\n\x03\x44\x41Y\x10\x01\x12\x08\n\x04WEEK\x10\x02\x12\t\n\x05MONTH\x10\x03\x12\x0b\n\x07QUARTER\x10\x04\x12\x08\n\x04YEAR\x10\x05*\x7f\n\x0b\x41ggregation\x12\x17\n\x13\x41GGREGATION_UNKNOWN\x10\x00\x12\x07\n\x03SUM\x10\x01\x12\x0f\n\x0bSUM_BOOLEAN\x10\x02\x12\x12\n\x0e\x43OUNT_DISTINCT\x10\x03\x12\x07\n\x03MIN\x10\x04\x12\x07\n\x03MAX\x10\x05\x12\x0b\n\x07\x41VERAGE\x10\x06\x12\n\n\x06MEDIAN\x10\x07*\xab\x01\n\rDimensionType\x12\x15\n\x11\x44IMENSION_UNKNOWN\x10\x00\x12\x0f\n\x0b\x43\x41TEGORICAL\x10\x01\x12\x08\n\x04TIME\x10\x02\x12\x10\n\x0c\x46\x42_ADS_FIELD\x10\x03\x12\x14\n\x10\x46\x42_ADS_BREAKDOWN\x10\x04\x12\x1b\n\x17\x46\x42_ADS_ACTION_BREAKDOWN\x10\x05\x12#\n\x1f\x46\x42_ADS_SUMMARY_ACTION_BREAKDOWN\x10\x06*\x84\x01\n\x12\x44imensionValueType\x12\x16\n\x12VALUE_TYPE_UNKNOWN\x10\x00\x12\n\n\x06STRING\x10\x01\x12\x0b\n\x07INTEGER\x10\x02\x12\t\n\x05\x46LOAT\x10\x03\x12\x0b\n\x07\x42OOLEAN\x10\x04\x12\x08\n\x04\x44\x41TE\x10\x05\x12\x0c\n\x08\x44\x41TETIME\x10\x06\x12\r\n\tTIMESTAMP\x10\x07*o\n\nMetricType\x12\x12\n\x0eMETRIC_UNKNOWN\x10\x00\x12\x11\n\rMEASURE_PROXY\x10\x01\x12\x0e\n\nCUMULATIVE\x10\x02\x12\t\n\x05RATIO\x10\x03\x12\x0b\n\x07\x44\x45RIVED\x10\x04\x12\x12\n\x0eSQL_EXPRESSION\x10\x05*\xf9\x04\n\x0fMetricValueType\x12\x1d\n\x19METRIC_VALUE_TYPE_UNKNOWN\x10\x00\x12\x1d\n\x19METRIC_VALUE_TYPE_INTEGER\x10\x01\x12\x1b\n\x17METRIC_VALUE_TYPE_FLOAT\x10\x02\x12\x1d\n\x19METRIC_VALUE_TYPE_SECONDS\x10\x03\x12\"\n\x1eMETRIC_VALUE_TYPE_MILLISECONDS\x10\x04\x12\x1d\n\x19METRIC_VALUE_TYPE_MINUTES\x10\x05\x12\x1b\n\x17METRIC_VALUE_TYPE_HOURS\x10\x06\x12\x1e\n\x1aMETRIC_VALUE_TYPE_STANDARD\x10\x07\x12\x1e\n\x1aMETRIC_VALUE_TYPE_CURRENCY\x10\x08\x12\x1a\n\x16METRIC_VALUE_TYPE_FEET\x10\t\x12\x1b\n\x17METRIC_VALUE_TYPE_MILES\x10\n\x12\x1c\n\x18METRIC_VALUE_TYPE_METERS\x10\x0b\x12 \n\x1cMETRIC_VALUE_TYPE_KILOMETERS\x10\x0c\x12\x1c\n\x18METRIC_VALUE_TYPE_STRING\x10\r\x12$\n METRIC_VALUE_TYPE_NUMERIC_STRING\x10\x0e\x12+\n\'METRIC_VALUE_TYPE_LIST_ADS_ACTION_STATS\x10\x0f\x12\x32\n.METRIC_VALUE_TYPE_LIST_ADS_INSIGHTS_DDA_RESULT\x10\x10\x12.\n*METRIC_VALUE_TYPE_LIST_ADS_HISTOGRAM_STATS\x10\x11\x62\x06proto3')
17
17
 
18
- _globals = globals()
19
- _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
20
- _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'findly_semantic_layer_pb2', _globals)
18
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
19
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'findly_semantic_layer_pb2', globals())
21
20
  if _descriptor._USE_C_DESCRIPTORS == False:
21
+
22
22
  DESCRIPTOR._options = None
23
- _globals['_DIMENSION'].fields_by_name['value_type']._options = None
24
- _globals['_DIMENSION'].fields_by_name['value_type']._serialized_options = b'\030\001'
25
- _globals['_DATASOURCEINTEGRATION']._serialized_start=1495
26
- _globals['_DATASOURCEINTEGRATION']._serialized_end=1593
27
- _globals['_DATEGRANULARITY']._serialized_start=1595
28
- _globals['_DATEGRANULARITY']._serialized_end=1678
29
- _globals['_AGGREGATION']._serialized_start=1680
30
- _globals['_AGGREGATION']._serialized_end=1807
31
- _globals['_DIMENSIONTYPE']._serialized_start=1810
32
- _globals['_DIMENSIONTYPE']._serialized_end=1981
33
- _globals['_DIMENSIONVALUETYPE']._serialized_start=1984
34
- _globals['_DIMENSIONVALUETYPE']._serialized_end=2116
35
- _globals['_METRICTYPE']._serialized_start=2118
36
- _globals['_METRICTYPE']._serialized_end=2229
37
- _globals['_METRICVALUETYPE']._serialized_start=2232
38
- _globals['_METRICVALUETYPE']._serialized_end=2865
39
- _globals['_DIMENSION']._serialized_start=55
40
- _globals['_DIMENSION']._serialized_end=395
41
- _globals['_DIMENSIONTYPEPARAMS']._serialized_start=397
42
- _globals['_DIMENSIONTYPEPARAMS']._serialized_end=504
43
- _globals['_METRIC']._serialized_start=507
44
- _globals['_METRIC']._serialized_end=902
45
- _globals['_DATESTRRANGE']._serialized_start=904
46
- _globals['_DATESTRRANGE']._serialized_end=956
47
- _globals['_QUERYARGS']._serialized_start=959
48
- _globals['_QUERYARGS']._serialized_end=1362
49
- _globals['_DATASOURCEMETADATA']._serialized_start=1365
50
- _globals['_DATASOURCEMETADATA']._serialized_end=1493
23
+ _DIMENSION.fields_by_name['value_type']._options = None
24
+ _DIMENSION.fields_by_name['value_type']._serialized_options = b'\030\001'
25
+ _DATASOURCEINTEGRATION._serialized_start=1495
26
+ _DATASOURCEINTEGRATION._serialized_end=1593
27
+ _DATEGRANULARITY._serialized_start=1595
28
+ _DATEGRANULARITY._serialized_end=1678
29
+ _AGGREGATION._serialized_start=1680
30
+ _AGGREGATION._serialized_end=1807
31
+ _DIMENSIONTYPE._serialized_start=1810
32
+ _DIMENSIONTYPE._serialized_end=1981
33
+ _DIMENSIONVALUETYPE._serialized_start=1984
34
+ _DIMENSIONVALUETYPE._serialized_end=2116
35
+ _METRICTYPE._serialized_start=2118
36
+ _METRICTYPE._serialized_end=2229
37
+ _METRICVALUETYPE._serialized_start=2232
38
+ _METRICVALUETYPE._serialized_end=2865
39
+ _DIMENSION._serialized_start=55
40
+ _DIMENSION._serialized_end=395
41
+ _DIMENSIONTYPEPARAMS._serialized_start=397
42
+ _DIMENSIONTYPEPARAMS._serialized_end=504
43
+ _METRIC._serialized_start=507
44
+ _METRIC._serialized_end=902
45
+ _DATESTRRANGE._serialized_start=904
46
+ _DATESTRRANGE._serialized_end=956
47
+ _QUERYARGS._serialized_start=959
48
+ _QUERYARGS._serialized_end=1362
49
+ _DATASOURCEMETADATA._serialized_start=1365
50
+ _DATASOURCEMETADATA._serialized_end=1493
51
51
  # @@protoc_insertion_point(module_scope)
@@ -2,6 +2,7 @@
2
2
  @generated by mypy-protobuf. Do not edit manually!
3
3
  isort:skip_file
4
4
  """
5
+
5
6
  import builtins
6
7
  import collections.abc
7
8
  import google.protobuf.descriptor
@@ -286,7 +287,7 @@ METRIC_VALUE_TYPE_LIST_ADS_INSIGHTS_DDA_RESULT: MetricValueType.ValueType # 16
286
287
  METRIC_VALUE_TYPE_LIST_ADS_HISTOGRAM_STATS: MetricValueType.ValueType # 17
287
288
  global___MetricValueType = MetricValueType
288
289
 
289
- @typing_extensions.final
290
+ @typing.final
290
291
  class Dimension(google.protobuf.message.Message):
291
292
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
292
293
 
@@ -312,22 +313,25 @@ class Dimension(google.protobuf.message.Message):
312
313
  """
313
314
  type: global___DimensionType.ValueType
314
315
  """The type of the dimension, e.g. CATEGORICAL or TIME."""
316
+ value_type: builtins.str
317
+ """The type of the values of the dimension, e.g. STRING, INTEGER, FLOAT, etc.
318
+ Prefer to use the value_type_enum field
319
+ """
320
+ display_name: builtins.str
321
+ """The display name."""
322
+ value_type_enum: global___DimensionValueType.ValueType
315
323
  @property
316
324
  def type_params(self) -> global___DimensionTypeParams:
317
325
  """The parameters of the dimension type."""
326
+
318
327
  @property
319
328
  def top_n_values(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
320
329
  """The top n values of the dimension."""
321
- value_type: builtins.str
322
- """The type of the values of the dimension, e.g. STRING, INTEGER, FLOAT, etc.
323
- Prefer to use the value_type_enum field
324
- """
330
+
325
331
  @property
326
332
  def data_source_names(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
327
333
  """The data source names that the dimension is available in."""
328
- display_name: builtins.str
329
- """The display name."""
330
- value_type_enum: global___DimensionValueType.ValueType
334
+
331
335
  def __init__(
332
336
  self,
333
337
  *,
@@ -342,12 +346,12 @@ class Dimension(google.protobuf.message.Message):
342
346
  display_name: builtins.str = ...,
343
347
  value_type_enum: global___DimensionValueType.ValueType = ...,
344
348
  ) -> None: ...
345
- def HasField(self, field_name: typing_extensions.Literal["type_params", b"type_params"]) -> builtins.bool: ...
346
- def ClearField(self, field_name: typing_extensions.Literal["data_source_names", b"data_source_names", "description", b"description", "display_name", b"display_name", "expr", b"expr", "name", b"name", "top_n_values", b"top_n_values", "type", b"type", "type_params", b"type_params", "value_type", b"value_type", "value_type_enum", b"value_type_enum"]) -> None: ...
349
+ def HasField(self, field_name: typing.Literal["type_params", b"type_params"]) -> builtins.bool: ...
350
+ def ClearField(self, field_name: typing.Literal["data_source_names", b"data_source_names", "description", b"description", "display_name", b"display_name", "expr", b"expr", "name", b"name", "top_n_values", b"top_n_values", "type", b"type", "type_params", b"type_params", "value_type", b"value_type", "value_type_enum", b"value_type_enum"]) -> None: ...
347
351
 
348
352
  global___Dimension = Dimension
349
353
 
350
- @typing_extensions.final
354
+ @typing.final
351
355
  class DimensionTypeParams(google.protobuf.message.Message):
352
356
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
353
357
 
@@ -365,11 +369,11 @@ class DimensionTypeParams(google.protobuf.message.Message):
365
369
  time_granularity: global___DateGranularity.ValueType = ...,
366
370
  is_primary: builtins.bool = ...,
367
371
  ) -> None: ...
368
- def ClearField(self, field_name: typing_extensions.Literal["is_primary", b"is_primary", "time_granularity", b"time_granularity"]) -> None: ...
372
+ def ClearField(self, field_name: typing.Literal["is_primary", b"is_primary", "time_granularity", b"time_granularity"]) -> None: ...
369
373
 
370
374
  global___DimensionTypeParams = DimensionTypeParams
371
375
 
372
- @typing_extensions.final
376
+ @typing.final
373
377
  class Metric(google.protobuf.message.Message):
374
378
  """Parameters that are associated with metrics include:
375
379
 
@@ -415,13 +419,6 @@ class Metric(google.protobuf.message.Message):
415
419
  """The id of the table view that the metric is defined on."""
416
420
  table_name: builtins.str
417
421
  """The name of the table view that the metric is defined on."""
418
- @property
419
- def measures(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
420
- """The measures of the metric.
421
- If type is MEASURE_PROXY, then this should be a list of exactly one measure.
422
- It should be included only measures that are defined in a data source.
423
- Two metrics of type MEASURE_PROXY cannot refer to the same measure.
424
- """
425
422
  numerator: builtins.str
426
423
  """Numerator and denominator are only used if type is RATIO. Don't use identifiers as numerator or denominator.
427
424
  It should be included only measures that are defined in a data source.
@@ -446,6 +443,14 @@ class Metric(google.protobuf.message.Message):
446
443
  display_name: builtins.str
447
444
  is_numeric: builtins.bool
448
445
  """If the metric is numeric or not."""
446
+ @property
447
+ def measures(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
448
+ """The measures of the metric.
449
+ If type is MEASURE_PROXY, then this should be a list of exactly one measure.
450
+ It should be included only measures that are defined in a data source.
451
+ Two metrics of type MEASURE_PROXY cannot refer to the same measure.
452
+ """
453
+
449
454
  def __init__(
450
455
  self,
451
456
  *,
@@ -465,13 +470,13 @@ class Metric(google.protobuf.message.Message):
465
470
  display_name: builtins.str = ...,
466
471
  is_numeric: builtins.bool = ...,
467
472
  ) -> None: ...
468
- def HasField(self, field_name: typing_extensions.Literal["cumulative_process", b"cumulative_process", "grain_to_date", b"grain_to_date", "window", b"window"]) -> builtins.bool: ...
469
- def ClearField(self, field_name: typing_extensions.Literal["cumulative_process", b"cumulative_process", "denominator", b"denominator", "description", b"description", "display_name", b"display_name", "expression", b"expression", "grain_to_date", b"grain_to_date", "id", b"id", "is_numeric", b"is_numeric", "measures", b"measures", "name", b"name", "numerator", b"numerator", "table_name", b"table_name", "type", b"type", "value_type", b"value_type", "view_id_of_table", b"view_id_of_table", "window", b"window"]) -> None: ...
470
- def WhichOneof(self, oneof_group: typing_extensions.Literal["cumulative_process", b"cumulative_process"]) -> typing_extensions.Literal["window", "grain_to_date"] | None: ...
473
+ def HasField(self, field_name: typing.Literal["cumulative_process", b"cumulative_process", "grain_to_date", b"grain_to_date", "window", b"window"]) -> builtins.bool: ...
474
+ def ClearField(self, field_name: typing.Literal["cumulative_process", b"cumulative_process", "denominator", b"denominator", "description", b"description", "display_name", b"display_name", "expression", b"expression", "grain_to_date", b"grain_to_date", "id", b"id", "is_numeric", b"is_numeric", "measures", b"measures", "name", b"name", "numerator", b"numerator", "table_name", b"table_name", "type", b"type", "value_type", b"value_type", "view_id_of_table", b"view_id_of_table", "window", b"window"]) -> None: ...
475
+ def WhichOneof(self, oneof_group: typing.Literal["cumulative_process", b"cumulative_process"]) -> typing.Literal["window", "grain_to_date"] | None: ...
471
476
 
472
477
  global___Metric = Metric
473
478
 
474
- @typing_extensions.final
479
+ @typing.final
475
480
  class DateStrRange(google.protobuf.message.Message):
476
481
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
477
482
 
@@ -487,11 +492,11 @@ class DateStrRange(google.protobuf.message.Message):
487
492
  start_date: builtins.str = ...,
488
493
  end_date: builtins.str = ...,
489
494
  ) -> None: ...
490
- def ClearField(self, field_name: typing_extensions.Literal["end_date", b"end_date", "start_date", b"start_date"]) -> None: ...
495
+ def ClearField(self, field_name: typing.Literal["end_date", b"end_date", "start_date", b"start_date"]) -> None: ...
491
496
 
492
497
  global___DateStrRange = DateStrRange
493
498
 
494
- @typing_extensions.final
499
+ @typing.final
495
500
  class QueryArgs(google.protobuf.message.Message):
496
501
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
497
502
 
@@ -512,39 +517,46 @@ class QueryArgs(google.protobuf.message.Message):
512
517
  MAIN_DATA_SOURCE_NAME_FIELD_NUMBER: builtins.int
513
518
  where_clause: builtins.str
514
519
  """This is the where clause of the generated sql."""
520
+ limit: builtins.str
521
+ """This is the LIMIT clause of the generated sql."""
522
+ date_where_clause: builtins.str
523
+ having_clause: builtins.str
524
+ sql_explanation: builtins.str
525
+ """The explanation of the generated sql."""
526
+ level: builtins.str
527
+ """level and time_increment are important info for Facebook Ads insights
528
+ https://developers.facebook.com/docs/marketing-api/reference/ad-account/insights/
529
+ """
530
+ time_increment: builtins.str
531
+ main_data_source_name: builtins.str
515
532
  @property
516
533
  def group_by_columns(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
517
534
  """This is the group by clause of the generated sql."""
535
+
518
536
  @property
519
537
  def metrics_expression(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
520
538
  """This is the metric expression of the generated sql."""
521
- limit: builtins.str
522
- """This is the LIMIT clause of the generated sql."""
539
+
523
540
  @property
524
541
  def order_by(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
525
542
  """Column names for ordering. Descending order is indicated by a prepended '-'."""
526
- date_where_clause: builtins.str
543
+
527
544
  @property
528
545
  def metrics(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
529
546
  """The name of the metrics to be queried."""
530
- having_clause: builtins.str
547
+
531
548
  @property
532
549
  def incompatible_metrics(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
533
550
  """The list of metrics selected by the pipeline, but are incompatible for the request."""
551
+
534
552
  @property
535
553
  def incompatible_dimensions(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
536
554
  """The list of dimensions selected by the pipeline, but are incompatible for the request."""
555
+
537
556
  @property
538
557
  def date_ranges(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DateStrRange]:
539
558
  """The date ranges to be queried."""
540
- sql_explanation: builtins.str
541
- """The explanation of the generated sql."""
542
- level: builtins.str
543
- """level and time_increment are important info for Facebook Ads insights
544
- https://developers.facebook.com/docs/marketing-api/reference/ad-account/insights/
545
- """
546
- time_increment: builtins.str
547
- main_data_source_name: builtins.str
559
+
548
560
  def __init__(
549
561
  self,
550
562
  *,
@@ -564,11 +576,11 @@ class QueryArgs(google.protobuf.message.Message):
564
576
  time_increment: builtins.str = ...,
565
577
  main_data_source_name: builtins.str = ...,
566
578
  ) -> None: ...
567
- def ClearField(self, field_name: typing_extensions.Literal["date_ranges", b"date_ranges", "date_where_clause", b"date_where_clause", "group_by_columns", b"group_by_columns", "having_clause", b"having_clause", "incompatible_dimensions", b"incompatible_dimensions", "incompatible_metrics", b"incompatible_metrics", "level", b"level", "limit", b"limit", "main_data_source_name", b"main_data_source_name", "metrics", b"metrics", "metrics_expression", b"metrics_expression", "order_by", b"order_by", "sql_explanation", b"sql_explanation", "time_increment", b"time_increment", "where_clause", b"where_clause"]) -> None: ...
579
+ def ClearField(self, field_name: typing.Literal["date_ranges", b"date_ranges", "date_where_clause", b"date_where_clause", "group_by_columns", b"group_by_columns", "having_clause", b"having_clause", "incompatible_dimensions", b"incompatible_dimensions", "incompatible_metrics", b"incompatible_metrics", "level", b"level", "limit", b"limit", "main_data_source_name", b"main_data_source_name", "metrics", b"metrics", "metrics_expression", b"metrics_expression", "order_by", b"order_by", "sql_explanation", b"sql_explanation", "time_increment", b"time_increment", "where_clause", b"where_clause"]) -> None: ...
568
580
 
569
581
  global___QueryArgs = QueryArgs
570
582
 
571
- @typing_extensions.final
583
+ @typing.final
572
584
  class DatasourceMetadata(google.protobuf.message.Message):
573
585
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
574
586
 
@@ -585,6 +597,6 @@ class DatasourceMetadata(google.protobuf.message.Message):
585
597
  property_id: builtins.str = ...,
586
598
  property_name: builtins.str = ...,
587
599
  ) -> None: ...
588
- def ClearField(self, field_name: typing_extensions.Literal["location", b"location", "property_id", b"property_id", "property_name", b"property_name"]) -> None: ...
600
+ def ClearField(self, field_name: typing.Literal["location", b"location", "property_id", b"property_id", "property_name", b"property_name"]) -> None: ...
589
601
 
590
602
  global___DatasourceMetadata = DatasourceMetadata
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "findly.unified-reporting-sdk"
3
- version = "0.7.4"
3
+ version = "0.7.6"
4
4
  license = "GPL-3.0-only"
5
5
  description = ""
6
6
  authors = []
@@ -18,7 +18,7 @@ pandas = "^2.2.3"
18
18
  protobuf = "^4.25.3"
19
19
  backoff = "^2.2.1"
20
20
  aiocache = "^0.12.2"
21
- facebook-business = "^19.0.0"
21
+ facebook-business = "^21.0.5"
22
22
  sqlglot = "^25.25.1"
23
23
  google-analytics-admin = "^0.22.7"
24
24
  google-analytics-data = "^0.18.8"