looker-sdk 25.8.0__py3-none-any.whl → 25.16.0__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/error.py CHANGED
@@ -82,7 +82,7 @@ class SDKError(Exception):
82
82
  documentation_url: {self.documentation_url}
83
83
  error_doc_url: {self.error_doc_url}
84
84
  error details:
85
- {sep.join(str(error) for error in self.errors)}
85
+ {sep.join(str(error_details) for error_details in self.errors)}
86
86
  """
87
87
 
88
88
 
@@ -37,6 +37,7 @@ from typing import (
37
37
  )
38
38
 
39
39
  import cattr
40
+ from cattrs.cols import is_sequence, list_structure_factory
40
41
 
41
42
  from looker_sdk.rtl import model, hooks
42
43
 
@@ -67,6 +68,7 @@ def deserialize(
67
68
  except json.JSONDecodeError as ex:
68
69
  raise DeserializeError(f"Bad json {ex}")
69
70
  try:
71
+ converter.register_structure_hook_factory(is_sequence, list_structure_factory)
70
72
  response: TDeserializeReturn = converter.structure( # type: ignore
71
73
  data, structure
72
74
  )
@@ -21,7 +21,7 @@
21
21
  # SOFTWARE.
22
22
  #
23
23
 
24
- # 471 API methods
24
+ # 472 API methods
25
25
 
26
26
 
27
27
  # NOTE: Do not edit this file generated by Looker SDK Codegen for API 4.0
@@ -4102,16 +4102,18 @@ class Looker40SDK(api_methods.APIMethods):
4102
4102
  self,
4103
4103
  # Match content favorite id(s)
4104
4104
  id: Optional[str] = None,
4105
- # Match user id(s).To create a list of multiple ids, use commas as separators
4105
+ # Match user id(s). To create a list of multiple ids, use commas as separators
4106
4106
  user_id: Optional[str] = None,
4107
- # Match content metadata id(s).To create a list of multiple ids, use commas as separators
4107
+ # Match content metadata id(s). To create a list of multiple ids, use commas as separators
4108
4108
  content_metadata_id: Optional[str] = None,
4109
- # Match dashboard id(s).To create a list of multiple ids, use commas as separators
4109
+ # Match dashboard id(s). To create a list of multiple ids, use commas as separators
4110
4110
  dashboard_id: Optional[str] = None,
4111
- # Match look id(s).To create a list of multiple ids, use commas as separators
4111
+ # Match look id(s). To create a list of multiple ids, use commas as separators
4112
4112
  look_id: Optional[str] = None,
4113
- # Match board id(s).To create a list of multiple ids, use commas as separators
4113
+ # Match board id(s). To create a list of multiple ids, use commas as separators
4114
4114
  board_id: Optional[str] = None,
4115
+ # If true, and board_id is provided, returns the content favorites for all items on the board. If false, returns the content favorite for the board itself.
4116
+ include_board_items: Optional[bool] = None,
4115
4117
  # Number of results to return. (used with offset)
4116
4118
  limit: Optional[int] = None,
4117
4119
  # Number of results to skip before returning any. (used with limit)
@@ -4137,6 +4139,7 @@ class Looker40SDK(api_methods.APIMethods):
4137
4139
  "dashboard_id": dashboard_id,
4138
4140
  "look_id": look_id,
4139
4141
  "board_id": board_id,
4142
+ "include_board_items": include_board_items,
4140
4143
  "limit": limit,
4141
4144
  "offset": offset,
4142
4145
  "sorts": sorts,
@@ -7986,6 +7989,59 @@ class Looker40SDK(api_methods.APIMethods):
7986
7989
 
7987
7990
  # region Project: Manage Projects
7988
7991
 
7992
+ # ### Fetches a CI Run.
7993
+ #
7994
+ # GET /projects/{project_id}/ci/runs/{run_id} -> mdls.ProjectRun
7995
+ def get_ci_run(
7996
+ self,
7997
+ # Project Id
7998
+ project_id: str,
7999
+ # Run Id
8000
+ run_id: str,
8001
+ # Requested fields
8002
+ fields: Optional[str] = None,
8003
+ transport_options: Optional[transport.TransportOptions] = None,
8004
+ ) -> mdls.ProjectRun:
8005
+ """Fetch Continuous Integration run"""
8006
+ project_id = self.encode_path_param(project_id)
8007
+ run_id = self.encode_path_param(run_id)
8008
+ response = cast(
8009
+ mdls.ProjectRun,
8010
+ self.get(
8011
+ path=f"/projects/{project_id}/ci/runs/{run_id}",
8012
+ structure=mdls.ProjectRun,
8013
+ query_params={"fields": fields},
8014
+ transport_options=transport_options,
8015
+ ),
8016
+ )
8017
+ return response
8018
+
8019
+ # ### Creates a CI Run.
8020
+ #
8021
+ # POST /projects/{project_id}/ci/run -> mdls.CreateCIRunResponse
8022
+ def create_ci_run(
8023
+ self,
8024
+ # Project Id
8025
+ project_id: str,
8026
+ body: mdls.CreateCIRunRequest,
8027
+ # Requested fields
8028
+ fields: Optional[str] = None,
8029
+ transport_options: Optional[transport.TransportOptions] = None,
8030
+ ) -> mdls.CreateCIRunResponse:
8031
+ """Create a Continuous Integration run"""
8032
+ project_id = self.encode_path_param(project_id)
8033
+ response = cast(
8034
+ mdls.CreateCIRunResponse,
8035
+ self.post(
8036
+ path=f"/projects/{project_id}/ci/run",
8037
+ structure=mdls.CreateCIRunResponse,
8038
+ query_params={"fields": fields},
8039
+ body=body,
8040
+ transport_options=transport_options,
8041
+ ),
8042
+ )
8043
+ return response
8044
+
7989
8045
  # ### Generate Lockfile for All LookML Dependencies
7990
8046
  #
7991
8047
  # Git must have been configured, must be in dev mode and deploy permission required
@@ -8633,9 +8689,6 @@ class Looker40SDK(api_methods.APIMethods):
8633
8689
 
8634
8690
  # ### Get All Git Connection Tests
8635
8691
  #
8636
- # dev mode required.
8637
- # - Call `update_session` to select the 'dev' workspace.
8638
- #
8639
8692
  # Returns a list of tests which can be run against a project's (or the dependency project for the provided remote_url) git connection. Call [Run Git Connection Test](#!/Project/run_git_connection_test) to execute each test in sequence.
8640
8693
  #
8641
8694
  # Tests are ordered by increasing specificity. Tests should be run in the order returned because later tests require functionality tested by tests earlier in the test list.
@@ -8794,59 +8847,6 @@ class Looker40SDK(api_methods.APIMethods):
8794
8847
  )
8795
8848
  return response
8796
8849
 
8797
- # ### Fetches a CI Run.
8798
- #
8799
- # GET /projects/{project_id}/ci/runs/{run_id} -> mdls.ProjectCIRun
8800
- def get_ci_run(
8801
- self,
8802
- # Project Id
8803
- project_id: str,
8804
- # Run Id
8805
- run_id: str,
8806
- # Requested fields
8807
- fields: Optional[str] = None,
8808
- transport_options: Optional[transport.TransportOptions] = None,
8809
- ) -> mdls.ProjectCIRun:
8810
- """Fetch Continuous Integration run"""
8811
- project_id = self.encode_path_param(project_id)
8812
- run_id = self.encode_path_param(run_id)
8813
- response = cast(
8814
- mdls.ProjectCIRun,
8815
- self.get(
8816
- path=f"/projects/{project_id}/ci/runs/{run_id}",
8817
- structure=mdls.ProjectCIRun,
8818
- query_params={"fields": fields},
8819
- transport_options=transport_options,
8820
- ),
8821
- )
8822
- return response
8823
-
8824
- # ### Creates a CI Run.
8825
- #
8826
- # POST /projects/{project_id}/ci/run -> mdls.CreateCIRunResponse
8827
- def create_ci_run(
8828
- self,
8829
- # Project Id
8830
- project_id: str,
8831
- body: mdls.CreateCIRunRequest,
8832
- # Requested fields
8833
- fields: Optional[str] = None,
8834
- transport_options: Optional[transport.TransportOptions] = None,
8835
- ) -> mdls.CreateCIRunResponse:
8836
- """Create a Continuous Integration run"""
8837
- project_id = self.encode_path_param(project_id)
8838
- response = cast(
8839
- mdls.CreateCIRunResponse,
8840
- self.post(
8841
- path=f"/projects/{project_id}/ci/run",
8842
- structure=mdls.CreateCIRunResponse,
8843
- query_params={"fields": fields},
8844
- body=body,
8845
- transport_options=transport_options,
8846
- ),
8847
- )
8848
- return response
8849
-
8850
8850
  # ### Configure Repository Credential for a remote dependency
8851
8851
  #
8852
8852
  # Admin required.
@@ -12025,6 +12025,8 @@ class Looker40SDK(api_methods.APIMethods):
12025
12025
  content_metadata_id: Optional[str] = None,
12026
12026
  # Search for users who are direct members of this group
12027
12027
  group_id: Optional[str] = None,
12028
+ # Search for users who can manage API3 credentials
12029
+ can_manage_api3_creds: Optional[bool] = None,
12028
12030
  transport_options: Optional[transport.TransportOptions] = None,
12029
12031
  ) -> Sequence[mdls.User]:
12030
12032
  """Search Users"""
@@ -12050,6 +12052,7 @@ class Looker40SDK(api_methods.APIMethods):
12050
12052
  "filter_or": filter_or,
12051
12053
  "content_metadata_id": content_metadata_id,
12052
12054
  "group_id": group_id,
12055
+ "can_manage_api3_creds": can_manage_api3_creds,
12053
12056
  },
12054
12057
  transport_options=transport_options,
12055
12058
  ),
@@ -12661,6 +12664,37 @@ class Looker40SDK(api_methods.APIMethods):
12661
12664
  )
12662
12665
  return response
12663
12666
 
12667
+ # ### API login information for the specified user. This is for the newer API keys that can be added for any user.
12668
+ #
12669
+ # Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).
12670
+ #
12671
+ # PATCH /users/{user_id}/credentials_api3/{credentials_api3_id} -> mdls.CredentialsApi3
12672
+ def update_user_credentials_api3(
12673
+ self,
12674
+ # Id of user
12675
+ user_id: str,
12676
+ # Id of API Credential
12677
+ credentials_api3_id: str,
12678
+ body: mdls.WriteCredentialsApi3,
12679
+ # Requested fields.
12680
+ fields: Optional[str] = None,
12681
+ transport_options: Optional[transport.TransportOptions] = None,
12682
+ ) -> mdls.CredentialsApi3:
12683
+ """Update API Credential"""
12684
+ user_id = self.encode_path_param(user_id)
12685
+ credentials_api3_id = self.encode_path_param(credentials_api3_id)
12686
+ response = cast(
12687
+ mdls.CredentialsApi3,
12688
+ self.patch(
12689
+ path=f"/users/{user_id}/credentials_api3/{credentials_api3_id}",
12690
+ structure=mdls.CredentialsApi3,
12691
+ query_params={"fields": fields},
12692
+ body=body,
12693
+ transport_options=transport_options,
12694
+ ),
12695
+ )
12696
+ return response
12697
+
12664
12698
  # ### API login information for the specified user. This is for the newer API keys that can be added for any user.
12665
12699
  #
12666
12700
  # Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).
@@ -21,7 +21,7 @@
21
21
  # SOFTWARE.
22
22
  #
23
23
 
24
- # 373 API models: 287 Spec, 0 Request, 62 Write, 24 Enum
24
+ # 374 API models: 287 Spec, 0 Request, 63 Write, 24 Enum
25
25
 
26
26
 
27
27
  # NOTE: Do not edit this file generated by Looker SDK Codegen for API 4.0
@@ -1120,83 +1120,6 @@ class CIGitState(model.Model):
1120
1120
  self.target = target
1121
1121
 
1122
1122
 
1123
- @attr.s(auto_attribs=True, init=False)
1124
- class CIRun(model.Model):
1125
- """
1126
- Attributes:
1127
- run_id: ID of the CI run
1128
- created_at: Time and date that the CI run was initiated
1129
- started_at: Time and date that the CI run began executing
1130
- finished_at: Time and date that the CI run completed
1131
- status_url: Git provider URL where you can view the commit status. This is the status URL that you specify when you create a CI suite
1132
- status: Status of the CI run (unknown, failed, passed, skipped, errored, cancelled, queued, running)
1133
- git_service: Git service for CI run (e.g. GitHub)
1134
- git_state:
1135
- result:
1136
- schedule:
1137
- target_branch: Git branch that the CI run compares against during validation, used for incremental runs
1138
- title: Name of the CI suite
1139
- trigger: Trigger for CI run (unknown, manual, schedule, change_request)
1140
- change_request:
1141
- suite_id: ID of the CI suite
1142
- username: Username of the user who triggered the CI run, if the CI run was manually triggered
1143
- """
1144
-
1145
- run_id: Optional[str] = None
1146
- created_at: Optional[datetime.datetime] = None
1147
- started_at: Optional[datetime.datetime] = None
1148
- finished_at: Optional[datetime.datetime] = None
1149
- status_url: Optional[str] = None
1150
- status: Optional[str] = None
1151
- git_service: Optional[str] = None
1152
- git_state: Optional["CIGitState"] = None
1153
- result: Optional["CIRunResult"] = None
1154
- schedule: Optional["CIScheduleTrigger"] = None
1155
- target_branch: Optional[str] = None
1156
- title: Optional[str] = None
1157
- trigger: Optional[str] = None
1158
- change_request: Optional["CIChangeRequest"] = None
1159
- suite_id: Optional[str] = None
1160
- username: Optional[str] = None
1161
-
1162
- def __init__(
1163
- self,
1164
- *,
1165
- run_id: Optional[str] = None,
1166
- created_at: Optional[datetime.datetime] = None,
1167
- started_at: Optional[datetime.datetime] = None,
1168
- finished_at: Optional[datetime.datetime] = None,
1169
- status_url: Optional[str] = None,
1170
- status: Optional[str] = None,
1171
- git_service: Optional[str] = None,
1172
- git_state: Optional["CIGitState"] = None,
1173
- result: Optional["CIRunResult"] = None,
1174
- schedule: Optional["CIScheduleTrigger"] = None,
1175
- target_branch: Optional[str] = None,
1176
- title: Optional[str] = None,
1177
- trigger: Optional[str] = None,
1178
- change_request: Optional["CIChangeRequest"] = None,
1179
- suite_id: Optional[str] = None,
1180
- username: Optional[str] = None
1181
- ):
1182
- self.run_id = run_id
1183
- self.created_at = created_at
1184
- self.started_at = started_at
1185
- self.finished_at = finished_at
1186
- self.status_url = status_url
1187
- self.status = status
1188
- self.git_service = git_service
1189
- self.git_state = git_state
1190
- self.result = result
1191
- self.schedule = schedule
1192
- self.target_branch = target_branch
1193
- self.title = title
1194
- self.trigger = trigger
1195
- self.change_request = change_request
1196
- self.suite_id = suite_id
1197
- self.username = username
1198
-
1199
-
1200
1123
  @attr.s(auto_attribs=True, init=False)
1201
1124
  class CIRunResult(model.Model):
1202
1125
  """
