findly.unified-reporting-sdk 0.7.3__py3-none-any.whl → 0.7.5__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: findly.unified-reporting-sdk
3
- Version: 0.7.3
3
+ Version: 0.7.5
4
4
  Summary:
5
5
  License: GPL-3.0-only
6
6
  Requires-Python: >=3.9,<4.0
@@ -10,16 +10,17 @@ 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)
19
20
  Requires-Dist: oauth2client (>=4.1.3,<5.0.0)
20
- Requires-Dist: pandas (>=2.2.2,<3.0.0)
21
+ Requires-Dist: pandas (>=2.2.3,<3.0.0)
21
22
  Requires-Dist: protobuf (>=4.25.3,<5.0.0)
22
- Requires-Dist: sqlglot (>=25.5.1,<26.0.0)
23
+ Requires-Dist: sqlglot (>=25.25.1,<26.0.0)
23
24
  Description-Content-Type: text/markdown
24
25
 
25
26
  # Unified Reporting SDK (URS)
@@ -24,12 +24,10 @@ findly/unified_reporting_sdk/data_sources/gsc/gsc_client.py,sha256=47DEQpj8HBSa-
24
24
  findly/unified_reporting_sdk/data_sources/gsc/gsc_service.py,sha256=uWs9b5qNgmNaqBWml8tkTKGlE1RgXs6Hn8eNZ5fCnZg,1038
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
- findly/unified_reporting_sdk/protos/findly_semantic_layer_pb2.py,sha256=SaY46pOt8sDiVWrpY_f0uDwfgm_OPcHUkCdetnbPnUw,7279
28
- findly/unified_reporting_sdk/protos/findly_semantic_layer_pb2.pyi,sha256=TcN6K6gaR8RxdIvpxjUi_iQYHl4WLV23dDgTIjKbDQo,31207
29
27
  findly/unified_reporting_sdk/urs.py,sha256=-vhOFpi-M0uo_tZ_O_hTDDEGO-ATf78nqEf5JhIcaz4,2956
30
28
  findly/unified_reporting_sdk/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
31
29
  findly/unified_reporting_sdk/util/create_numeric_string_series.py,sha256=MmufpYatIhcVxA9e3H1dR1CrejXRnA8j4NNjJxfvBVA,457
