looker-sdk 23.18.0__py3-none-any.whl → 23.20.1__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.
- looker_sdk/sdk/api40/methods.py +27 -26
- looker_sdk/sdk/api40/models.py +254 -6
- looker_sdk/sdk/constants.py +1 -1
- looker_sdk/version.py +1 -1
- {looker_sdk-23.18.0.dist-info → looker_sdk-23.20.1.dist-info}/METADATA +1 -1
- {looker_sdk-23.18.0.dist-info → looker_sdk-23.20.1.dist-info}/RECORD +9 -9
- {looker_sdk-23.18.0.dist-info → looker_sdk-23.20.1.dist-info}/WHEEL +1 -1
- {looker_sdk-23.18.0.dist-info → looker_sdk-23.20.1.dist-info}/LICENSE.txt +0 -0
- {looker_sdk-23.18.0.dist-info → looker_sdk-23.20.1.dist-info}/top_level.txt +0 -0
looker_sdk/sdk/api40/methods.py
CHANGED
|
@@ -35,7 +35,6 @@ from looker_sdk.rtl import transport
|
|
|
35
35
|
|
|
36
36
|
|
|
37
37
|
class Looker40SDK(api_methods.APIMethods):
|
|
38
|
-
|
|
39
38
|
# region Alert: Alert
|
|
40
39
|
|
|
41
40
|
# Follow an alert.
|
|
@@ -1008,6 +1007,13 @@ class Looker40SDK(api_methods.APIMethods):
|
|
|
1008
1007
|
# The generate tokens endpoint should be called every time the Looker client asks for a token (except for the
|
|
1009
1008
|
# first time when the tokens returned by the acquire_session endpoint should be used).
|
|
1010
1009
|
#
|
|
1010
|
+
# #### Embed session expiration handling
|
|
1011
|
+
#
|
|
1012
|
+
# This endpoint does NOT return an error when the embed session expires. This is to simplify processing
|
|
1013
|
+
# in the caller as errors can happen for non session expiration reasons. Instead the endpoint returns
|
|
1014
|
+
# the session time to live in the `session_reference_token_ttl` response property. If this property
|
|
1015
|
+
# contains a zero, the embed session has expired.
|
|
1016
|
+
#
|
|
1011
1017
|
# Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled
|
|
1012
1018
|
#
|
|
1013
1019
|
# PUT /embed/cookieless_session/generate_tokens -> mdls.EmbedCookielessSessionGenerateTokensResponse
|
|
@@ -4845,7 +4851,7 @@ class Looker40SDK(api_methods.APIMethods):
|
|
|
4845
4851
|
# You can use this function to change the string and integer properties of
|
|
4846
4852
|
# a dashboard. Nested objects such as filters, dashboard elements, or dashboard layout components
|
|
4847
4853
|
# cannot be modified by this function - use the update functions for the respective
|
|
4848
|
-
# nested object types (like [update_dashboard_filter()](#!/
|
|
4854
|
+
# nested object types (like [update_dashboard_filter()](#!/3.1/Dashboard/update_dashboard_filter) to change a filter)
|
|
4849
4855
|
# to modify nested objects referenced by a dashboard.
|
|
4850
4856
|
#
|
|
4851
4857
|
# If you receive a 422 error response when updating a dashboard, be sure to look at the
|
|
@@ -7286,7 +7292,7 @@ class Looker40SDK(api_methods.APIMethods):
|
|
|
7286
7292
|
# | result_format | Description
|
|
7287
7293
|
# | :-----------: | :--- |
|
|
7288
7294
|
# | json | Plain json
|
|
7289
|
-
# | json_bi | (*RECOMMENDED*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query
|
|
7295
|
+
# | json_bi | (*RECOMMENDED*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query. See JsonBi type for schema
|
|
7290
7296
|
# | json_detail | (*LEGACY*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query
|
|
7291
7297
|
# | csv | Comma separated values with a header
|
|
7292
7298
|
# | txt | Tab separated values with a header
|
|
@@ -8796,10 +8802,6 @@ class Looker40SDK(api_methods.APIMethods):
|
|
|
8796
8802
|
rebuild_pdts: Optional[bool] = None,
|
|
8797
8803
|
# Perform table calculations on query results
|
|
8798
8804
|
server_table_calcs: Optional[bool] = None,
|
|
8799
|
-
# DEPRECATED. Render width for image formats. Note that this parameter is always ignored by this method.
|
|
8800
|
-
image_width: Optional[int] = None,
|
|
8801
|
-
# DEPRECATED. Render height for image formats. Note that this parameter is always ignored by this method.
|
|
8802
|
-
image_height: Optional[int] = None,
|
|
8803
8805
|
# Requested fields
|
|
8804
8806
|
fields: Optional[str] = None,
|
|
8805
8807
|
transport_options: Optional[transport.TransportOptions] = None,
|
|
@@ -8821,8 +8823,6 @@ class Looker40SDK(api_methods.APIMethods):
|
|
|
8821
8823
|
"path_prefix": path_prefix,
|
|
8822
8824
|
"rebuild_pdts": rebuild_pdts,
|
|
8823
8825
|
"server_table_calcs": server_table_calcs,
|
|
8824
|
-
"image_width": image_width,
|
|
8825
|
-
"image_height": image_height,
|
|
8826
8826
|
"fields": fields,
|
|
8827
8827
|
},
|
|
8828
8828
|
body=body,
|
|
@@ -8912,20 +8912,20 @@ class Looker40SDK(api_methods.APIMethods):
|
|
|
8912
8912
|
# will be in the message of the 400 error response, but not as detailed as expressed in `json_detail.errors`.
|
|
8913
8913
|
# These data formats can only carry row data, and error info is not row data.
|
|
8914
8914
|
#
|
|
8915
|
-
# GET /query_tasks/{query_task_id}/results ->
|
|
8915
|
+
# GET /query_tasks/{query_task_id}/results -> mdls.QueryTask
|
|
8916
8916
|
def query_task_results(
|
|
8917
8917
|
self,
|
|
8918
8918
|
# ID of the Query Task
|
|
8919
8919
|
query_task_id: str,
|
|
8920
8920
|
transport_options: Optional[transport.TransportOptions] = None,
|
|
8921
|
-
) ->
|
|
8921
|
+
) -> mdls.QueryTask:
|
|
8922
8922
|
"""Get Async Query Results"""
|
|
8923
8923
|
query_task_id = self.encode_path_param(query_task_id)
|
|
8924
8924
|
response = cast(
|
|
8925
|
-
|
|
8925
|
+
mdls.QueryTask,
|
|
8926
8926
|
self.get(
|
|
8927
8927
|
path=f"/query_tasks/{query_task_id}/results",
|
|
8928
|
-
structure=
|
|
8928
|
+
structure=mdls.QueryTask,
|
|
8929
8929
|
transport_options=transport_options,
|
|
8930
8930
|
),
|
|
8931
8931
|
)
|
|
@@ -9053,7 +9053,7 @@ class Looker40SDK(api_methods.APIMethods):
|
|
|
9053
9053
|
# | result_format | Description
|
|
9054
9054
|
# | :-----------: | :--- |
|
|
9055
9055
|
# | json | Plain json
|
|
9056
|
-
# | json_bi | (*RECOMMENDED*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query
|
|
9056
|
+
# | json_bi | (*RECOMMENDED*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query. See JsonBi type for schema
|
|
9057
9057
|
# | json_detail | (*LEGACY*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query
|
|
9058
9058
|
# | csv | Comma separated values with a header
|
|
9059
9059
|
# | txt | Tab separated values with a header
|
|
@@ -9168,7 +9168,7 @@ class Looker40SDK(api_methods.APIMethods):
|
|
|
9168
9168
|
# | result_format | Description
|
|
9169
9169
|
# | :-----------: | :--- |
|
|
9170
9170
|
# | json | Plain json
|
|
9171
|
-
# | json_bi | (*RECOMMENDED*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query
|
|
9171
|
+
# | json_bi | (*RECOMMENDED*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query. See JsonBi type for schema
|
|
9172
9172
|
# | json_detail | (*LEGACY*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query
|
|
9173
9173
|
# | csv | Comma separated values with a header
|
|
9174
9174
|
# | txt | Tab separated values with a header
|
|
@@ -9281,7 +9281,7 @@ class Looker40SDK(api_methods.APIMethods):
|
|
|
9281
9281
|
# | result_format | Description
|
|
9282
9282
|
# | :-----------: | :--- |
|
|
9283
9283
|
# | json | Plain json
|
|
9284
|
-
# | json_bi | (*RECOMMENDED*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query
|
|
9284
|
+
# | json_bi | (*RECOMMENDED*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query. See JsonBi type for schema
|
|
9285
9285
|
# | json_detail | (*LEGACY*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query
|
|
9286
9286
|
# | csv | Comma separated values with a header
|
|
9287
9287
|
# | txt | Tab separated values with a header
|
|
@@ -9466,7 +9466,7 @@ class Looker40SDK(api_methods.APIMethods):
|
|
|
9466
9466
|
|
|
9467
9467
|
# Execute a SQL Runner query in a given result_format.
|
|
9468
9468
|
#
|
|
9469
|
-
# POST /sql_queries/{slug}/run/{result_format} ->
|
|
9469
|
+
# POST /sql_queries/{slug}/run/{result_format} -> str
|
|
9470
9470
|
def run_sql_query(
|
|
9471
9471
|
self,
|
|
9472
9472
|
# slug of query
|
|
@@ -9476,15 +9476,15 @@ class Looker40SDK(api_methods.APIMethods):
|
|
|
9476
9476
|
# Defaults to false. If set to true, the HTTP response will have content-disposition and other headers set to make the HTTP response behave as a downloadable attachment instead of as inline content.
|
|
9477
9477
|
download: Optional[str] = None,
|
|
9478
9478
|
transport_options: Optional[transport.TransportOptions] = None,
|
|
9479
|
-
) ->
|
|
9479
|
+
) -> str:
|
|
9480
9480
|
"""Run SQL Runner Query"""
|
|
9481
9481
|
slug = self.encode_path_param(slug)
|
|
9482
9482
|
result_format = self.encode_path_param(result_format)
|
|
9483
9483
|
response = cast(
|
|
9484
|
-
|
|
9484
|
+
str,
|
|
9485
9485
|
self.post(
|
|
9486
9486
|
path=f"/sql_queries/{slug}/run/{result_format}",
|
|
9487
|
-
structure=
|
|
9487
|
+
structure=str,
|
|
9488
9488
|
query_params={"download": download},
|
|
9489
9489
|
transport_options=transport_options,
|
|
9490
9490
|
),
|
|
@@ -11057,10 +11057,8 @@ class Looker40SDK(api_methods.APIMethods):
|
|
|
11057
11057
|
# | md | Simple markdown
|
|
11058
11058
|
# | xlsx | MS Excel spreadsheet
|
|
11059
11059
|
# | sql | Returns the generated SQL rather than running the query
|
|
11060
|
-
# | png | A PNG image of the visualization of the query
|
|
11061
|
-
# | jpg | A JPG image of the visualization of the query
|
|
11062
11060
|
#
|
|
11063
|
-
# GET /sql_interface_queries/{query_id}/run/{result_format} ->
|
|
11061
|
+
# GET /sql_interface_queries/{query_id}/run/{result_format} -> mdls.QueryFormats
|
|
11064
11062
|
def run_sql_interface_query(
|
|
11065
11063
|
self,
|
|
11066
11064
|
# Integer id of query
|
|
@@ -11068,14 +11066,14 @@ class Looker40SDK(api_methods.APIMethods):
|
|
|
11068
11066
|
# Format of result, options are: ["json_bi"]
|
|
11069
11067
|
result_format: str,
|
|
11070
11068
|
transport_options: Optional[transport.TransportOptions] = None,
|
|
11071
|
-
) ->
|
|
11069
|
+
) -> mdls.QueryFormats:
|
|
11072
11070
|
"""Run SQL Interface Query"""
|
|
11073
11071
|
result_format = self.encode_path_param(result_format)
|
|
11074
11072
|
response = cast(
|
|
11075
|
-
|
|
11073
|
+
mdls.QueryFormats,
|
|
11076
11074
|
self.get(
|
|
11077
11075
|
path=f"/sql_interface_queries/{query_id}/run/{result_format}",
|
|
11078
|
-
structure=
|
|
11076
|
+
structure=mdls.QueryFormats,
|
|
11079
11077
|
transport_options=transport_options,
|
|
11080
11078
|
),
|
|
11081
11079
|
)
|
|
@@ -13195,3 +13193,6 @@ class Looker40SDK(api_methods.APIMethods):
|
|
|
13195
13193
|
return response
|
|
13196
13194
|
|
|
13197
13195
|
# endregion
|
|
13196
|
+
|
|
13197
|
+
|
|
13198
|
+
LookerSDK = Looker40SDK
|
looker_sdk/sdk/api40/models.py
CHANGED
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
# SOFTWARE.
|
|
22
22
|
#
|
|
23
23
|
|
|
24
|
-
#
|
|
24
|
+
# 338 API models: 255 Spec, 0 Request, 61 Write, 22 Enum
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
# NOTE: Do not edit this file generated by Looker SDK Codegen for API 4.0
|
|
@@ -4398,7 +4398,7 @@ class EmbedCookielessSessionAcquireResponse(model.Model):
|
|
|
4398
4398
|
api_token: Token to used to call Looker APIs.
|
|
4399
4399
|
api_token_ttl: Api token time to live in seconds.
|
|
4400
4400
|
session_reference_token: Token referencing the actual embed session. It is used to generate new api, navigation and authentication tokens. api and navigation tokens are short lived and must be refreshed regularly. A new authentication token must be acquired for each IFRAME that is created. The session_reference_token should be kept secure, ideally in the embed hosts application server.
|
|
4401
|
-
session_reference_token_ttl: Session reference token time to live in seconds. Note that this is the same as actual session.
|
|
4401
|
+
session_reference_token_ttl: Session reference token time to live in seconds. Note that this is the same as actual embed session. The session is expired when the value is set to zero. It is important to note that the generate token endpoint does NOT return an error when the embed session has expired. If an embedding application needs to monitor expiration of embed sessions, check this property for a value of zero.
|
|
4402
4402
|
"""
|
|
4403
4403
|
|
|
4404
4404
|
authentication_token: Optional[str] = None
|
|
@@ -5774,6 +5774,197 @@ class InvestigativeContentType(enum.Enum):
|
|
|
5774
5774
|
InvestigativeContentType.__new__ = model.safe_enum__new__ # type: ignore
|
|
5775
5775
|
|
|
5776
5776
|
|
|
5777
|
+
@attr.s(auto_attribs=True, init=False)
|
|
5778
|
+
class JsonBi(model.Model):
|
|
5779
|
+
"""
|
|
5780
|
+
Attributes:
|
|
5781
|
+
big_query_metadata:
|
|
5782
|
+
fields:
|
|
5783
|
+
pivots: Pivots
|
|
5784
|
+
has_subtotals: If the query has subtotals
|
|
5785
|
+
has_totals: If the query has totals
|
|
5786
|
+
columns_truncated: If the query results hit the maximum column limit and additional columns were truncated
|
|
5787
|
+
filter_expression: Filter expression applied to the query results
|
|
5788
|
+
filters: Filters applied to the query results
|
|
5789
|
+
data: Json query results
|
|
5790
|
+
"""
|
|
5791
|
+
|
|
5792
|
+
big_query_metadata: "JsonBiBigQueryMetadata"
|
|
5793
|
+
fields: "JsonBiFields"
|
|
5794
|
+
pivots: Sequence["JsonBiPivots"]
|
|
5795
|
+
has_subtotals: bool
|
|
5796
|
+
has_totals: bool
|
|
5797
|
+
columns_truncated: str
|
|
5798
|
+
filter_expression: str
|
|
5799
|
+
filters: MutableMapping[str, Any]
|
|
5800
|
+
data: Sequence[str]
|
|
5801
|
+
__annotations__ = {
|
|
5802
|
+
"big_query_metadata": ForwardRef("JsonBiBigQueryMetadata"),
|
|
5803
|
+
"fields": ForwardRef("JsonBiFields"),
|
|
5804
|
+
"pivots": Sequence["JsonBiPivots"],
|
|
5805
|
+
"has_subtotals": bool,
|
|
5806
|
+
"has_totals": bool,
|
|
5807
|
+
"columns_truncated": str,
|
|
5808
|
+
"filter_expression": str,
|
|
5809
|
+
"filters": MutableMapping[str, Any],
|
|
5810
|
+
"data": Sequence[str],
|
|
5811
|
+
}
|
|
5812
|
+
|
|
5813
|
+
def __init__(
|
|
5814
|
+
self,
|
|
5815
|
+
*,
|
|
5816
|
+
big_query_metadata: "JsonBiBigQueryMetadata",
|
|
5817
|
+
fields: "JsonBiFields",
|
|
5818
|
+
pivots: Sequence["JsonBiPivots"],
|
|
5819
|
+
has_subtotals: bool,
|
|
5820
|
+
has_totals: bool,
|
|
5821
|
+
columns_truncated: str,
|
|
5822
|
+
filter_expression: str,
|
|
5823
|
+
filters: MutableMapping[str, Any],
|
|
5824
|
+
data: Sequence[str]
|
|
5825
|
+
):
|
|
5826
|
+
self.big_query_metadata = big_query_metadata
|
|
5827
|
+
self.fields = fields
|
|
5828
|
+
self.pivots = pivots
|
|
5829
|
+
self.has_subtotals = has_subtotals
|
|
5830
|
+
self.has_totals = has_totals
|
|
5831
|
+
self.columns_truncated = columns_truncated
|
|
5832
|
+
self.filter_expression = filter_expression
|
|
5833
|
+
self.filters = filters
|
|
5834
|
+
self.data = data
|
|
5835
|
+
|
|
5836
|
+
|
|
5837
|
+
@attr.s(auto_attribs=True, init=False)
|
|
5838
|
+
class JsonBiBigQueryMetadata(model.Model):
|
|
5839
|
+
"""
|
|
5840
|
+
Attributes:
|
|
5841
|
+
total_bytes_processed: Total bytes processed by the BigQuery job
|
|
5842
|
+
backend_cache_hit: Return whether or not query results were served from the BigQuery cache.
|
|
5843
|
+
"""
|
|
5844
|
+
|
|
5845
|
+
total_bytes_processed: int
|
|
5846
|
+
backend_cache_hit: bool
|
|
5847
|
+
|
|
5848
|
+
def __init__(self, *, total_bytes_processed: int, backend_cache_hit: bool):
|
|
5849
|
+
self.total_bytes_processed = total_bytes_processed
|
|
5850
|
+
self.backend_cache_hit = backend_cache_hit
|
|
5851
|
+
|
|
5852
|
+
|
|
5853
|
+
@attr.s(auto_attribs=True, init=False)
|
|
5854
|
+
class JsonBiField(model.Model):
|
|
5855
|
+
"""
|
|
5856
|
+
Attributes:
|
|
5857
|
+
sql: SQL expressions for the field
|
|
5858
|
+
view: Explore name
|
|
5859
|
+
dimension_group: Which dimension group created this dimension
|
|
5860
|
+
category: Dimension, Measure, etc.
|
|
5861
|
+
field_group_label: Field Group Label
|
|
5862
|
+
name: Field Name
|
|
5863
|
+
type: Field Type
|
|
5864
|
+
view_label: View Label
|
|
5865
|
+
label: Field Label
|
|
5866
|
+
field_group_variant: Field Group Variant
|
|
5867
|
+
hidden: If the field is marked as hidden in the Lookml
|
|
5868
|
+
description: Field Description
|
|
5869
|
+
"""
|
|
5870
|
+
|
|
5871
|
+
sql: str
|
|
5872
|
+
view: str
|
|
5873
|
+
dimension_group: str
|
|
5874
|
+
category: str
|
|
5875
|
+
field_group_label: str
|
|
5876
|
+
name: str
|
|
5877
|
+
type: str
|
|
5878
|
+
view_label: str
|
|
5879
|
+
label: str
|
|
5880
|
+
field_group_variant: str
|
|
5881
|
+
hidden: bool
|
|
5882
|
+
description: str
|
|
5883
|
+
|
|
5884
|
+
def __init__(
|
|
5885
|
+
self,
|
|
5886
|
+
*,
|
|
5887
|
+
sql: str,
|
|
5888
|
+
view: str,
|
|
5889
|
+
dimension_group: str,
|
|
5890
|
+
category: str,
|
|
5891
|
+
field_group_label: str,
|
|
5892
|
+
name: str,
|
|
5893
|
+
type: str,
|
|
5894
|
+
view_label: str,
|
|
5895
|
+
label: str,
|
|
5896
|
+
field_group_variant: str,
|
|
5897
|
+
hidden: bool,
|
|
5898
|
+
description: str
|
|
5899
|
+
):
|
|
5900
|
+
self.sql = sql
|
|
5901
|
+
self.view = view
|
|
5902
|
+
self.dimension_group = dimension_group
|
|
5903
|
+
self.category = category
|
|
5904
|
+
self.field_group_label = field_group_label
|
|
5905
|
+
self.name = name
|
|
5906
|
+
self.type = type
|
|
5907
|
+
self.view_label = view_label
|
|
5908
|
+
self.label = label
|
|
5909
|
+
self.field_group_variant = field_group_variant
|
|
5910
|
+
self.hidden = hidden
|
|
5911
|
+
self.description = description
|
|
5912
|
+
|
|
5913
|
+
|
|
5914
|
+
@attr.s(auto_attribs=True, init=False)
|
|
5915
|
+
class JsonBiFields(model.Model):
|
|
5916
|
+
"""
|
|
5917
|
+
Attributes:
|
|
5918
|
+
dimensions: Dimensions represent a column in a table, or a computed value based on some sort of column manipulation or combination
|
|
5919
|
+
measures: Measures are similar to aggregate functions in SQL (for example, COUNT, SUM, AVG) and represent information about multiple rows
|
|
5920
|
+
pivots: Pivots
|
|
5921
|
+
"""
|
|
5922
|
+
|
|
5923
|
+
dimensions: Sequence["JsonBiField"]
|
|
5924
|
+
measures: Sequence["JsonBiField"]
|
|
5925
|
+
pivots: Sequence["JsonBiField"]
|
|
5926
|
+
|
|
5927
|
+
def __init__(
|
|
5928
|
+
self,
|
|
5929
|
+
*,
|
|
5930
|
+
dimensions: Sequence["JsonBiField"],
|
|
5931
|
+
measures: Sequence["JsonBiField"],
|
|
5932
|
+
pivots: Sequence["JsonBiField"]
|
|
5933
|
+
):
|
|
5934
|
+
self.dimensions = dimensions
|
|
5935
|
+
self.measures = measures
|
|
5936
|
+
self.pivots = pivots
|
|
5937
|
+
|
|
5938
|
+
|
|
5939
|
+
@attr.s(auto_attribs=True, init=False)
|
|
5940
|
+
class JsonBiPivots(model.Model):
|
|
5941
|
+
"""
|
|
5942
|
+
Attributes:
|
|
5943
|
+
key: Pivot Column Value
|
|
5944
|
+
data: Pivot Data
|
|
5945
|
+
sort_values: Pivot Sort Values
|
|
5946
|
+
is_total: If the value is a total
|
|
5947
|
+
"""
|
|
5948
|
+
|
|
5949
|
+
key: str
|
|
5950
|
+
data: MutableMapping[str, Any]
|
|
5951
|
+
sort_values: MutableMapping[str, Any]
|
|
5952
|
+
is_total: bool
|
|
5953
|
+
|
|
5954
|
+
def __init__(
|
|
5955
|
+
self,
|
|
5956
|
+
*,
|
|
5957
|
+
key: str,
|
|
5958
|
+
data: MutableMapping[str, Any],
|
|
5959
|
+
sort_values: MutableMapping[str, Any],
|
|
5960
|
+
is_total: bool
|
|
5961
|
+
):
|
|
5962
|
+
self.key = key
|
|
5963
|
+
self.data = data
|
|
5964
|
+
self.sort_values = sort_values
|
|
5965
|
+
self.is_total = is_total
|
|
5966
|
+
|
|
5967
|
+
|
|
5777
5968
|
@attr.s(auto_attribs=True, init=False)
|
|
5778
5969
|
class LDAPConfig(model.Model):
|
|
5779
5970
|
"""
|
|
@@ -9096,6 +9287,55 @@ class Query(model.Model):
|
|
|
9096
9287
|
self.has_table_calculations = has_table_calculations
|
|
9097
9288
|
|
|
9098
9289
|
|
|
9290
|
+
@attr.s(auto_attribs=True, init=False)
|
|
9291
|
+
class QueryFormats(model.Model):
|
|
9292
|
+
"""
|
|
9293
|
+
Attributes:
|
|
9294
|
+
json_bi:
|
|
9295
|
+
json:
|
|
9296
|
+
json_detail:
|
|
9297
|
+
csv:
|
|
9298
|
+
txt:
|
|
9299
|
+
html:
|
|
9300
|
+
md:
|
|
9301
|
+
xlsx:
|
|
9302
|
+
sql:
|
|
9303
|
+
"""
|
|
9304
|
+
|
|
9305
|
+
json_bi: Optional["JsonBi"] = None
|
|
9306
|
+
json: Optional[str] = None
|
|
9307
|
+
json_detail: Optional[str] = None
|
|
9308
|
+
csv: Optional[str] = None
|
|
9309
|
+
txt: Optional[str] = None
|
|
9310
|
+
html: Optional[str] = None
|
|
9311
|
+
md: Optional[str] = None
|
|
9312
|
+
xlsx: Optional[str] = None
|
|
9313
|
+
sql: Optional[str] = None
|
|
9314
|
+
|
|
9315
|
+
def __init__(
|
|
9316
|
+
self,
|
|
9317
|
+
*,
|
|
9318
|
+
json_bi: Optional["JsonBi"] = None,
|
|
9319
|
+
json: Optional[str] = None,
|
|
9320
|
+
json_detail: Optional[str] = None,
|
|
9321
|
+
csv: Optional[str] = None,
|
|
9322
|
+
txt: Optional[str] = None,
|
|
9323
|
+
html: Optional[str] = None,
|
|
9324
|
+
md: Optional[str] = None,
|
|
9325
|
+
xlsx: Optional[str] = None,
|
|
9326
|
+
sql: Optional[str] = None
|
|
9327
|
+
):
|
|
9328
|
+
self.json_bi = json_bi
|
|
9329
|
+
self.json = json
|
|
9330
|
+
self.json_detail = json_detail
|
|
9331
|
+
self.csv = csv
|
|
9332
|
+
self.txt = txt
|
|
9333
|
+
self.html = html
|
|
9334
|
+
self.md = md
|
|
9335
|
+
self.xlsx = xlsx
|
|
9336
|
+
self.sql = sql
|
|
9337
|
+
|
|
9338
|
+
|
|
9099
9339
|
@attr.s(auto_attribs=True, init=False)
|
|
9100
9340
|
class QueryTask(model.Model):
|
|
9101
9341
|
"""
|
|
@@ -10490,6 +10730,8 @@ class Setting(model.Model):
|
|
|
10490
10730
|
embed_cookieless_v2: (DEPRECATED) Use embed_config.embed_cookieless_v2 instead. If embed_config.embed_cookieless_v2 is specified, it overrides this value.
|
|
10491
10731
|
embed_enabled: True if embedding is enabled https://cloud.google.com/looker/docs/r/looker-core-feature-embed, false otherwise
|
|
10492
10732
|
embed_config:
|
|
10733
|
+
login_notification_enabled: Login notification enabled
|
|
10734
|
+
login_notification_text: Login notification text
|
|
10493
10735
|
"""
|
|
10494
10736
|
|
|
10495
10737
|
extension_framework_enabled: Optional[bool] = None
|
|
@@ -10511,6 +10753,8 @@ class Setting(model.Model):
|
|
|
10511
10753
|
embed_cookieless_v2: Optional[bool] = None
|
|
10512
10754
|
embed_enabled: Optional[bool] = None
|
|
10513
10755
|
embed_config: Optional["EmbedConfig"] = None
|
|
10756
|
+
login_notification_enabled: Optional[bool] = None
|
|
10757
|
+
login_notification_text: Optional[str] = None
|
|
10514
10758
|
|
|
10515
10759
|
def __init__(
|
|
10516
10760
|
self,
|
|
@@ -10533,7 +10777,9 @@ class Setting(model.Model):
|
|
|
10533
10777
|
email_domain_allowlist: Optional[Sequence[str]] = None,
|
|
10534
10778
|
embed_cookieless_v2: Optional[bool] = None,
|
|
10535
10779
|
embed_enabled: Optional[bool] = None,
|
|
10536
|
-
embed_config: Optional["EmbedConfig"] = None
|
|
10780
|
+
embed_config: Optional["EmbedConfig"] = None,
|
|
10781
|
+
login_notification_enabled: Optional[bool] = None,
|
|
10782
|
+
login_notification_text: Optional[str] = None
|
|
10537
10783
|
):
|
|
10538
10784
|
self.extension_framework_enabled = extension_framework_enabled
|
|
10539
10785
|
self.extension_load_url_enabled = extension_load_url_enabled
|
|
@@ -10554,6 +10800,8 @@ class Setting(model.Model):
|
|
|
10554
10800
|
self.embed_cookieless_v2 = embed_cookieless_v2
|
|
10555
10801
|
self.embed_enabled = embed_enabled
|
|
10556
10802
|
self.embed_config = embed_config
|
|
10803
|
+
self.login_notification_enabled = login_notification_enabled
|
|
10804
|
+
self.login_notification_text = login_notification_text
|
|
10557
10805
|
|
|
10558
10806
|
|
|
10559
10807
|
@attr.s(auto_attribs=True, init=False)
|
|
@@ -11616,7 +11864,7 @@ class UserAttribute(model.Model):
|
|
|
11616
11864
|
Attributes:
|
|
11617
11865
|
name: Name of user attribute
|
|
11618
11866
|
label: Human-friendly label for user attribute
|
|
11619
|
-
type: Type of user attribute ("string", "number", "datetime", "yesno", "zipcode")
|
|
11867
|
+
type: Type of user attribute ("string", "number", "datetime", "yesno", "zipcode", "advanced_filter_string", "advanced_filter_number")
|
|
11620
11868
|
can: Operations the current user is able to perform on this object
|
|
11621
11869
|
id: Unique Id
|
|
11622
11870
|
default_value: Default value for when no value is set on the user
|
|
@@ -14669,7 +14917,7 @@ class WriteSessionConfig(model.Model):
|
|
|
14669
14917
|
class WriteSetting(model.Model):
|
|
14670
14918
|
"""
|
|
14671
14919
|
Dynamic writeable type for Setting removes:
|
|
14672
|
-
marketplace_site, embed_enabled
|
|
14920
|
+
marketplace_site, embed_enabled, login_notification_enabled, login_notification_text
|
|
14673
14921
|
|
|
14674
14922
|
Attributes:
|
|
14675
14923
|
extension_framework_enabled: Toggle extension framework on or off
|
|
@@ -14923,7 +15171,7 @@ class WriteUserAttribute(model.Model):
|
|
|
14923
15171
|
Attributes:
|
|
14924
15172
|
name: Name of user attribute
|
|
14925
15173
|
label: Human-friendly label for user attribute
|
|
14926
|
-
type: Type of user attribute ("string", "number", "datetime", "yesno", "zipcode")
|
|
15174
|
+
type: Type of user attribute ("string", "number", "datetime", "yesno", "zipcode", "advanced_filter_string", "advanced_filter_number")
|
|
14927
15175
|
default_value: Default value for when no value is set on the user
|
|
14928
15176
|
value_is_hidden: If true, users will not be able to view values of this attribute
|
|
14929
15177
|
user_can_view: Non-admin users can see the values of their attributes and use them in filters
|
looker_sdk/sdk/constants.py
CHANGED
looker_sdk/version.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
looker_sdk/__init__.py,sha256=0UOw2v-BP1bNoBIIm-BnyKUpGQB3Zx-JZRmpYyLiIuY,2589
|
|
2
2
|
looker_sdk/error.py,sha256=pBhLKh99WNBiz99O___ERcmC-aB89XGe5uQAHKwQ94c,1941
|
|
3
3
|
looker_sdk/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
|
-
looker_sdk/version.py,sha256=
|
|
4
|
+
looker_sdk/version.py,sha256=HsnmUk4hk9w84qzXFPqsvSdMCPqE87rbKah_mxnXEQs,1156
|
|
5
5
|
looker_sdk/rtl/__init__.py,sha256=hgj6CO_Du2XcJ4bRYbhaVS3dvLxjCqPQDR8KwD9IPTQ,1132
|
|
6
6
|
looker_sdk/rtl/api_methods.py,sha256=k3PJMu8iDtn8GRhMPllnNV5W2j8v9YbLx0ZKXVYPCD8,8468
|
|
7
7
|
looker_sdk/rtl/api_settings.py,sha256=0QbmNhfgjBJNnr1CNEMxCHoiu908jT8amAtSAha1xS8,6953
|
|
@@ -14,10 +14,10 @@ looker_sdk/rtl/requests_transport.py,sha256=2lckuJyjeySAuAn7v-RA_xTjjWe53uCCLSWg
|
|
|
14
14
|
looker_sdk/rtl/serialize.py,sha256=Arm26aGLOhW-uUW4qgV1tTna83A3gNMYcF9YwRvf0gQ,4418
|
|
15
15
|
looker_sdk/rtl/transport.py,sha256=zNCaGmmJBtF87iLS6xtSTwiyEXP0BDdMJafPn0_tIrk,3911
|
|
16
16
|
looker_sdk/sdk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
17
|
-
looker_sdk/sdk/constants.py,sha256=
|
|
17
|
+
looker_sdk/sdk/constants.py,sha256=LkP-awvmDEZNdDQG-KGTV09s4EBVTCY79t7h7TKh8-4,1187
|
|
18
18
|
looker_sdk/sdk/api40/__init__.py,sha256=eCPTzUdY-Tt7clU2vYCeMQwLFvmSeGq5hu3zPrbLMxU,17
|
|
19
|
-
looker_sdk/sdk/api40/methods.py,sha256=
|
|
20
|
-
looker_sdk/sdk/api40/models.py,sha256=
|
|
19
|
+
looker_sdk/sdk/api40/methods.py,sha256=gFHhz0nMEsoHgJBBeMD8ZVyFc5wD3ZifKLoaYr1DWGk,511320
|
|
20
|
+
looker_sdk/sdk/api40/models.py,sha256=waoUvMU1bSbDGGAy6McPAoAzEZixwUaEEdvY4oJHg_Q,620246
|
|
21
21
|
tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
22
22
|
tests/conftest.py,sha256=ZLymw2rfMVus_CRBbbcxpK3_rEpMJRMQX9A5m2aQgQs,3895
|
|
23
23
|
tests/integration/__init__.py,sha256=K4tvUu8CgFRwtDhDNixHKDDb8uubXgevQBq8JmZvf8Y,63
|
|
@@ -31,8 +31,8 @@ tests/rtl/test_auth_token.py,sha256=Ep4u0ushHqKiIkGgw-XVn1lSzPeH6pVmDB2bw-MXNAo,
|
|
|
31
31
|
tests/rtl/test_requests_transport.py,sha256=mSsxudpAkKe-uSVOIzDrV0XCFlj_ACt6T1yzbUbuwG0,5442
|
|
32
32
|
tests/rtl/test_serialize.py,sha256=1SC8jigZFFL3mrU2oSTnc2nbDxXve224_r3GaxEeU90,25917
|
|
33
33
|
tests/rtl/test_transport.py,sha256=tI83LYOeuWEmkngXyRqMjW-pv-ipLPLj4t0hGD8zqL8,1555
|
|
34
|
-
looker_sdk-23.
|
|
35
|
-
looker_sdk-23.
|
|
36
|
-
looker_sdk-23.
|
|
37
|
-
looker_sdk-23.
|
|
38
|
-
looker_sdk-23.
|
|
34
|
+
looker_sdk-23.20.1.dist-info/LICENSE.txt,sha256=N4Rmmbuo5EryYSCXcvjuXL1ZXwyXanRzuGP-dJzwsoE,1094
|
|
35
|
+
looker_sdk-23.20.1.dist-info/METADATA,sha256=DD0T3hJyOuyrr2dOWskCQQ2e7FETf-QNDNx1KCea7hs,7028
|
|
36
|
+
looker_sdk-23.20.1.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
|
|
37
|
+
looker_sdk-23.20.1.dist-info/top_level.txt,sha256=tDPNJRQM_A_Oncxlgxwvnzq7hZDWZaadt_nR8DmORTI,17
|
|
38
|
+
looker_sdk-23.20.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|