@@ -1463,6 +1386,8 @@ class ContentFavorite(model.Model):
1463
1386
  look:
1464
1387
  dashboard:
1465
1388
  board_id: Id of a board
1389
+ lookml_dashboard_id: Id of a lookml dashboard
1390
+ lookml_dashboard:
1466
1391
  """
1467
1392
 
1468
1393
  id: Optional[str] = None
@@ -1473,6 +1398,8 @@ class ContentFavorite(model.Model):
1473
1398
  look: Optional["LookBasic"] = None
1474
1399
  dashboard: Optional["DashboardBase"] = None
1475
1400
  board_id: Optional[str] = None
1401
+ lookml_dashboard_id: Optional[str] = None
1402
+ lookml_dashboard: Optional["DashboardBase"] = None
1476
1403
 
1477
1404
  def __init__(
1478
1405
  self,
@@ -1484,7 +1411,9 @@ class ContentFavorite(model.Model):
1484
1411
  dashboard_id: Optional[str] = None,
1485
1412
  look: Optional["LookBasic"] = None,
1486
1413
  dashboard: Optional["DashboardBase"] = None,
1487
- board_id: Optional[str] = None
1414
+ board_id: Optional[str] = None,
1415
+ lookml_dashboard_id: Optional[str] = None,
1416
+ lookml_dashboard: Optional["DashboardBase"] = None
1488
1417
  ):
1489
1418
  self.id = id
1490
1419
  self.user_id = user_id
@@ -1494,6 +1423,8 @@ class ContentFavorite(model.Model):
1494
1423
  self.look = look
1495
1424
  self.dashboard = dashboard
1496
1425
  self.board_id = board_id
1426
+ self.lookml_dashboard_id = lookml_dashboard_id
1427
+ self.lookml_dashboard = lookml_dashboard
1497
1428
 
1498
1429
 
1499
1430
  @attr.s(auto_attribs=True, init=False)
@@ -1507,6 +1438,8 @@ class ContentMeta(model.Model):
1507
1438
  dashboard_id: Id of associated dashboard when content_type is "dashboard"
1508
1439
  look_id: Id of associated look when content_type is "look"
1509
1440
  folder_id: Id of associated folder when content_type is "space"
1441
+ homepage_id: Id of associated board when content_type is "board"
1442
+ agent_id: Id of associated agent when content_type is "agent"
1510
1443
  content_type: Content Type ("dashboard", "look", or "folder")
1511
1444
  inherits: Whether content inherits its access levels from parent
1512
1445
  inheriting_id: Id of Inherited Content
@@ -1520,6 +1453,8 @@ class ContentMeta(model.Model):
1520
1453
  dashboard_id: Optional[str] = None
1521
1454
  look_id: Optional[str] = None
1522
1455
  folder_id: Optional[str] = None
1456
+ homepage_id: Optional[str] = None
1457
+ agent_id: Optional[str] = None
1523
1458
  content_type: Optional[str] = None
1524
1459
  inherits: Optional[bool] = None
1525
1460
  inheriting_id: Optional[str] = None
@@ -1535,6 +1470,8 @@ class ContentMeta(model.Model):
1535
1470
  dashboard_id: Optional[str] = None,
1536
1471
  look_id: Optional[str] = None,
1537
1472
  folder_id: Optional[str] = None,
1473
+ homepage_id: Optional[str] = None,
1474
+ agent_id: Optional[str] = None,
1538
1475
  content_type: Optional[str] = None,
1539
1476
  inherits: Optional[bool] = None,
1540
1477
  inheriting_id: Optional[str] = None,
@@ -1547,6 +1484,8 @@ class ContentMeta(model.Model):
1547
1484
  self.dashboard_id = dashboard_id
1548
1485
  self.look_id = look_id
1549
1486
  self.folder_id = folder_id
1487
+ self.homepage_id = homepage_id
1488
+ self.agent_id = agent_id
1550
1489
  self.content_type = content_type
1551
1490
  self.inherits = inherits
1552
1491
  self.inheriting_id = inheriting_id
@@ -2509,6 +2448,7 @@ class CreateCredentialsApi3(model.Model):
2509
2448
  created_at: Timestamp for the creation of this credential
2510
2449
  is_disabled: Has this credential been disabled?
2511
2450
  type: Short name for the type of this kind of credential
2451
+ purpose: User defined purpose for this credential.
2512
2452
  client_secret: API key client_secret
2513
2453
  url: Link to get this item
2514
2454
  """