32
- findly_unified_reporting_sdk-0.7.3.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
33
- findly_unified_reporting_sdk-0.7.3.dist-info/METADATA,sha256=J0OHO7oMy0LiY6H3Ay0F2eHBnevGr26LI7veuz1tbzU,3159
34
- findly_unified_reporting_sdk-0.7.3.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
35
- findly_unified_reporting_sdk-0.7.3.dist-info/RECORD,,
30
+ findly_unified_reporting_sdk-0.7.5.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
31
+ findly_unified_reporting_sdk-0.7.5.dist-info/METADATA,sha256=h9R_TE55z2gK-f5bA9bFKl1DOIOZsv95IzpBzZEnjto,3211
32
+ findly_unified_reporting_sdk-0.7.5.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
33
+ findly_unified_reporting_sdk-0.7.5.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 1.9.0
2
+ Generator: poetry-core 1.9.1
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
@@ -1,51 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- # Generated by the protocol buffer compiler. DO NOT EDIT!
3
- # source: findly_semantic_layer.proto
4
- """Generated protocol buffer code."""
5
- from google.protobuf import descriptor as _descriptor
6
- from google.protobuf import descriptor_pool as _descriptor_pool
7
- from google.protobuf import symbol_database as _symbol_database
8
- from google.protobuf.internal import builder as _builder
9
- # @@protoc_insertion_point(imports)
10
-
11
- _sym_db = _symbol_database.Default()
12
-
13
-
14
-
15
-
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
-
18
- _globals = globals()
19
- _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
20
- _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'findly_semantic_layer_pb2', _globals)
21
- if _descriptor._USE_C_DESCRIPTORS == False:
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
51
- # @@protoc_insertion_point(module_scope)
@@ -1,590 +0,0 @@
1
- """
2
- @generated by mypy-protobuf. Do not edit manually!
3
- isort:skip_file
4
- """
5
- import builtins
6
- import collections.abc
7
- import google.protobuf.descriptor
8
- import google.protobuf.internal.containers
9
- import google.protobuf.internal.enum_type_wrapper
10
- import google.protobuf.message
11
- import sys
12
- import typing
13
-
14
- if sys.version_info >= (3, 10):
15
- import typing as typing_extensions
16
- else:
17
- import typing_extensions
18
-
19
- DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
20
-
21
- class _DataSourceIntegration:
22
- ValueType = typing.NewType("ValueType", builtins.int)
23
- V: typing_extensions.TypeAlias = ValueType
24
-
25
- class _DataSourceIntegrationEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_DataSourceIntegration.ValueType], builtins.type):
26
- DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
27
- DATA_SOURCE_LOCATION_UNKNOWN: _DataSourceIntegration.ValueType # 0
28
- SEMANTIC_LAYER: _DataSourceIntegration.ValueType # 1
29
- GA4: _DataSourceIntegration.ValueType # 2
30
- FB_ADS: _DataSourceIntegration.ValueType # 3
31
-
32
- class DataSourceIntegration(_DataSourceIntegration, metaclass=_DataSourceIntegrationEnumTypeWrapper): ...
33
-
34
- DATA_SOURCE_LOCATION_UNKNOWN: DataSourceIntegration.ValueType # 0
35
- SEMANTIC_LAYER: DataSourceIntegration.ValueType # 1
36
- GA4: DataSourceIntegration.ValueType # 2
37
- FB_ADS: DataSourceIntegration.ValueType # 3
38
- global___DataSourceIntegration = DataSourceIntegration
39
-
40
- class _DateGranularity:
41
- ValueType = typing.NewType("ValueType", builtins.int)
42
- V: typing_extensions.TypeAlias = ValueType
43
-
44
- class _DateGranularityEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_DateGranularity.ValueType], builtins.type):
45
- DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
46
- UNKNOWN: _DateGranularity.ValueType # 0
47
- DAY: _DateGranularity.ValueType # 1
48
- WEEK: _DateGranularity.ValueType # 2
49
- MONTH: _DateGranularity.ValueType # 3
50
- QUARTER: _DateGranularity.ValueType # 4
51
- YEAR: _DateGranularity.ValueType # 5
52
-
53
- class DateGranularity(_DateGranularity, metaclass=_DateGranularityEnumTypeWrapper): ...
54
-
55
- UNKNOWN: DateGranularity.ValueType # 0
56
- DAY: DateGranularity.ValueType # 1
57
- WEEK: DateGranularity.ValueType # 2
58
- MONTH: DateGranularity.ValueType # 3
59
- QUARTER: DateGranularity.ValueType # 4
60
- YEAR: DateGranularity.ValueType # 5
61
- global___DateGranularity = DateGranularity
62
-
63
- class _Aggregation:
64
- ValueType = typing.NewType("ValueType", builtins.int)
65
- V: typing_extensions.TypeAlias = ValueType
66
-
67
- class _AggregationEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_Aggregation.ValueType], builtins.type):
68
- DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
69
- AGGREGATION_UNKNOWN: _Aggregation.ValueType # 0
70
- SUM: _Aggregation.ValueType # 1
71
- SUM_BOOLEAN: _Aggregation.ValueType # 2
72
- COUNT_DISTINCT: _Aggregation.ValueType # 3
73
- MIN: _Aggregation.ValueType # 4
74
- MAX: _Aggregation.ValueType # 5
75
- AVERAGE: _Aggregation.ValueType # 6
76
- MEDIAN: _Aggregation.ValueType # 7
77
-
78
- class Aggregation(_Aggregation, metaclass=_AggregationEnumTypeWrapper): ...
79
-
80
- AGGREGATION_UNKNOWN: Aggregation.ValueType # 0
81
- SUM: Aggregation.ValueType # 1
82
- SUM_BOOLEAN: Aggregation.ValueType # 2
83
- COUNT_DISTINCT: Aggregation.ValueType # 3
84
- MIN: Aggregation.ValueType # 4
85
- MAX: Aggregation.ValueType # 5
86
- AVERAGE: Aggregation.ValueType # 6
87
- MEDIAN: Aggregation.ValueType # 7
88
- global___Aggregation = Aggregation
89
-
90
- class _DimensionType:
91
- ValueType = typing.NewType("ValueType", builtins.int)
92
- V: typing_extensions.TypeAlias = ValueType
93
-
94
- class _DimensionTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_DimensionType.ValueType], builtins.type):
95
- DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
96
- DIMENSION_UNKNOWN: _DimensionType.ValueType # 0
97
- CATEGORICAL: _DimensionType.ValueType # 1
98
- """Category dimensions allow metrics to be grouped by different "category" slices and dices, such as product type, color, or geographical area.
99
- These may point to existing columns in the data table, or be calculated using a SQL expression with the expr parameter.
100
- """
101
- TIME: _DimensionType.ValueType # 2
102
- """Time dimensions are used to aggregate metrics against different levels of time granularity.
103
- An Aggregation time dimension for measures must be set! This should either be set directly on the measure specification in the model, or else defaulted to the primary time dimension in the data source containing the measure.
104
- """
105
- FB_ADS_FIELD: _DimensionType.ValueType # 3
106
- """Here are the possible types for FB Ads Dimensions"""
107
- FB_ADS_BREAKDOWN: _DimensionType.ValueType # 4
108
- FB_ADS_ACTION_BREAKDOWN: _DimensionType.ValueType # 5
109
- FB_ADS_SUMMARY_ACTION_BREAKDOWN: _DimensionType.ValueType # 6
110
-
111
- class DimensionType(_DimensionType, metaclass=_DimensionTypeEnumTypeWrapper): ...
112
-
113
- DIMENSION_UNKNOWN: DimensionType.ValueType # 0
114
- CATEGORICAL: DimensionType.ValueType # 1
115
- """Category dimensions allow metrics to be grouped by different "category" slices and dices, such as product type, color, or geographical area.
116
- These may point to existing columns in the data table, or be calculated using a SQL expression with the expr parameter.
117
- """
118
- TIME: DimensionType.ValueType # 2
119
- """Time dimensions are used to aggregate metrics against different levels of time granularity.
120
- An Aggregation time dimension for measures must be set! This should either be set directly on the measure specification in the model, or else defaulted to the primary time dimension in the data source containing the measure.
121
- """
122
- FB_ADS_FIELD: DimensionType.ValueType # 3
123
- """Here are the possible types for FB Ads Dimensions"""
124
- FB_ADS_BREAKDOWN: DimensionType.ValueType # 4
125
- FB_ADS_ACTION_BREAKDOWN: DimensionType.ValueType # 5
126
- FB_ADS_SUMMARY_ACTION_BREAKDOWN: DimensionType.ValueType # 6
127
- global___DimensionType = DimensionType
128
-
129
- class _DimensionValueType:
130
- ValueType = typing.NewType("ValueType", builtins.int)
131
- V: typing_extensions.TypeAlias = ValueType
132
-
133
- class _DimensionValueTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_DimensionValueType.ValueType], builtins.type):
134
- DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
135
- VALUE_TYPE_UNKNOWN: _DimensionValueType.ValueType # 0
136
- STRING: _DimensionValueType.ValueType # 1
137
- INTEGER: _DimensionValueType.ValueType # 2
138
- FLOAT: _DimensionValueType.ValueType # 3
139
- BOOLEAN: _DimensionValueType.ValueType # 4
140
- DATE: _DimensionValueType.ValueType # 5
141
- DATETIME: _DimensionValueType.ValueType # 6
142
- TIMESTAMP: _DimensionValueType.ValueType # 7
143
-
144
- class DimensionValueType(_DimensionValueType, metaclass=_DimensionValueTypeEnumTypeWrapper): ...
145
-
146
- VALUE_TYPE_UNKNOWN: DimensionValueType.ValueType # 0
147
- STRING: DimensionValueType.ValueType # 1
148
- INTEGER: DimensionValueType.ValueType # 2
149
- FLOAT: DimensionValueType.ValueType # 3
150
- BOOLEAN: DimensionValueType.ValueType # 4
151
- DATE: DimensionValueType.ValueType # 5
152
- DATETIME: DimensionValueType.ValueType # 6
153
- TIMESTAMP: DimensionValueType.ValueType # 7
154
- global___DimensionValueType = DimensionValueType
155
-
156
- class _MetricType:
157
- ValueType = typing.NewType("ValueType", builtins.int)
158
- V: typing_extensions.TypeAlias = ValueType
159
-
160
- class _MetricTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_MetricType.ValueType], builtins.type):
161
- DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
162
- METRIC_UNKNOWN: _MetricType.ValueType # 0
163
- MEASURE_PROXY: _MetricType.ValueType # 1
164
- """Measure proxies are metrics that point directly to a measure (you may think of the measure proxy as a function that takes only ONE measure as the input).
165
- Note that if a measure has already been defined in a data source with the create_metric: True parameter, you do not need to re-define a metric for the measure, and you can simply use the measure itself.
166
- However, if you would like to include a constraint on top of the measure, you will need to create a measure proxy.
167
- For example, if you would like to create a metric that only includes orders with a price greater than 100, you can create a measure proxy with the constraint price > 100.
168
- If using a measure proxy, you must specify the measure in the measures parameter. Don't use the expression field as it will be ignored.
169
- """
170
- CUMULATIVE: _MetricType.ValueType # 2
171
- """Cumulative metrics aggregate a measure over a given window.
172
- Note that if no window is specified, the window would accumulate the measure over all time.
173
- """
174
- RATIO: _MetricType.ValueType # 3
175
- """Ratio metrics involve a numerator measure and a denominator measure.
176
- Note that if an optional constraint string is applied, the constraint is applied to both the numerator and denominator.
177
- """
178
- DERIVED: _MetricType.ValueType # 4
179
- SQL_EXPRESSION: _MetricType.ValueType # 5
180
- """When you are building a metric that involves a SQL expression of multiple measures, you can use an expression metric."""
181
-
182
- class MetricType(_MetricType, metaclass=_MetricTypeEnumTypeWrapper):
183
- """Based on https://docs.getdbt.com/docs/build/metrics-
184
- Only MEASURE_PROXY and RATIO are supported for now. Don't use the other types.
185
- """
186
-
187
- METRIC_UNKNOWN: MetricType.ValueType # 0
188
- MEASURE_PROXY: MetricType.ValueType # 1
189
- """Measure proxies are metrics that point directly to a measure (you may think of the measure proxy as a function that takes only ONE measure as the input).
190
- Note that if a measure has already been defined in a data source with the create_metric: True parameter, you do not need to re-define a metric for the measure, and you can simply use the measure itself.
191
- However, if you would like to include a constraint on top of the measure, you will need to create a measure proxy.
192
- For example, if you would like to create a metric that only includes orders with a price greater than 100, you can create a measure proxy with the constraint price > 100.
193
- If using a measure proxy, you must specify the measure in the measures parameter. Don't use the expression field as it will be ignored.
194
- """
195
- CUMULATIVE: MetricType.ValueType # 2
196
- """Cumulative metrics aggregate a measure over a given window.
197
- Note that if no window is specified, the window would accumulate the measure over all time.
198
- """
199
- RATIO: MetricType.ValueType # 3
200
- """Ratio metrics involve a numerator measure and a denominator measure.
201
- Note that if an optional constraint string is applied, the constraint is applied to both the numerator and denominator.
202
- """
203
- DERIVED: MetricType.ValueType # 4
204
- SQL_EXPRESSION: MetricType.ValueType # 5
205
- """When you are building a metric that involves a SQL expression of multiple measures, you can use an expression metric."""
206
- global___MetricType = MetricType
207
-
208
- class _MetricValueType:
209
- ValueType = typing.NewType("ValueType", builtins.int)
210
- V: typing_extensions.TypeAlias = ValueType
211
-
212
- class _MetricValueTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_MetricValueType.ValueType], builtins.type):
213
- DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
214
- METRIC_VALUE_TYPE_UNKNOWN: _MetricValueType.ValueType # 0
215
- """These are the types from GA4"""
216
- METRIC_VALUE_TYPE_INTEGER: _MetricValueType.ValueType # 1
217
- """Integer type."""
218
- METRIC_VALUE_TYPE_FLOAT: _MetricValueType.ValueType # 2
219
- """Floating point type."""
220
- METRIC_VALUE_TYPE_SECONDS: _MetricValueType.ValueType # 3
221
- """A duration of seconds; a special floating point type."""
222
- METRIC_VALUE_TYPE_MILLISECONDS: _MetricValueType.ValueType # 4
223
- """A duration in milliseconds; a special floating point type."""
224
- METRIC_VALUE_TYPE_MINUTES: _MetricValueType.ValueType # 5
225
- """A duration in minutes; a special floating point type."""
226
- METRIC_VALUE_TYPE_HOURS: _MetricValueType.ValueType # 6
227
- """A duration in hours; a special floating point type."""
228
- METRIC_VALUE_TYPE_STANDARD: _MetricValueType.ValueType # 7
229
- """A custom metric of standard type; a special floating point type."""
230
- METRIC_VALUE_TYPE_CURRENCY: _MetricValueType.ValueType # 8
231
- """An amount of money; a special floating point type."""
232
- METRIC_VALUE_TYPE_FEET: _MetricValueType.ValueType # 9
233
- """A length in feet; a special floating point type."""
234
- METRIC_VALUE_TYPE_MILES: _MetricValueType.ValueType # 10
235
- """A length in miles; a special floating point type."""
236
- METRIC_VALUE_TYPE_METERS: _MetricValueType.ValueType # 11
237
- """A length in meters; a special floating point type."""
238
- METRIC_VALUE_TYPE_KILOMETERS: _MetricValueType.ValueType # 12
239
- """A length in kilometers; a special floating point type."""
240
- METRIC_VALUE_TYPE_STRING: _MetricValueType.ValueType # 13
241
- """Now, these are the types from FB ADS."""
242
- METRIC_VALUE_TYPE_NUMERIC_STRING: _MetricValueType.ValueType # 14
243
- METRIC_VALUE_TYPE_LIST_ADS_ACTION_STATS: _MetricValueType.ValueType # 15
244
- """A single action for a Statistics result -> https://github.com/facebook/facebook-python-business-sdk/blob/main/facebook_business/adobjects/adsactionstats.py"""
245
- METRIC_VALUE_TYPE_LIST_ADS_INSIGHTS_DDA_RESULT: _MetricValueType.ValueType # 16
246
- METRIC_VALUE_TYPE_LIST_ADS_HISTOGRAM_STATS: _MetricValueType.ValueType # 17
247
-
248
- class MetricValueType(_MetricValueType, metaclass=_MetricValueTypeEnumTypeWrapper):
249
- """The value type of the metric, e.g. INTEGER, FLOAT, etc.
250
- Based on https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/MetricType.
251
- And also on https://developers.facebook.com/docs/marketing-api/reference/ad-account/insights/.
252
- """
253
-
254
- METRIC_VALUE_TYPE_UNKNOWN: MetricValueType.ValueType # 0
255
- """These are the types from GA4"""
256
- METRIC_VALUE_TYPE_INTEGER: MetricValueType.ValueType # 1
257
- """Integer type."""
258
- METRIC_VALUE_TYPE_FLOAT: MetricValueType.ValueType # 2
259
- """Floating point type."""
260
- METRIC_VALUE_TYPE_SECONDS: MetricValueType.ValueType # 3
261
- """A duration of seconds; a special floating point type."""
262
- METRIC_VALUE_TYPE_MILLISECONDS: MetricValueType.ValueType # 4
263
- """A duration in milliseconds; a special floating point type."""
264
- METRIC_VALUE_TYPE_MINUTES: MetricValueType.ValueType # 5
265
- """A duration in minutes; a special floating point type."""
266
- METRIC_VALUE_TYPE_HOURS: MetricValueType.ValueType # 6
267
- """A duration in hours; a special floating point type."""
268
- METRIC_VALUE_TYPE_STANDARD: MetricValueType.ValueType # 7
269
- """A custom metric of standard type; a special floating point type."""
270
- METRIC_VALUE_TYPE_CURRENCY: MetricValueType.ValueType # 8
271
- """An amount of money; a special floating point type."""
272
- METRIC_VALUE_TYPE_FEET: MetricValueType.ValueType # 9
273
- """A length in feet; a special floating point type."""
274
- METRIC_VALUE_TYPE_MILES: MetricValueType.ValueType # 10
275
- """A length in miles; a special floating point type."""
276
- METRIC_VALUE_TYPE_METERS: MetricValueType.ValueType # 11
277
- """A length in meters; a special floating point type."""
278
- METRIC_VALUE_TYPE_KILOMETERS: MetricValueType.ValueType # 12
279
- """A length in kilometers; a special floating point type."""
280
- METRIC_VALUE_TYPE_STRING: MetricValueType.ValueType # 13
281
- """Now, these are the types from FB ADS."""
282
- METRIC_VALUE_TYPE_NUMERIC_STRING: MetricValueType.ValueType # 14
283
- METRIC_VALUE_TYPE_LIST_ADS_ACTION_STATS: MetricValueType.ValueType # 15
284
- """A single action for a Statistics result -> https://github.com/facebook/facebook-python-business-sdk/blob/main/facebook_business/adobjects/adsactionstats.py"""
285
- METRIC_VALUE_TYPE_LIST_ADS_INSIGHTS_DDA_RESULT: MetricValueType.ValueType # 16
286
- METRIC_VALUE_TYPE_LIST_ADS_HISTOGRAM_STATS: MetricValueType.ValueType # 17
287
- global___MetricValueType = MetricValueType
288
-
289
- @typing_extensions.final
290
- class Dimension(google.protobuf.message.Message):
291
- DESCRIPTOR: google.protobuf.descriptor.Descriptor
292
-
293
- NAME_FIELD_NUMBER: builtins.int
294
- DESCRIPTION_FIELD_NUMBER: builtins.int
295
- EXPR_FIELD_NUMBER: builtins.int
296
- TYPE_FIELD_NUMBER: builtins.int
297
- TYPE_PARAMS_FIELD_NUMBER: builtins.int
298
- TOP_N_VALUES_FIELD_NUMBER: builtins.int
299
- VALUE_TYPE_FIELD_NUMBER: builtins.int
300
- DATA_SOURCE_NAMES_FIELD_NUMBER: builtins.int
301
- DISPLAY_NAME_FIELD_NUMBER: builtins.int
302
- VALUE_TYPE_ENUM_FIELD_NUMBER: builtins.int
303
- name: builtins.str
304
- """The name of the dimension."""
305
- description: builtins.str
306
- """The description of the dimension."""
307
- expr: builtins.str
308
- """The expression defining the dimension e.g. order_id
309
- Beware that there is no matching signature for operator BETWEEN for argument type DATETIME
310
- And we want to define a date range of interest for our queries
311
- Use DATE_TRUNC(CAST(dimension.name, DATETIME), DateGranularity) to ensure we can use WHERE date range correctly
312
- """
313
- type: global___DimensionType.ValueType
314
- """The type of the dimension, e.g. CATEGORICAL or TIME."""
315
- @property
316
- def type_params(self) -> global___DimensionTypeParams:
317
- """The parameters of the dimension type."""
318
- @property
319
- def top_n_values(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
320
- """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
- """
325
- @property
326
- def data_source_names(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
327
- """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
331
- def __init__(
332
- self,
333
- *,
334
- name: builtins.str = ...,
335
- description: builtins.str = ...,
336
- expr: builtins.str = ...,
337
- type: global___DimensionType.ValueType = ...,
338
- type_params: global___DimensionTypeParams | None = ...,
339
- top_n_values: collections.abc.Iterable[builtins.str] | None = ...,
340
- value_type: builtins.str = ...,
341
- data_source_names: collections.abc.Iterable[builtins.str] | None = ...,
342
- display_name: builtins.str = ...,
343
- value_type_enum: global___DimensionValueType.ValueType = ...,
344
- ) -> 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: ...
347
-
348
- global___Dimension = Dimension
349
-
350
- @typing_extensions.final
351
- class DimensionTypeParams(google.protobuf.message.Message):
352
- DESCRIPTOR: google.protobuf.descriptor.Descriptor
353
-
354
- TIME_GRANULARITY_FIELD_NUMBER: builtins.int
355
- IS_PRIMARY_FIELD_NUMBER: builtins.int
356
- time_granularity: global___DateGranularity.ValueType
357
- """The date granularity of the dimension if it is a time dimension."""
358
- is_primary: builtins.bool
359
- """Note for Time dimensions: For data sources with a measure involved, a primary time dimension is required (notice the is_primary: True parameter).
360
- Set the is_primary parameter to True to indicate the time dimension that is to be the primary, or preferred, time dimension for a measure (or metric).
361
- """
362
- def __init__(
363
- self,
364
- *,
365
- time_granularity: global___DateGranularity.ValueType = ...,
366
- is_primary: builtins.bool = ...,
367
- ) -> None: ...
368
- def ClearField(self, field_name: typing_extensions.Literal["is_primary", b"is_primary", "time_granularity", b"time_granularity"]) -> None: ...
369
-
370
- global___DimensionTypeParams = DimensionTypeParams
371
-
372
- @typing_extensions.final
373
- class Metric(google.protobuf.message.Message):
374
- """Parameters that are associated with metrics include:
375
-
376
- name: Provide the reference name for the metric. This name must be unique amongst all metrics.
377
- owners: Define the list of Technical Owners of this metric via email.
378
- type: Define the type of metric, which can be a measure (measure_proxy), ratio (ratio), SQL expression (expr), or cumulative (cumulative).
379
- """
380
-
381
- DESCRIPTOR: google.protobuf.descriptor.Descriptor
382
-
383
- ID_FIELD_NUMBER: builtins.int
384
- NAME_FIELD_NUMBER: builtins.int
385
- DESCRIPTION_FIELD_NUMBER: builtins.int
386
- EXPRESSION_FIELD_NUMBER: builtins.int
387
- VIEW_ID_OF_TABLE_FIELD_NUMBER: builtins.int
388
- TABLE_NAME_FIELD_NUMBER: builtins.int
389
- MEASURES_FIELD_NUMBER: builtins.int
390
- NUMERATOR_FIELD_NUMBER: builtins.int
391
- DENOMINATOR_FIELD_NUMBER: builtins.int
392
- TYPE_FIELD_NUMBER: builtins.int
393
- WINDOW_FIELD_NUMBER: builtins.int
394
- GRAIN_TO_DATE_FIELD_NUMBER: builtins.int
395
- VALUE_TYPE_FIELD_NUMBER: builtins.int
396
- DISPLAY_NAME_FIELD_NUMBER: builtins.int
397
- IS_NUMERIC_FIELD_NUMBER: builtins.int
398
- id: builtins.str
399
- """The unique identifier of the metric."""
400
- name: builtins.str
401
- """The name of the metric."""
402
- description: builtins.str
403
- """The description of the metric.
404
- The metric name and description should correctly translate the metric's expression.
405
- """
406
- expression: builtins.str
407
- """The expression defining the metric e.g. revenue would have
408
- expression = transactions.price * transactions.quantity
409
- Shouldn't be used if type is MEASURE_PROXY.
410
- Always create simple expressions. If you need to create a complex expression, create a measure in the data source and use it in the metric.
411
- Two different metrics should not have the same expression.
412
- e.g. x+y , x-y, x*y, x/y, x%y, x^y, x/y*z, x+y*z, x-y*z, x+y/z, x-y/z, etc.
413
- """
414
- view_id_of_table: builtins.str
415
- """The id of the table view that the metric is defined on."""
416
- table_name: builtins.str
417
- """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
- numerator: builtins.str
426
- """Numerator and denominator are only used if type is RATIO. Don't use identifiers as numerator or denominator.
427
- It should be included only measures that are defined in a data source.
428
- We also probably don't want the numerator and denominator to be the same measure.
429
- Do not use another metric for the numerator or denominator. You should use measures present in a data source.
430
- The numerator of the metric if it is a ratio metric. It should be a measure.
431
- """
432
- denominator: builtins.str
433
- """The denominator of the metric if it is a ratio metric. It should be a measure."""
434
- type: global___MetricType.ValueType
435
- """The type of the metric, e.g. MEASURE_PROXY, CUMULATIVE, RATIO, etc.
436
- If the type is MEASURE_PROXY, the name of the metric must match the measure name in the expression
437
- """
438
- window: builtins.str
439
- """The window of the metric if it is a cumulative metric."""
440
- grain_to_date: builtins.str
441
- """The grain of the metric if it is a cumulative metric."""
442
- value_type: global___MetricValueType.ValueType
443
- """The value type of the metric, e.g. INTEGER, FLOAT, etc.
444
- Always set this field to METRIC_VALUE_TYPE_UNKNOWN = 0
445
- """
446
- display_name: builtins.str
447
- is_numeric: builtins.bool
448
- """If the metric is numeric or not."""
449
- def __init__(
450
- self,
451
- *,
452
- id: builtins.str = ...,
453
- name: builtins.str = ...,
454
- description: builtins.str = ...,
455
- expression: builtins.str = ...,
456
- view_id_of_table: builtins.str = ...,
457
- table_name: builtins.str = ...,
458
- measures: collections.abc.Iterable[builtins.str] | None = ...,
459
- numerator: builtins.str = ...,
460
- denominator: builtins.str = ...,
461
- type: global___MetricType.ValueType = ...,
462
- window: builtins.str = ...,
463
- grain_to_date: builtins.str = ...,
464
- value_type: global___MetricValueType.ValueType = ...,
465
- display_name: builtins.str = ...,
466
- is_numeric: builtins.bool = ...,
467
- ) -> 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: ...
471
-
472
- global___Metric = Metric
473
-
474
- @typing_extensions.final
475
- class DateStrRange(google.protobuf.message.Message):
476
- DESCRIPTOR: google.protobuf.descriptor.Descriptor
477
-
478
- START_DATE_FIELD_NUMBER: builtins.int
479
- END_DATE_FIELD_NUMBER: builtins.int
480
- start_date: builtins.str
481
- """Start date in the format YYYY-MM-DD."""
482
- end_date: builtins.str
483
- """End date in the format YYYY-MM-DD."""
484
- def __init__(
485
- self,
486
- *,
487
- start_date: builtins.str = ...,
488
- end_date: builtins.str = ...,
489
- ) -> None: ...
490
- def ClearField(self, field_name: typing_extensions.Literal["end_date", b"end_date", "start_date", b"start_date"]) -> None: ...
491
-
492
- global___DateStrRange = DateStrRange
493
-
494
- @typing_extensions.final
495
- class QueryArgs(google.protobuf.message.Message):
496
- DESCRIPTOR: google.protobuf.descriptor.Descriptor
497
-
498
- WHERE_CLAUSE_FIELD_NUMBER: builtins.int
499
- GROUP_BY_COLUMNS_FIELD_NUMBER: builtins.int
500
- METRICS_EXPRESSION_FIELD_NUMBER: builtins.int
501
- LIMIT_FIELD_NUMBER: builtins.int
502
- ORDER_BY_FIELD_NUMBER: builtins.int
503
- DATE_WHERE_CLAUSE_FIELD_NUMBER: builtins.int
504
- METRICS_FIELD_NUMBER: builtins.int
505
- HAVING_CLAUSE_FIELD_NUMBER: builtins.int
506
- INCOMPATIBLE_METRICS_FIELD_NUMBER: builtins.int
507
- INCOMPATIBLE_DIMENSIONS_FIELD_NUMBER: builtins.int
508
- DATE_RANGES_FIELD_NUMBER: builtins.int
509
- SQL_EXPLANATION_FIELD_NUMBER: builtins.int
510
- LEVEL_FIELD_NUMBER: builtins.int
511
- TIME_INCREMENT_FIELD_NUMBER: builtins.int
512
- MAIN_DATA_SOURCE_NAME_FIELD_NUMBER: builtins.int
513
- where_clause: builtins.str
514
- """This is the where clause of the generated sql."""
515
- @property
516
- def group_by_columns(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
517
- """This is the group by clause of the generated sql."""
518
- @property
519
- def metrics_expression(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
520
- """This is the metric expression of the generated sql."""
521
- limit: builtins.str
522
- """This is the LIMIT clause of the generated sql."""
523
- @property
524
- def order_by(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
525
- """Column names for ordering. Descending order is indicated by a prepended '-'."""
526
- date_where_clause: builtins.str
527
- @property
528
- def metrics(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
529
- """The name of the metrics to be queried."""
530
- having_clause: builtins.str
531
- @property
532
- def incompatible_metrics(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
533
- """The list of metrics selected by the pipeline, but are incompatible for the request."""
534
- @property
535
- def incompatible_dimensions(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
536
- """The list of dimensions selected by the pipeline, but are incompatible for the request."""
537
- @property
538
- def date_ranges(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DateStrRange]:
539
- """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
548
- def __init__(
549
- self,
550
- *,
551
- where_clause: builtins.str = ...,
552
- group_by_columns: collections.abc.Iterable[builtins.str] | None = ...,
553
- metrics_expression: collections.abc.Iterable[builtins.str] | None = ...,
554
- limit: builtins.str = ...,
555
- order_by: collections.abc.Iterable[builtins.str] | None = ...,
556
- date_where_clause: builtins.str = ...,
557
- metrics: collections.abc.Iterable[builtins.str] | None = ...,
558
- having_clause: builtins.str = ...,
559
- incompatible_metrics: collections.abc.Iterable[builtins.str] | None = ...,
560
- incompatible_dimensions: collections.abc.Iterable[builtins.str] | None = ...,
561
- date_ranges: collections.abc.Iterable[global___DateStrRange] | None = ...,
562
- sql_explanation: builtins.str = ...,
563
- level: builtins.str = ...,
564
- time_increment: builtins.str = ...,
565
- main_data_source_name: builtins.str = ...,
566
- ) -> 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: ...
568
-
569
- global___QueryArgs = QueryArgs
570
-
571
- @typing_extensions.final
572
- class DatasourceMetadata(google.protobuf.message.Message):
573
- DESCRIPTOR: google.protobuf.descriptor.Descriptor
574
-
575
- LOCATION_FIELD_NUMBER: builtins.int
576
- PROPERTY_ID_FIELD_NUMBER: builtins.int
577
- PROPERTY_NAME_FIELD_NUMBER: builtins.int
578
- location: global___DataSourceIntegration.ValueType
579
- property_id: builtins.str
580
- property_name: builtins.str
581
- def __init__(
582
- self,
583
- *,
584
- location: global___DataSourceIntegration.ValueType = ...,
585
- property_id: builtins.str = ...,
586
- property_name: builtins.str = ...,
587
- ) -> None: ...
588
- def ClearField(self, field_name: typing_extensions.Literal["location", b"location", "property_id", b"property_id", "property_name", b"property_name"]) -> None: ...
589
-
590
- global___DatasourceMetadata = DatasourceMetadata