@@ -2519,6 +2459,7 @@ class CreateCredentialsApi3(model.Model):
2519
2459
  created_at: Optional[str] = None
2520
2460
  is_disabled: Optional[bool] = None
2521
2461
  type: Optional[str] = None
2462
+ purpose: Optional[str] = None
2522
2463
  client_secret: Optional[str] = None
2523
2464
  url: Optional[str] = None
2524
2465
 
@@ -2531,6 +2472,7 @@ class CreateCredentialsApi3(model.Model):
2531
2472
  created_at: Optional[str] = None,
2532
2473
  is_disabled: Optional[bool] = None,
2533
2474
  type: Optional[str] = None,
2475
+ purpose: Optional[str] = None,
2534
2476
  client_secret: Optional[str] = None,
2535
2477
  url: Optional[str] = None
2536
2478
  ):
@@ -2540,6 +2482,7 @@ class CreateCredentialsApi3(model.Model):
2540
2482
  self.created_at = created_at
2541
2483
  self.is_disabled = is_disabled
2542
2484
  self.type = type
2485
+ self.purpose = purpose
2543
2486
  self.client_secret = client_secret
2544
2487
  self.url = url
2545
2488
 
@@ -2780,6 +2723,7 @@ class CredentialsApi3(model.Model):
2780
2723
  created_at: Timestamp for the creation of this credential
2781
2724
  is_disabled: Has this credential been disabled?
2782
2725
  type: Short name for the type of this kind of credential
2726
+ purpose: User defined purpose for this credential.
2783
2727
  url: Link to get this item
2784
2728
  """
2785
2729
 
@@ -2789,6 +2733,7 @@ class CredentialsApi3(model.Model):
2789
2733
  created_at: Optional[str] = None
2790
2734
  is_disabled: Optional[bool] = None
2791
2735
  type: Optional[str] = None
2736
+ purpose: Optional[str] = None
2792
2737
  url: Optional[str] = None
2793
2738
 
2794
2739
  def __init__(
@@ -2800,6 +2745,7 @@ class CredentialsApi3(model.Model):
2800
2745
  created_at: Optional[str] = None,
2801
2746
  is_disabled: Optional[bool] = None,
2802
2747
  type: Optional[str] = None,
2748
+ purpose: Optional[str] = None,
2803
2749
  url: Optional[str] = None
2804
2750
  ):
2805
2751
  self.can = can
@@ -2808,6 +2754,7 @@ class CredentialsApi3(model.Model):
2808
2754
  self.created_at = created_at
2809
2755
  self.is_disabled = is_disabled
2810
2756
  self.type = type
2757
+ self.purpose = purpose
2811
2758
  self.url = url
2812
2759
 
2813
2760
 
@@ -4233,6 +4180,7 @@ class DBConnection(model.Model):
4233
4180
  uses_oauth: Whether the connection uses OAuth for authentication.
4234
4181
  uses_key_pair_auth: Whether the connection uses key-pair for authentication.
4235
4182
  uses_instance_oauth: Whether the integration uses the oauth instance account.
4183
+ uses_service_auth: Whether the connection uses service authentication certificate.
4236
4184
  certificate: (Write-Only) Base64 encoded Certificate body for server authentication (when appropriate for dialect).
4237
4185
  file_type: (Write-Only) Certificate keyfile type - .json, .p8 or .p12
4238
4186
  database: Database name
@@ -4297,6 +4245,7 @@ class DBConnection(model.Model):
4297
4245
  uses_oauth: Optional[bool] = None
4298
4246
  uses_key_pair_auth: Optional[bool] = None
4299
4247
  uses_instance_oauth: Optional[bool] = None
4248
+ uses_service_auth: Optional[bool] = None
4300
4249
  certificate: Optional[str] = None
4301
4250
  file_type: Optional[str] = None
4302
4251
  database: Optional[str] = None
@@ -4363,6 +4312,7 @@ class DBConnection(model.Model):
4363
4312
  uses_oauth: Optional[bool] = None,
4364
4313
  uses_key_pair_auth: Optional[bool] = None,
4365
4314
  uses_instance_oauth: Optional[bool] = None,
4315
+ uses_service_auth: Optional[bool] = None,
4366
4316
  certificate: Optional[str] = None,
4367
4317
  file_type: Optional[str] = None,
4368
4318
  database: Optional[str] = None,
@@ -4426,6 +4376,7 @@ class DBConnection(model.Model):
4426
4376
  self.uses_oauth = uses_oauth
4427
4377
  self.uses_key_pair_auth = uses_key_pair_auth
4428
4378
  self.uses_instance_oauth = uses_instance_oauth
4379
+ self.uses_service_auth = uses_service_auth
4429
4380
  self.certificate = certificate
4430
4381
  self.file_type = file_type
4431
4382
  self.database = database
@@ -7997,6 +7948,7 @@ class LookmlModelExploreField(model.Model):
7997
7948
  suggest_explore: The name of the explore to base suggest queries from.
7998
7949
  suggestable: Whether or not suggestions are possible for this field.
7999
7950
  suggestions: If available, a list of suggestions for this field. For most fields, a suggest query is a more appropriate way to get an up-to-date list of suggestions. Or use enumerations to list all the possible values.
7951
+ synonyms: A list of string synonyms (words or phrases) that can be used to help large language models and app developers understand other ways that users may refer to a field.
8000
7952
  tags: An array of arbitrary string tags provided in the model for this field.
8001
7953
  type: The LookML type of the field.
8002
7954
  user_attribute_filter_types: An array of user attribute types that are allowed to be used in filters on this field. Valid values are: "advanced_filter_string", "advanced_filter_number", "advanced_filter_datetime", "string", "number", "datetime", "relative_url", "yesno", "zipcode".
@@ -8059,6 +8011,7 @@ class LookmlModelExploreField(model.Model):
8059
8011
  suggest_explore: Optional[str] = None
8060
8012
  suggestable: Optional[bool] = None
8061
8013
  suggestions: Optional[Sequence[str]] = None
8014
+ synonyms: Optional[Sequence[str]] = None
8062
8015
  tags: Optional[Sequence[str]] = None
8063
8016
  type: Optional[str] = None
8064
8017
  user_attribute_filter_types: Optional[Sequence["UserAttributeFilterTypes"]] = None
@@ -8123,6 +8076,7 @@ class LookmlModelExploreField(model.Model):
8123
8076
  suggest_explore: Optional[str] = None,
8124
8077
  suggestable: Optional[bool] = None,
8125
8078
  suggestions: Optional[Sequence[str]] = None,
8079
+ synonyms: Optional[Sequence[str]] = None,
8126
8080
  tags: Optional[Sequence[str]] = None,
8127
8081
  type: Optional[str] = None,
8128
8082
  user_attribute_filter_types: Optional[
@@ -8184,6 +8138,7 @@ class LookmlModelExploreField(model.Model):
8184
8138
  self.suggest_explore = suggest_explore
8185
8139
  self.suggestable = suggestable
8186
8140
  self.suggestions = suggestions
8141
+ self.synonyms = synonyms
8187
8142
  self.tags = tags
8188
8143
  self.type = type
8189
8144
  self.user_attribute_filter_types = user_attribute_filter_types
@@ -8289,12 +8244,14 @@ class LookmlModelExploreFieldPeriodOverPeriodParams(model.Model):
8289
8244
  based_on_time: Specifies the time dimension that this measure will operate over.
8290
8245
  period: Specifies the time frame for the comparison. Valid values are: "year", "fiscal_year", "quarter", "fiscal_quarter", "month", "week", "date".
8291
8246
  kind: The type of calculation for the period_over_period measure. Valid values are: "previous", "difference", "relative_change".
8247
+ value_to_date: specifies whether to compare the current partially completed period to an equivalent part of the previous period, or to use the entire previous period.
8292
8248
  """
8293
8249
 
8294
8250
  based_on: Optional[str] = None
8295
8251
  based_on_time: Optional[str] = None
8296
8252
  period: Optional["Period"] = None
8297
8253
  kind: Optional["Kind"] = None
8254
+ value_to_date: Optional[bool] = None
8298
8255
 
8299
8256
  def __init__(
8300
8257
  self,
@@ -8302,12 +8259,14 @@ class LookmlModelExploreFieldPeriodOverPeriodParams(model.Model):
8302
8259
  based_on: Optional[str] = None,
8303
8260
  based_on_time: Optional[str] = None,
8304
8261
  period: Optional["Period"] = None,
8305
- kind: Optional["Kind"] = None
8262
+ kind: Optional["Kind"] = None,
8263
+ value_to_date: Optional[bool] = None
8306
8264
  ):
8307
8265
  self.based_on = based_on
8308
8266
  self.based_on_time = based_on_time
8309
8267
  self.period = period
8310
8268
  self.kind = kind
8269
+ self.value_to_date = value_to_date
8311
8270
 
8312
8271
 
8313
8272
  @attr.s(auto_attribs=True, init=False)
@@ -10089,19 +10048,6 @@ class Project(model.Model):
10089
10048
  self.dependency_status = dependency_status
10090
10049
 
10091
10050
 
10092
- @attr.s(auto_attribs=True, init=False)
10093
- class ProjectCIRun(model.Model):
10094
- """
10095
- Attributes:
10096
- run:
10097
- """
10098
-
10099
- run: Optional["CIRun"] = None
10100
-
10101
- def __init__(self, *, run: Optional["CIRun"] = None):
10102
- self.run = run
10103
-
10104
-
10105
10051
  @attr.s(auto_attribs=True, init=False)
10106
10052
  class ProjectError(model.Model):
10107
10053
  """
@@ -10212,6 +10158,19 @@ class ProjectFile(model.Model):
10212
10158
  self.git_status = git_status
10213
10159
 
10214
10160
 
10161
+ @attr.s(auto_attribs=True, init=False)
10162
+ class ProjectRun(model.Model):
10163
+ """
10164
+ Attributes:
10165
+ run:
10166
+ """
10167
+
10168
+ run: Optional["Run"] = None
10169
+
10170
+ def __init__(self, *, run: Optional["Run"] = None):
10171
+ self.run = run
10172
+
10173
+
10215
10174
  @attr.s(auto_attribs=True, init=False)
10216
10175
  class ProjectValidation(model.Model):
10217
10176
  """
@@ -11000,6 +10959,83 @@ class RoleSearch(model.Model):
11000
10959
  self.users_url = users_url
11001
10960
 
11002
10961
 
10962
+ @attr.s(auto_attribs=True, init=False)
10963
+ class Run(model.Model):
10964
+ """
10965
+ Attributes:
10966
+ run_id: ID of the CI run
10967
+ created_at: Time and date that the CI run was initiated
10968
+ started_at: Time and date that the CI run began executing
10969
+ finished_at: Time and date that the CI run completed
10970
+ status_url: Git provider URL where you can view the commit status. This is the status URL that you specify when you create a CI suite
10971
+ status: Status of the CI run (unknown, failed, passed, skipped, errored, cancelled, queued, running)
10972
+ git_service: Git service for CI run (e.g. GitHub)
10973
+ git_state:
10974
+ result:
10975
+ schedule:
10976
+ target_branch: Git branch that the CI run compares against during validation, used for incremental runs
10977
+ title: Name of the CI suite
10978
+ trigger: Trigger for CI run (unknown, manual, schedule, change_request)
10979
+ change_request:
10980
+ suite_id: ID of the CI suite
10981
+ username: Username of the user who triggered the CI run, if the CI run was manually triggered
10982
+ """
10983
+
10984
+ run_id: Optional[str] = None
10985
+ created_at: Optional[datetime.datetime] = None
10986
+ started_at: Optional[datetime.datetime] = None
10987
+ finished_at: Optional[datetime.datetime] = None
10988
+ status_url: Optional[str] = None
10989
+ status: Optional[str] = None
10990
+ git_service: Optional[str] = None
10991
+ git_state: Optional["CIGitState"] = None
10992
+ result: Optional["CIRunResult"] = None
10993
+ schedule: Optional["CIScheduleTrigger"] = None
10994
+ target_branch: Optional[str] = None
10995
+ title: Optional[str] = None
10996
+ trigger: Optional[str] = None
10997
+ change_request: Optional["CIChangeRequest"] = None
10998
+ suite_id: Optional[str] = None
10999
+ username: Optional[str] = None
11000
+
11001
+ def __init__(
11002
+ self,
11003
+ *,
11004
+ run_id: Optional[str] = None,
11005
+ created_at: Optional[datetime.datetime] = None,
11006
+ started_at: Optional[datetime.datetime] = None,
11007
+ finished_at: Optional[datetime.datetime] = None,
11008
+ status_url: Optional[str] = None,
11009
+ status: Optional[str] = None,
11010
+ git_service: Optional[str] = None,
11011
+ git_state: Optional["CIGitState"] = None,
11012
+ result: Optional["CIRunResult"] = None,
11013
+ schedule: Optional["CIScheduleTrigger"] = None,
11014
+ target_branch: Optional[str] = None,
11015
+ title: Optional[str] = None,
11016
+ trigger: Optional[str] = None,
11017
+ change_request: Optional["CIChangeRequest"] = None,
11018
+ suite_id: Optional[str] = None,
11019
+ username: Optional[str] = None
11020
+ ):
11021
+ self.run_id = run_id
11022
+ self.created_at = created_at
11023
+ self.started_at = started_at
11024
+ self.finished_at = finished_at
11025
+ self.status_url = status_url
11026
+ self.status = status
11027
+ self.git_service = git_service
11028
+ self.git_state = git_state
11029
+ self.result = result
11030
+ self.schedule = schedule
11031
+ self.target_branch = target_branch
11032
+ self.title = title
11033
+ self.trigger = trigger
11034
+ self.change_request = change_request
11035
+ self.suite_id = suite_id
11036
+ self.username = username
11037
+
11038
+
11003
11039
  @attr.s(auto_attribs=True, init=False)
11004
11040
  class RunningQueries(model.Model):
11005
11041
  """
@@ -13114,7 +13150,8 @@ class User(model.Model):
13114
13150
  allow_normal_group_membership: User can be a direct member of a normal Looker group.
13115
13151
  allow_roles_from_normal_groups: User can inherit roles from a normal Looker group.
13116
13152
  embed_group_folder_id: (Embed only) ID of user's group folder based on the external_group_id optionally specified during embed user login
13117
- is_iam_admin: User is an IAM Admin - only available in Looker (Google Cloud core)
13153
+ is_iam_admin: User is an IAM Admin - only available in Looker (Google Cloud core). The is_iam_admin is not returned by default. Please explicitly request this attribute if needed via the fields query param. Note: Including the optional is_iam_admin attribute can increase API latency. For best performance, use this attribute only when filtering for users with the 'Admin via IAM' role. When using this filter, always paginate your results with the offset and limit fields to optimize response time.
13154
+ can_manage_api3_creds: Indicates if the user can manage API3 credentials
13118
13155
  url: Link to get this item
13119
13156
  """
13120
13157
 
@@ -13154,6 +13191,7 @@ class User(model.Model):
13154
13191
  allow_roles_from_normal_groups: Optional[bool] = None
13155
13192
  embed_group_folder_id: Optional[str] = None
13156
13193
  is_iam_admin: Optional[bool] = None
13194
+ can_manage_api3_creds: Optional[bool] = None
13157
13195
  url: Optional[str] = None
13158
13196
 
13159
13197
  def __init__(
@@ -13195,6 +13233,7 @@ class User(model.Model):
13195
13233
  allow_roles_from_normal_groups: Optional[bool] = None,
13196
13234
  embed_group_folder_id: Optional[str] = None,
13197
13235
  is_iam_admin: Optional[bool] = None,
13236
+ can_manage_api3_creds: Optional[bool] = None,
13198
13237
  url: Optional[str] = None
13199
13238
  ):
13200
13239
  self.can = can
@@ -13233,6 +13272,7 @@ class User(model.Model):
13233
13272
  self.allow_roles_from_normal_groups = allow_roles_from_normal_groups
13234
13273
  self.embed_group_folder_id = embed_group_folder_id
13235
13274
  self.is_iam_admin = is_iam_admin
13275
+ self.can_manage_api3_creds = can_manage_api3_creds
13236
13276
  self.url = url
13237
13277
 
13238
13278
 
@@ -14081,7 +14121,7 @@ class WriteColorCollection(model.Model):
14081
14121
  class WriteContentFavorite(model.Model):
14082
14122
  """
14083
14123
  Dynamic writeable type for ContentFavorite removes:
14084
- id, look_id, dashboard_id, board_id
14124
+ id, look_id, dashboard_id, board_id, lookml_dashboard_id
14085
14125
 
14086
14126
  Attributes:
14087
14127
  user_id: User Id which owns this ContentFavorite
@@ -14089,6 +14129,8 @@ class WriteContentFavorite(model.Model):
14089
14129
  look: Dynamic writeable type for LookBasic removes:
14090
14130
  can, content_metadata_id, id, title
14091
14131
  dashboard: Dynamic writeable type for DashboardBase removes:
14132
+ can, content_favorite_id, content_metadata_id, description, hidden, id, model, query_timezone, readonly, refresh_interval, refresh_interval_to_i, title, user_id, slug, preferred_viewer
14133
+ lookml_dashboard: Dynamic writeable type for DashboardBase removes:
14092
14134
  can, content_favorite_id, content_metadata_id, description, hidden, id, model, query_timezone, readonly, refresh_interval, refresh_interval_to_i, title, user_id, slug, preferred_viewer
14093
14135
  """
14094
14136
 
@@ -14096,6 +14138,7 @@ class WriteContentFavorite(model.Model):
14096
14138
  content_metadata_id: Optional[str] = None
14097
14139
  look: Optional["WriteLookBasic"] = None
14098
14140
  dashboard: Optional["WriteDashboardBase"] = None
14141
+ lookml_dashboard: Optional["WriteDashboardBase"] = None
14099
14142
 
14100
14143
  def __init__(
14101
14144
  self,
@@ -14103,19 +14146,21 @@ class WriteContentFavorite(model.Model):
14103
14146
  user_id: Optional[str] = None,
14104
14147
  content_metadata_id: Optional[str] = None,
14105
14148
  look: Optional["WriteLookBasic"] = None,
14106
- dashboard: Optional["WriteDashboardBase"] = None
14149
+ dashboard: Optional["WriteDashboardBase"] = None,
14150
+ lookml_dashboard: Optional["WriteDashboardBase"] = None
14107
14151
  ):
14108
14152
  self.user_id = user_id
14109
14153
  self.content_metadata_id = content_metadata_id
14110
14154
  self.look = look
14111
14155
  self.dashboard = dashboard
14156
+ self.lookml_dashboard = lookml_dashboard
14112
14157
 
14113
14158
 
14114
14159
  @attr.s(auto_attribs=True, init=False)
14115
14160
  class WriteContentMeta(model.Model):
14116
14161
  """
14117
14162
  Dynamic writeable type for ContentMeta removes:
14118
- can, id, name, parent_id, dashboard_id, look_id, folder_id, content_type, inheriting_id, slug
14163
+ can, id, name, parent_id, dashboard_id, look_id, folder_id, homepage_id, agent_id, content_type, inheriting_id, slug
14119
14164
 
14120
14165
  Attributes:
14121
14166
  inherits: Whether content inherits its access levels from parent
@@ -14243,6 +14288,22 @@ class WriteCreateQueryTask(model.Model):
14243
14288
  self.dashboard_id = dashboard_id
14244
14289
 
14245
14290
 
14291
+ @attr.s(auto_attribs=True, init=False)
14292
+ class WriteCredentialsApi3(model.Model):
14293
+ """
14294
+ Dynamic writeable type for CredentialsApi3 removes:
14295
+ can, id, client_id, created_at, is_disabled, type, url
14296
+
14297
+ Attributes:
14298
+ purpose: User defined purpose for this credential.
14299
+ """
14300
+
14301
+ purpose: Optional[str] = None
14302
+
14303
+ def __init__(self, *, purpose: Optional[str] = None):
14304
+ self.purpose = purpose
14305
+
14306
+
14246
14307
  @attr.s(auto_attribs=True, init=False)
14247
14308
  class WriteCredentialsEmail(model.Model):
14248
14309
  """
@@ -14424,7 +14485,7 @@ class WriteDashboardElement(model.Model):
14424
14485
  query_id: Id Of Query
14425
14486
  refresh_interval: Refresh Interval
14426
14487
  result_maker: Dynamic writeable type for ResultMakerWithIdVisConfigAndDynamicFields removes:
14427
- id, dynamic_fields, filterables, sorts, merge_result_id, total, query_id, sql_query_id, vis_config
14488
+ id, query_id
14428
14489
  result_maker_id: ID of the ResultMakerLookup entry.
14429
14490
  subtitle_text: Text tile subtitle text
14430
14491
  title: Title of dashboard element
@@ -14690,7 +14751,7 @@ class WriteDatagroup(model.Model):
14690
14751
  class WriteDBConnection(model.Model):
14691
14752
  """
14692
14753
  Dynamic writeable type for DBConnection removes:
14693
- can, dialect, snippets, pdts_enabled, named_driver_version_actual, uses_oauth, uses_instance_oauth, supports_data_studio_link, created_at, user_id, example, last_regen_at, last_reap_at, managed, default_bq_connection, p4sa_name
14754
+ can, dialect, snippets, pdts_enabled, named_driver_version_actual, uses_oauth, uses_instance_oauth, uses_service_auth, supports_data_studio_link, created_at, user_id, example, last_regen_at, last_reap_at, managed, default_bq_connection, p4sa_name
14694
14755
 
14695
14756
  Attributes:
14696
14757
  name: Name of the connection. Also used as the unique identifier
@@ -16102,17 +16163,49 @@ class WriteRepositoryCredential(model.Model):
16102
16163
  class WriteResultMakerWithIdVisConfigAndDynamicFields(model.Model):
16103
16164
  """
16104
16165
  Dynamic writeable type for ResultMakerWithIdVisConfigAndDynamicFields removes:
16105
- id, dynamic_fields, filterables, sorts, merge_result_id, total, query_id, sql_query_id, vis_config
16166
+ id, query_id
16106
16167
 
16107
16168
  Attributes:
16169
+ dynamic_fields: JSON string of dynamic field information.
16170
+ filterables: array of items that can be filtered and information about them.
16171
+ sorts: Sorts of the constituent Look, Query, or Merge Query
16172
+ merge_result_id: ID of merge result if this is a merge_result.
16173
+ total: Total of the constituent Look, Query, or Merge Query
16174
+ sql_query_id: ID of SQL Query if this is a SQL Runner Query
16108
16175
  query: Dynamic writeable type for Query removes:
16109
16176
  can, id, slug, share_url, expanded_share_url, url, has_table_calculations
16177
+ vis_config: Vis config of the constituent Query, or Merge Query.
16110
16178
  """
16111
16179
 
16180
+ dynamic_fields: Optional[str] = None
16181
+ filterables: Optional[Sequence["ResultMakerFilterables"]] = None
16182
+ sorts: Optional[Sequence[str]] = None
16183
+ merge_result_id: Optional[str] = None
16184
+ total: Optional[bool] = None
16185
+ sql_query_id: Optional[str] = None
16112
16186
  query: Optional["WriteQuery"] = None
16187
+ vis_config: Optional[MutableMapping[str, Any]] = None
16113
16188
 
16114
- def __init__(self, *, query: Optional["WriteQuery"] = None):
16189
+ def __init__(
16190
+ self,
16191
+ *,
16192
+ dynamic_fields: Optional[str] = None,
16193
+ filterables: Optional[Sequence["ResultMakerFilterables"]] = None,
16194
+ sorts: Optional[Sequence[str]] = None,
16195
+ merge_result_id: Optional[str] = None,
16196
+ total: Optional[bool] = None,
16197
+ sql_query_id: Optional[str] = None,
16198
+ query: Optional["WriteQuery"] = None,
16199
+ vis_config: Optional[MutableMapping[str, Any]] = None
16200
+ ):
16201
+ self.dynamic_fields = dynamic_fields
16202
+ self.filterables = filterables
16203
+ self.sorts = sorts
16204
+ self.merge_result_id = merge_result_id
16205
+ self.total = total
16206
+ self.sql_query_id = sql_query_id
16115
16207
  self.query = query
16208
+ self.vis_config = vis_config
16116
16209
 
16117
16210
 
16118
16211
  @attr.s(auto_attribs=True, init=False)
@@ -16670,6 +16763,7 @@ class WriteUser(model.Model):
16670
16763
  locale: User's preferred locale. User locale takes precedence over Looker's system-wide default locale. Locale determines language of display strings and date and numeric formatting in API responses. Locale string must be a 2 letter language code or a combination of language code and region code: 'en' or 'en-US', for example.
16671
16764
  models_dir_validated: User's dev workspace has been checked for presence of applicable production projects
16672
16765
  ui_state: Per user dictionary of undocumented state information owned by the Looker UI.
16766
+ can_manage_api3_creds: Indicates if the user can manage API3 credentials
16673
16767
  """
16674
16768
 
16675
16769
  credentials_email: Optional["WriteCredentialsEmail"] = None
@@ -16680,6 +16774,7 @@ class WriteUser(model.Model):
16680
16774
  locale: Optional[str] = None
16681
16775
  models_dir_validated: Optional[bool] = None
16682
16776
  ui_state: Optional[MutableMapping[str, Any]] = None
16777
+ can_manage_api3_creds: Optional[bool] = None
16683
16778
 
16684
16779
  def __init__(
16685
16780
  self,
@@ -16691,7 +16786,8 @@ class WriteUser(model.Model):
16691
16786
  last_name: Optional[str] = None,
16692
16787
  locale: Optional[str] = None,
16693
16788
  models_dir_validated: Optional[bool] = None,
16694
- ui_state: Optional[MutableMapping[str, Any]] = None
16789
+ ui_state: Optional[MutableMapping[str, Any]] = None,
16790
+ can_manage_api3_creds: Optional[bool] = None
16695
16791
  ):
16696
16792
  self.credentials_email = credentials_email
16697
16793
  self.first_name = first_name
@@ -16701,6 +16797,7 @@ class WriteUser(model.Model):
16701
16797
  self.locale = locale
16702
16798
  self.models_dir_validated = models_dir_validated
16703
16799
  self.ui_state = ui_state
16800
+ self.can_manage_api3_creds = can_manage_api3_creds
16704
16801
 
16705
16802
 
16706
16803
  @attr.s(auto_attribs=True, init=False)
@@ -20,5 +20,5 @@
20
20
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
21
  # THE SOFTWARE.
22
22
 
23
- sdk_version = "25.8"
23
+ sdk_version = "25.16"
24
24
  environment_prefix = "LOOKERSDK"
looker_sdk/version.py CHANGED
@@ -20,4 +20,4 @@
20
20
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
21
  # THE SOFTWARE.
22
22
 
23
- __version__ = "25.8.0"
23
+ __version__ = "25.16.0"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: looker-sdk
3
- Version: 25.8.0
3
+ Version: 25.16.0
4
4
  Summary: Looker REST API
5
5
  Home-page: https://pypi.python.org/pypi/looker_sdk
6
6
  Author: Looker Data Sciences, Inc.
@@ -1,7 +1,7 @@
1
1
  looker_sdk/__init__.py,sha256=0UOw2v-BP1bNoBIIm-BnyKUpGQB3Zx-JZRmpYyLiIuY,2589
2
- looker_sdk/error.py,sha256=XTKuy1zEyhSVd-VCWHKB2zVjj0X7VUzVwq9y9L22Bo0,4941
2
+ looker_sdk/error.py,sha256=X1TcifswI_UGOTtM4-Fn_gRVunvbJbzfd_gUJbx6mV4,4957
3
3
  looker_sdk/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
- looker_sdk/version.py,sha256=wiR7kKlbJHrLuZr4dMOtENv23VeHYh3MyyyNsNXoIGA,1155
4
+ looker_sdk/version.py,sha256=2MD8L-ARa5XTBgRuGAX1t9JyFAwRszz-wnvPP38JNZ0,1156
5
5
  looker_sdk/rtl/__init__.py,sha256=hgj6CO_Du2XcJ4bRYbhaVS3dvLxjCqPQDR8KwD9IPTQ,1132
6
6
  looker_sdk/rtl/api_methods.py,sha256=J-dm7UMyJajsJDCB0JMpGUmp80I8oPMs7cggdIaCWng,8862
7
7
  looker_sdk/rtl/api_settings.py,sha256=0QbmNhfgjBJNnr1CNEMxCHoiu908jT8amAtSAha1xS8,6953
@@ -11,13 +11,13 @@ looker_sdk/rtl/constants.py,sha256=S0rfeT6CVjbPdY0Phj3NsgJ3Hm0M8ikOScadBr4pz6k,1
11
11
  looker_sdk/rtl/hooks.py,sha256=fAHQtmfEJWXIB3VODP6QaKaX2gWKpSv46Gz_ChNJUjk,3111
12
12
  looker_sdk/rtl/model.py,sha256=PAb1FiNbOsAXDmdn1QjpI-UUyWUTnrrRX2PHe-MNt-M,7227
13
13
  looker_sdk/rtl/requests_transport.py,sha256=2lckuJyjeySAuAn7v-RA_xTjjWe53uCCLSWgOGEq02s,3970
14
- looker_sdk/rtl/serialize.py,sha256=pO2arIln2QmuEjTodsVmVrJixRjBSsUGKEcMTpxshNM,4447
14
+ looker_sdk/rtl/serialize.py,sha256=q8Nu2ZYsKLH5xedwQ6LP8cZGEThBU0BrvuWzgc1P2-4,4594
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=uNdxbJPrqsvMF3Y2wJ1che2iMZFZNcbRHfXltK-wlNg,1186
17
+ looker_sdk/sdk/constants.py,sha256=lpqt7E5MB4cVFQ_koH4ASqW2qedDHnt4YspeiHzHR2A,1187
18
18
  looker_sdk/sdk/api40/__init__.py,sha256=Dvx1t9vDBvgEl-p1eeP7ebEC6Q6wb6rASPi7nx3z7dg,18
19
- looker_sdk/sdk/api40/methods.py,sha256=nL_LcXGW7DC7gapTUvAt22zDsvfxCvBISKE-VEsoDBg,526484
20
- looker_sdk/sdk/api40/models.py,sha256=l82-D1cXC-3ICJ3qRnhgvHC2peUSssJq1yVKi_TG7z8,681544
19
+ looker_sdk/sdk/api40/methods.py,sha256=4GIP4vImo_RYKkFDOHpOJRHo7xDB9dKiepGvGAOl1Ig,528129
20
+ looker_sdk/sdk/api40/models.py,sha256=33OteED0XzC0EH18fWQj15Wx_OCSmGwlUau9kB9xSCM,686654
21
21
  tests/integration/__init__.py,sha256=K4tvUu8CgFRwtDhDNixHKDDb8uubXgevQBq8JmZvf8Y,63
22
22
  tests/integration/test_methods.py,sha256=GXeBAxKYLH45YsPDGduRxaoGKBNoxRX1Cxdo4a_2eW8,24977
23
23
  tests/integration/test_netrc.py,sha256=XJAzCh853Q0P6ZY_Cq6CtRHAqlvjGkBItgvxJMQw4Sw,1595
@@ -29,8 +29,8 @@ tests/rtl/test_auth_token.py,sha256=Ep4u0ushHqKiIkGgw-XVn1lSzPeH6pVmDB2bw-MXNAo,
29
29
  tests/rtl/test_requests_transport.py,sha256=mSsxudpAkKe-uSVOIzDrV0XCFlj_ACt6T1yzbUbuwG0,5442
30
30
  tests/rtl/test_serialize.py,sha256=1SC8jigZFFL3mrU2oSTnc2nbDxXve224_r3GaxEeU90,25917
31
31
  tests/rtl/test_transport.py,sha256=tI83LYOeuWEmkngXyRqMjW-pv-ipLPLj4t0hGD8zqL8,1555
32
- looker_sdk-25.8.0.dist-info/LICENSE.txt,sha256=N4Rmmbuo5EryYSCXcvjuXL1ZXwyXanRzuGP-dJzwsoE,1094
33
- looker_sdk-25.8.0.dist-info/METADATA,sha256=YVpfjPt8OP5QF1cMQFUAbmi1PdDJuwA-3bGqMb7C1Wc,7021
34
- looker_sdk-25.8.0.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
35
- looker_sdk-25.8.0.dist-info/top_level.txt,sha256=tDPNJRQM_A_Oncxlgxwvnzq7hZDWZaadt_nR8DmORTI,17
36
- looker_sdk-25.8.0.dist-info/RECORD,,
32
+ looker_sdk-25.16.0.dist-info/LICENSE.txt,sha256=N4Rmmbuo5EryYSCXcvjuXL1ZXwyXanRzuGP-dJzwsoE,1094
33
+ looker_sdk-25.16.0.dist-info/METADATA,sha256=dbW6HPTmSgsiqgWbm88V6LxwXoShEyn_6MmowhAYTNU,7022
34
+ looker_sdk-25.16.0.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
35
+ looker_sdk-25.16.0.dist-info/top_level.txt,sha256=tDPNJRQM_A_Oncxlgxwvnzq7hZDWZaadt_nR8DmORTI,17
36
+ looker_sdk-25.16.0.dist-info/RECORD,,