looker-sdk 25.6.0__tar.gz → 25.8.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. {looker_sdk-25.6.0 → looker_sdk-25.8.0}/PKG-INFO +1 -1
  2. {looker_sdk-25.6.0 → looker_sdk-25.8.0}/looker_sdk/sdk/api40/methods.py +5 -3
  3. {looker_sdk-25.6.0 → looker_sdk-25.8.0}/looker_sdk/sdk/api40/models.py +739 -56
  4. {looker_sdk-25.6.0 → looker_sdk-25.8.0}/looker_sdk/sdk/constants.py +1 -1
  5. {looker_sdk-25.6.0 → looker_sdk-25.8.0}/looker_sdk/version.py +1 -1
  6. {looker_sdk-25.6.0 → looker_sdk-25.8.0}/looker_sdk.egg-info/PKG-INFO +1 -1
  7. {looker_sdk-25.6.0 → looker_sdk-25.8.0}/LICENSE.txt +0 -0
  8. {looker_sdk-25.6.0 → looker_sdk-25.8.0}/MANIFEST.in +0 -0
  9. {looker_sdk-25.6.0 → looker_sdk-25.8.0}/README.rst +0 -0
  10. {looker_sdk-25.6.0 → looker_sdk-25.8.0}/looker_sdk/__init__.py +0 -0
  11. {looker_sdk-25.6.0 → looker_sdk-25.8.0}/looker_sdk/error.py +0 -0
  12. {looker_sdk-25.6.0 → looker_sdk-25.8.0}/looker_sdk/py.typed +0 -0
  13. {looker_sdk-25.6.0 → looker_sdk-25.8.0}/looker_sdk/rtl/__init__.py +0 -0
  14. {looker_sdk-25.6.0 → looker_sdk-25.8.0}/looker_sdk/rtl/api_methods.py +0 -0
  15. {looker_sdk-25.6.0 → looker_sdk-25.8.0}/looker_sdk/rtl/api_settings.py +0 -0
  16. {looker_sdk-25.6.0 → looker_sdk-25.8.0}/looker_sdk/rtl/auth_session.py +0 -0
  17. {looker_sdk-25.6.0 → looker_sdk-25.8.0}/looker_sdk/rtl/auth_token.py +0 -0
  18. {looker_sdk-25.6.0 → looker_sdk-25.8.0}/looker_sdk/rtl/constants.py +0 -0
  19. {looker_sdk-25.6.0 → looker_sdk-25.8.0}/looker_sdk/rtl/hooks.py +0 -0
  20. {looker_sdk-25.6.0 → looker_sdk-25.8.0}/looker_sdk/rtl/model.py +0 -0
  21. {looker_sdk-25.6.0 → looker_sdk-25.8.0}/looker_sdk/rtl/requests_transport.py +0 -0
  22. {looker_sdk-25.6.0 → looker_sdk-25.8.0}/looker_sdk/rtl/serialize.py +0 -0
  23. {looker_sdk-25.6.0 → looker_sdk-25.8.0}/looker_sdk/rtl/transport.py +0 -0
  24. {looker_sdk-25.6.0 → looker_sdk-25.8.0}/looker_sdk/sdk/__init__.py +0 -0
  25. {looker_sdk-25.6.0 → looker_sdk-25.8.0}/looker_sdk/sdk/api40/__init__.py +0 -0
  26. {looker_sdk-25.6.0 → looker_sdk-25.8.0}/looker_sdk.egg-info/SOURCES.txt +0 -0
  27. {looker_sdk-25.6.0 → looker_sdk-25.8.0}/looker_sdk.egg-info/dependency_links.txt +0 -0
  28. {looker_sdk-25.6.0 → looker_sdk-25.8.0}/looker_sdk.egg-info/requires.txt +0 -0
  29. {looker_sdk-25.6.0 → looker_sdk-25.8.0}/looker_sdk.egg-info/top_level.txt +0 -0
  30. {looker_sdk-25.6.0 → looker_sdk-25.8.0}/setup.cfg +0 -0
  31. {looker_sdk-25.6.0 → looker_sdk-25.8.0}/setup.py +0 -0
  32. {looker_sdk-25.6.0 → looker_sdk-25.8.0}/tests/integration/__init__.py +0 -0
  33. {looker_sdk-25.6.0 → looker_sdk-25.8.0}/tests/integration/test_methods.py +0 -0
  34. {looker_sdk-25.6.0 → looker_sdk-25.8.0}/tests/integration/test_netrc.py +0 -0
  35. {looker_sdk-25.6.0 → looker_sdk-25.8.0}/tests/rtl/__init__.py +0 -0
  36. {looker_sdk-25.6.0 → looker_sdk-25.8.0}/tests/rtl/test_api_methods.py +0 -0
  37. {looker_sdk-25.6.0 → looker_sdk-25.8.0}/tests/rtl/test_api_settings.py +0 -0
  38. {looker_sdk-25.6.0 → looker_sdk-25.8.0}/tests/rtl/test_auth_session.py +0 -0
  39. {looker_sdk-25.6.0 → looker_sdk-25.8.0}/tests/rtl/test_auth_token.py +0 -0
  40. {looker_sdk-25.6.0 → looker_sdk-25.8.0}/tests/rtl/test_requests_transport.py +0 -0
  41. {looker_sdk-25.6.0 → looker_sdk-25.8.0}/tests/rtl/test_serialize.py +0 -0
  42. {looker_sdk-25.6.0 → looker_sdk-25.8.0}/tests/rtl/test_transport.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: looker_sdk
3
- Version: 25.6.0
3
+ Version: 25.8.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.
@@ -4879,6 +4879,8 @@ class Looker40SDK(api_methods.APIMethods):
4879
4879
  # Any UDD (a dashboard which exists in the Looker database rather than as a LookML file) which has a `lookml_link_id`
4880
4880
  # property value referring to a LookML dashboard's id (model::dashboardname) will be updated so that it matches the current state of the LookML dashboard.
4881
4881
  #
4882
+ # If the dashboard_ids parameter is specified, only the dashboards with the specified ids will be updated.
4883
+ #
4882
4884
  # For this operation to succeed the user must have permission to view the LookML dashboard, and only linked dashboards
4883
4885
  # that the user has permission to update will be synced.
4884
4886
  #
@@ -4889,9 +4891,10 @@ class Looker40SDK(api_methods.APIMethods):
4889
4891
  self,
4890
4892
  # Id of LookML dashboard, in the form 'model::dashboardname'
4891
4893
  lookml_dashboard_id: str,
4892
- body: mdls.WriteDashboard,
4893
4894
  # If true, and this dashboard is localized, export it with the raw keys, not localized.
4894
4895
  raw_locale: Optional[bool] = None,
4896
+ # An array of UDD dashboard IDs to sync. If not specified, all UDD dashboards will be synced.
4897
+ dashboard_ids: Optional[mdls.DelimSequence[str]] = None,
4895
4898
  transport_options: Optional[transport.TransportOptions] = None,
4896
4899
  ) -> Sequence[int]:
4897
4900
  """Sync LookML Dashboard"""
@@ -4901,8 +4904,7 @@ class Looker40SDK(api_methods.APIMethods):
4901
4904
  self.patch(
4902
4905
  path=f"/dashboards/{lookml_dashboard_id}/sync",
4903
4906
  structure=Sequence[int],
4904
- query_params={"raw_locale": raw_locale},
4905
- body=body,
4907
+ query_params={"raw_locale": raw_locale, "dashboard_ids": dashboard_ids},
4906
4908
  transport_options=transport_options,
4907
4909
  ),
4908
4910
  )
@@ -21,7 +21,7 @@
21
21
  # SOFTWARE.
22
22
  #
23
23
 
24
- # 353 API models: 269 Spec, 0 Request, 62 Write, 22 Enum
24
+ # 373 API models: 287 Spec, 0 Request, 62 Write, 24 Enum
25
25
 
26
26
 
27
27
  # NOTE: Do not edit this file generated by Looker SDK Codegen for API 4.0
@@ -620,6 +620,151 @@ class ArtifactUsage(model.Model):
620
620
  self.usage = usage
621
621
 
622
622
 
623
+ @attr.s(auto_attribs=True, init=False)
624
+ class AssertValidatorErrorItem(model.Model):
625
+ """
626
+ Attributes:
627
+ assert_error:
628
+ generic_error:
629
+ """
630
+
631
+ assert_error: Optional["AssertValidatorTestError"] = None
632
+ generic_error: Optional["GenericError"] = None
633
+
634
+ def __init__(
635
+ self,
636
+ *,
637
+ assert_error: Optional["AssertValidatorTestError"] = None,
638
+ generic_error: Optional["GenericError"] = None
639
+ ):
640
+ self.assert_error = assert_error
641
+ self.generic_error = generic_error
642
+
643
+
644
+ @attr.s(auto_attribs=True, init=False)
645
+ class AssertValidatorResult(model.Model):
646
+ """
647
+ Attributes:
648
+ name: Name of the validator (assert)
649
+ status: Status of the validation (unknown, failed, passed, skipped, errored, cancelled, queued, running)
650
+ results: Results of the validation
651
+ """
652
+
653
+ name: Optional[str] = None
654
+ status: Optional[str] = None
655
+ results: Optional[Sequence["AssertValidatorTestedExplore"]] = None
656
+
657
+ def __init__(
658
+ self,
659
+ *,
660
+ name: Optional[str] = None,
661
+ status: Optional[str] = None,
662
+ results: Optional[Sequence["AssertValidatorTestedExplore"]] = None
663
+ ):
664
+ self.name = name
665
+ self.status = status
666
+ self.results = results
667
+
668
+
669
+ @attr.s(auto_attribs=True, init=False)
670
+ class AssertValidatorTestedExplore(model.Model):
671
+ """
672
+ Attributes:
673
+ error_count: Total number of failed data tests
674
+ errors: Details of data tests that failed validation
675
+ success_count: Total number of successful data tests
676
+ successes: Details of data tests that passed validation
677
+ """
678
+
679
+ error_count: Optional[int] = None
680
+ errors: Optional[Sequence["AssertValidatorErrorItem"]] = None
681
+ success_count: Optional[str] = None
682
+ successes: Optional[Sequence["AssertValidatorTestSuccess"]] = None
683
+
684
+ def __init__(
685
+ self,
686
+ *,
687
+ error_count: Optional[int] = None,
688
+ errors: Optional[Sequence["AssertValidatorErrorItem"]] = None,
689
+ success_count: Optional[str] = None,
690
+ successes: Optional[Sequence["AssertValidatorTestSuccess"]] = None
691
+ ):
692
+ self.error_count = error_count
693
+ self.errors = errors
694
+ self.success_count = success_count
695
+ self.successes = successes
696
+
697
+
698
+ @attr.s(auto_attribs=True, init=False)
699
+ class AssertValidatorTestError(model.Model):
700
+ """
701
+ Attributes:
702
+ model: LookML model that contains the data test
703
+ explore: LookML Explore that is used as the explore_source for the data test
704
+ test_name: Name of the data test
705
+ explore_url: URL to the Explore
706
+ lookml_url: URL to the LookML file where the data test is defined
707
+ message: Message returned by the data test
708
+ """
709
+
710
+ model: Optional[str] = None
711
+ explore: Optional[str] = None
712
+ test_name: Optional[str] = None
713
+ explore_url: Optional[str] = None
714
+ lookml_url: Optional[str] = None
715
+ message: Optional[str] = None
716
+
717
+ def __init__(
718
+ self,
719
+ *,
720
+ model: Optional[str] = None,
721
+ explore: Optional[str] = None,
722
+ test_name: Optional[str] = None,
723
+ explore_url: Optional[str] = None,
724
+ lookml_url: Optional[str] = None,
725
+ message: Optional[str] = None
726
+ ):
727
+ self.model = model
728
+ self.explore = explore
729
+ self.test_name = test_name
730
+ self.explore_url = explore_url
731
+ self.lookml_url = lookml_url
732
+ self.message = message
733
+
734
+
735
+ @attr.s(auto_attribs=True, init=False)
736
+ class AssertValidatorTestSuccess(model.Model):
737
+ """
738
+ Attributes:
739
+ model: LookML model that contains the data test
740
+ explore: LookML Explore that is used as the explore_source for the data test
741
+ test_name: Name of the data test
742
+ explore_url: URL to the Explore
743
+ lookml_url: URL to the LookML file where the data test is defined
744
+ """
745
+
746
+ model: Optional[str] = None
747
+ explore: Optional[str] = None
748
+ test_name: Optional[str] = None
749
+ explore_url: Optional[str] = None
750
+ lookml_url: Optional[str] = None
751
+
752
+ def __init__(
753
+ self,
754
+ *,
755
+ model: Optional[str] = None,
756
+ explore: Optional[str] = None,
757
+ test_name: Optional[str] = None,
758
+ explore_url: Optional[str] = None,
759
+ lookml_url: Optional[str] = None
760
+ ):
761
+ self.model = model
762
+ self.explore = explore
763
+ self.test_name = test_name
764
+ self.explore_url = explore_url
765
+ self.lookml_url = lookml_url
766
+
767
+
623
768
  @attr.s(auto_attribs=True, init=False)
624
769
  class BackupConfiguration(model.Model):
625
770
  """
@@ -921,10 +1066,10 @@ Category.__new__ = model.safe_enum__new__ # type: ignore
921
1066
  class CIChangeRequest(model.Model):
922
1067
  """
923
1068
  Attributes:
924
- change_request_number: Change request number
925
- change_request_url: Change request url
926
- change_request_name: Change request name
927
- change_request_commits_url: Change request commits url
1069
+ change_request_number: Numeric identifier of the change request
1070
+ change_request_url: URL of the change request
1071
+ change_request_name: Name of the change request
1072
+ change_request_commits_url: For PR-triggered CI runs, the URL to the change request commit that triggered the run.
928
1073
  """
929
1074
 
930
1075
  change_request_number: Optional[int] = None
@@ -950,10 +1095,10 @@ class CIChangeRequest(model.Model):
950
1095
  class CIGitState(model.Model):
951
1096
  """
952
1097
  Attributes:
953
- branch: Git branch for run
954
- repository: Git repository for run
955
- commit_ref: Git commit for run
956
- target: Run start time.
1098
+ branch: Git branch that the CI run validates
1099
+ repository: Git repository that contains the Git branch being validated
1100
+ commit_ref: Git commit that the CI run validates
1101
+ target: For incremental runs, the Git branch that the CI run compares against during validation
957
1102
  """
958
1103
 
959
1104
  branch: Optional[str] = None
@@ -979,22 +1124,22 @@ class CIGitState(model.Model):
979
1124
  class CIRun(model.Model):
980
1125
  """
981
1126
  Attributes:
982
- run_id: Run ID
983
- created_at: Run created time.
984
- started_at: Run start time.
985
- finished_at: Run completed time.
986
- status_url: Run status url
987
- status: Run status.
988
- git_service: Git service for run
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)
989
1134
  git_state:
990
- result: Run results
1135
+ result:
991
1136
  schedule:
992
- target_branch: Target branch for run
993
- title: Suite title
994
- trigger: Trigger for run
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)
995
1140
  change_request:
996
- suite_id: The Id of the suite used
997
- username: User who triggered the run
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
998
1143
  """
999
1144
 
1000
1145
  run_id: Optional[str] = None
@@ -1005,7 +1150,7 @@ class CIRun(model.Model):
1005
1150
  status: Optional[str] = None
1006
1151
  git_service: Optional[str] = None
1007
1152
  git_state: Optional["CIGitState"] = None
1008
- result: Optional[Sequence["CIRunResult"]] = None
1153
+ result: Optional["CIRunResult"] = None
1009
1154
  schedule: Optional["CIScheduleTrigger"] = None
1010
1155
  target_branch: Optional[str] = None
1011
1156
  title: Optional[str] = None
@@ -1025,7 +1170,7 @@ class CIRun(model.Model):
1025
1170
  status: Optional[str] = None,
1026
1171
  git_service: Optional[str] = None,
1027
1172
  git_state: Optional["CIGitState"] = None,
1028
- result: Optional[Sequence["CIRunResult"]] = None,
1173
+ result: Optional["CIRunResult"] = None,
1029
1174
  schedule: Optional["CIScheduleTrigger"] = None,
1030
1175
  target_branch: Optional[str] = None,
1031
1176
  title: Optional[str] = None,
@@ -1056,28 +1201,59 @@ class CIRun(model.Model):
1056
1201
  class CIRunResult(model.Model):
1057
1202
  """
1058
1203
  Attributes:
1059
- status: Run result status
1060
- validator: Run result validator
1204
+ sql_result:
1205
+ sql_error:
1206
+ assert_result:
1207
+ assert_error:
1208
+ content_result:
1209
+ content_error:
1210
+ lookml_result:
1211
+ lookml_error:
1212
+ generic_error:
1061
1213
  """
1062
1214
 
1063
- status: Optional[str] = None
1064
- validator: Optional[str] = None
1215
+ sql_result: Optional["SqlValidatorResult"] = None
1216
+ sql_error: Optional["GenericError"] = None
1217
+ assert_result: Optional["AssertValidatorResult"] = None
1218
+ assert_error: Optional["GenericError"] = None
1219
+ content_result: Optional["ContentValidatorResult"] = None
1220
+ content_error: Optional["GenericError"] = None
1221
+ lookml_result: Optional["LookMLValidatorResult"] = None
1222
+ lookml_error: Optional["GenericError"] = None
1223
+ generic_error: Optional["GenericError"] = None
1065
1224
 
1066
1225
  def __init__(
1067
- self, *, status: Optional[str] = None, validator: Optional[str] = None
1226
+ self,
1227
+ *,
1228
+ sql_result: Optional["SqlValidatorResult"] = None,
1229
+ sql_error: Optional["GenericError"] = None,
1230
+ assert_result: Optional["AssertValidatorResult"] = None,
1231
+ assert_error: Optional["GenericError"] = None,
1232
+ content_result: Optional["ContentValidatorResult"] = None,
1233
+ content_error: Optional["GenericError"] = None,
1234
+ lookml_result: Optional["LookMLValidatorResult"] = None,
1235
+ lookml_error: Optional["GenericError"] = None,
1236
+ generic_error: Optional["GenericError"] = None
1068
1237
  ):
1069
- self.status = status
1070
- self.validator = validator
1238
+ self.sql_result = sql_result
1239
+ self.sql_error = sql_error
1240
+ self.assert_result = assert_result
1241
+ self.assert_error = assert_error
1242
+ self.content_result = content_result
1243
+ self.content_error = content_error
1244
+ self.lookml_result = lookml_result
1245
+ self.lookml_error = lookml_error
1246
+ self.generic_error = generic_error
1071
1247
 
1072
1248
 
1073
1249
  @attr.s(auto_attribs=True, init=False)
1074
1250
  class CIScheduleTrigger(model.Model):
1075
1251
  """
1076
1252
  Attributes:
1077
- enabled: Whether schedule is active
1078
- day: Day of week (0 = Sunday, 6 = Saturday)
1079
- hour: Hour of the day (24 hour format)
1080
- frequency: How often the schedule is configured to run
1253
+ enabled: Whether the CI run schedule is active
1254
+ day: For scheduled runs, day of the week that the CI run is scheduled
1255
+ hour: For schedules runs, the hour of the day (24 hour format) that the CI run is scheduled
1256
+ frequency: For scheduled runs, how often the CI run is scheduled to run (hourly, daily, weekly)
1081
1257
  """
1082
1258
 
1083
1259
  enabled: Optional[bool] = None
@@ -1953,6 +2129,75 @@ class ContentValidationScheduledPlan(model.Model):
1953
2129
  self.id = id
1954
2130
 
1955
2131
 
2132
+ @attr.s(auto_attribs=True, init=False)
2133
+ class ContentValidatorContentError(model.Model):
2134
+ """
2135
+ Attributes:
2136
+ type: A URI reference that identifies the problem type
2137
+ title: Overview of the error
2138
+ detail: Detail of the error
2139
+ status: The HTTP status code for the problem
2140
+ instance: URI reference that identifies the specific occurrence of the problem
2141
+ model: LookML model that contains the error
2142
+ explore: LookML Explore that contains the error
2143
+ field_name: LookML field that caused the error
2144
+ content_type: Type of the content (dashboard, look)
2145
+ folder: Folder of the content
2146
+ url: URL of the content
2147
+ tile_type: Type of the tile (dashboard_element, dashboard_filter)
2148
+ tile_title: Title of the tile
2149
+ message: Message returned by the content validator
2150
+ """
2151
+
2152
+ type: Optional[str] = None
2153
+ title: Optional[str] = None
2154
+ detail: Optional[str] = None
2155
+ status: Optional[str] = None
2156
+ instance: Optional[str] = None
2157
+ model: Optional[str] = None
2158
+ explore: Optional[str] = None
2159
+ field_name: Optional[str] = None
2160
+ content_type: Optional[str] = None
2161
+ folder: Optional[str] = None
2162
+ url: Optional[str] = None
2163
+ tile_type: Optional[str] = None
2164
+ tile_title: Optional[str] = None
2165
+ message: Optional[str] = None
2166
+
2167
+ def __init__(
2168
+ self,
2169
+ *,
2170
+ type: Optional[str] = None,
2171
+ title: Optional[str] = None,
2172
+ detail: Optional[str] = None,
2173
+ status: Optional[str] = None,
2174
+ instance: Optional[str] = None,
2175
+ model: Optional[str] = None,
2176
+ explore: Optional[str] = None,
2177
+ field_name: Optional[str] = None,
2178
+ content_type: Optional[str] = None,
2179
+ folder: Optional[str] = None,
2180
+ url: Optional[str] = None,
2181
+ tile_type: Optional[str] = None,
2182
+ tile_title: Optional[str] = None,
2183
+ message: Optional[str] = None
2184
+ ):
2185
+ self.type = type
2186
+ self.title = title
2187
+ self.detail = detail
2188
+ self.status = status
2189
+ self.instance = instance
2190
+ self.model = model
2191
+ self.explore = explore
2192
+ self.field_name = field_name
2193
+ self.content_type = content_type
2194
+ self.folder = folder
2195
+ self.url = url
2196
+ self.tile_type = tile_type
2197
+ self.tile_title = tile_title
2198
+ self.message = message
2199
+
2200
+
1956
2201
  @attr.s(auto_attribs=True, init=False)
1957
2202
  class ContentValidatorError(model.Model):
1958
2203
  """
@@ -2008,6 +2253,77 @@ class ContentValidatorError(model.Model):
2008
2253
  self.id = id
2009
2254
 
2010
2255
 
2256
+ @attr.s(auto_attribs=True, init=False)
2257
+ class ContentValidatorErrorItem(model.Model):
2258
+ """
2259
+ Attributes:
2260
+ content_error:
2261
+ generic_error:
2262
+ """
2263
+
2264
+ content_error: Optional["ContentValidatorContentError"] = None
2265
+ generic_error: Optional["GenericError"] = None
2266
+
2267
+ def __init__(
2268
+ self,
2269
+ *,
2270
+ content_error: Optional["ContentValidatorContentError"] = None,
2271
+ generic_error: Optional["GenericError"] = None
2272
+ ):
2273
+ self.content_error = content_error
2274
+ self.generic_error = generic_error
2275
+
2276
+
2277
+ @attr.s(auto_attribs=True, init=False)
2278
+ class ContentValidatorResult(model.Model):
2279
+ """
2280
+ Attributes:
2281
+ name: Name of the validator (content)
2282
+ incremental: Whether the validation was incremental
2283
+ status: Status of the validation (unknown, failed, passed, skipped, errored, cancelled, queued, running)
2284
+ result: Results of the content validation
2285
+ """
2286
+
2287
+ name: Optional[str] = None
2288
+ incremental: Optional[bool] = None
2289
+ status: Optional[str] = None
2290
+ result: Optional[Sequence["ContentValidatorTestedExplore"]] = None
2291
+
2292
+ def __init__(
2293
+ self,
2294
+ *,
2295
+ name: Optional[str] = None,
2296
+ incremental: Optional[bool] = None,
2297
+ status: Optional[str] = None,
2298
+ result: Optional[Sequence["ContentValidatorTestedExplore"]] = None
2299
+ ):
2300
+ self.name = name
2301
+ self.incremental = incremental
2302
+ self.status = status
2303
+ self.result = result
2304
+
2305
+
2306
+ @attr.s(auto_attribs=True, init=False)
2307
+ class ContentValidatorTestedExplore(model.Model):
2308
+ """
2309
+ Attributes:
2310
+ error_count: Total number of failed content validations
2311
+ errors: Details of the content that failed validation
2312
+ """
2313
+
2314
+ error_count: Optional[int] = None
2315
+ errors: Optional[Sequence["ContentValidatorErrorItem"]] = None
2316
+
2317
+ def __init__(
2318
+ self,
2319
+ *,
2320
+ error_count: Optional[int] = None,
2321
+ errors: Optional[Sequence["ContentValidatorErrorItem"]] = None
2322
+ ):
2323
+ self.error_count = error_count
2324
+ self.errors = errors
2325
+
2326
+
2011
2327
  @attr.s(auto_attribs=True, init=False)
2012
2328
  class ContentView(model.Model):
2013
2329
  """
@@ -2131,45 +2447,33 @@ class CostEstimate(model.Model):
2131
2447
  class CreateCIRunRequest(model.Model):
2132
2448
  """
2133
2449
  Attributes:
2134
- suite_id: Run ID
2135
- branch: The branch to test. Omit to test production.
2136
- target: Suite name
2137
- commit: The commit to test. Omit to test production.
2138
- user_attributes: User attributes to set for run
2139
- webhooks: Webhooks to trigger when run completes.
2450
+ suite_id: ID of the CI suite
2451
+ branch: Branch that the CI run should validate. Omit to test production.
2452
+ commit: Commit that the CI run should validate. Omit to test production.
2140
2453
  """
2141
2454
 
2142
2455
  suite_id: Optional[str] = None
2143
2456
  branch: Optional[str] = None
2144
- target: Optional[str] = None
2145
2457
  commit: Optional[str] = None
2146
- user_attributes: Optional[Sequence[str]] = None
2147
- webhooks: Optional[Sequence[str]] = None
2148
2458
 
2149
2459
  def __init__(
2150
2460
  self,
2151
2461
  *,
2152
2462
  suite_id: Optional[str] = None,
2153
2463
  branch: Optional[str] = None,
2154
- target: Optional[str] = None,
2155
- commit: Optional[str] = None,
2156
- user_attributes: Optional[Sequence[str]] = None,
2157
- webhooks: Optional[Sequence[str]] = None
2464
+ commit: Optional[str] = None
2158
2465
  ):
2159
2466
  self.suite_id = suite_id
2160
2467
  self.branch = branch
2161
- self.target = target
2162
2468
  self.commit = commit
2163
- self.user_attributes = user_attributes
2164
- self.webhooks = webhooks
2165
2469
 
2166
2470
 
2167
2471
  @attr.s(auto_attribs=True, init=False)
2168
2472
  class CreateCIRunResponse(model.Model):
2169
2473
  """
2170
2474
  Attributes:
2171
- run_id: Run ID
2172
- status: Run status
2475
+ run_id: ID of the CI run
2476
+ status: Status of the CI run (unknown, failed, passed, skipped, errored, cancelled, queued, running)
2173
2477
  """
2174
2478
 
2175
2479
  run_id: Optional[str] = None
@@ -4500,7 +4804,7 @@ class Dialect(model.Model):
4500
4804
 
4501
4805
 
4502
4806
  @attr.s(auto_attribs=True, init=False)
4503
- class DialectDriverVersion(model.Model):
4807
+ class DialectDriverNamesVersion(model.Model):
4504
4808
  """
4505
4809
  Attributes:
4506
4810
  name: Name to be passed to the backend
@@ -4524,6 +4828,8 @@ class DialectInfo(model.Model):
4524
4828
  can: Operations the current user is able to perform on this object
4525
4829
  default_max_connections: Default number max connections
4526
4830
  default_port: Default port number
4831
+ default_max_queries: Default number max queries
4832
+ default_max_queries_per_user: Default number max queries per user
4527
4833
  installed: Is the supporting driver installed
4528
4834
  label: The human-readable label of the connection
4529
4835
  label_for_database_equivalent: What the dialect calls the equivalent of a normal SQL table
@@ -4537,13 +4843,15 @@ class DialectInfo(model.Model):
4537
4843
  can: Optional[MutableMapping[str, bool]] = None
4538
4844
  default_max_connections: Optional[str] = None
4539
4845
  default_port: Optional[str] = None
4846
+ default_max_queries: Optional[str] = None
4847
+ default_max_queries_per_user: Optional[str] = None
4540
4848
  installed: Optional[bool] = None
4541
4849
  label: Optional[str] = None
4542
4850
  label_for_database_equivalent: Optional[str] = None
4543
4851
  label_for_schema_equivalent: Optional[str] = None
4544
4852
  name: Optional[str] = None
4545
4853
  supported_driver_name: Optional[str] = None
4546
- supported_driver_versions: Optional[Sequence["DialectDriverVersion"]] = None
4854
+ supported_driver_versions: Optional[Sequence["DialectDriverNamesVersion"]] = None
4547
4855
  supported_options: Optional["DialectInfoOptions"] = None
4548
4856
 
4549
4857
  def __init__(
@@ -4552,18 +4860,24 @@ class DialectInfo(model.Model):
4552
4860
  can: Optional[MutableMapping[str, bool]] = None,
4553
4861
  default_max_connections: Optional[str] = None,
4554
4862
  default_port: Optional[str] = None,
4863
+ default_max_queries: Optional[str] = None,
4864
+ default_max_queries_per_user: Optional[str] = None,
4555
4865
  installed: Optional[bool] = None,
4556
4866
  label: Optional[str] = None,
4557
4867
  label_for_database_equivalent: Optional[str] = None,
4558
4868
  label_for_schema_equivalent: Optional[str] = None,
4559
4869
  name: Optional[str] = None,
4560
4870
  supported_driver_name: Optional[str] = None,
4561
- supported_driver_versions: Optional[Sequence["DialectDriverVersion"]] = None,
4871
+ supported_driver_versions: Optional[
4872
+ Sequence["DialectDriverNamesVersion"]
4873
+ ] = None,
4562
4874
  supported_options: Optional["DialectInfoOptions"] = None
4563
4875
  ):
4564
4876
  self.can = can
4565
4877
  self.default_max_connections = default_max_connections
4566
4878
  self.default_port = default_port
4879
+ self.default_max_queries = default_max_queries
4880
+ self.default_max_queries_per_user = default_max_queries_per_user
4567
4881
  self.installed = installed
4568
4882
  self.label = label
4569
4883
  self.label_for_database_equivalent = label_for_database_equivalent
@@ -5377,6 +5691,39 @@ class Format(enum.Enum):
5377
5691
  Format.__new__ = model.safe_enum__new__ # type: ignore
5378
5692
 
5379
5693
 
5694
+ @attr.s(auto_attribs=True, init=False)
5695
+ class GenericError(model.Model):
5696
+ """
5697
+ Attributes:
5698
+ type: A URI reference that identifies the problem type
5699
+ title: Overview of the error
5700
+ detail: Detail of the error
5701
+ status: The HTTP status code for the problem
5702
+ instance: URI reference that identifies the specific occurrence of the problem
5703
+ """
5704
+
5705
+ type: Optional[str] = None
5706
+ title: Optional[str] = None
5707
+ detail: Optional[str] = None
5708
+ status: Optional[str] = None
5709
+ instance: Optional[str] = None
5710
+
5711
+ def __init__(
5712
+ self,
5713
+ *,
5714
+ type: Optional[str] = None,
5715
+ title: Optional[str] = None,
5716
+ detail: Optional[str] = None,
5717
+ status: Optional[str] = None,
5718
+ instance: Optional[str] = None
5719
+ ):
5720
+ self.type = type
5721
+ self.title = title
5722
+ self.detail = detail
5723
+ self.status = status
5724
+ self.instance = instance
5725
+
5726
+
5380
5727
  @attr.s(auto_attribs=True, init=False)
5381
5728
  class GitBranch(model.Model):
5382
5729
  """
@@ -6530,6 +6877,22 @@ class JsonBiTableCalc(model.Model):
6530
6877
  self.measure = measure
6531
6878
 
6532
6879
 
6880
+ class Kind(enum.Enum):
6881
+ """
6882
+ The type of calculation for the period_over_period measure. Valid values are: "previous", "difference", "relative_change". (Enum defined in LookmlModelExploreFieldPeriodOverPeriodParams)
6883
+
6884
+ """
6885
+
6886
+ previous = "previous"
6887
+ difference = "difference"
6888
+ relative_change = "relative_change"
6889
+ invalid_api_enum_value = "invalid_api_enum_value"
6890
+
6891
+
6892
+ # https://github.com/python/mypy/issues/2427
6893
+ Kind.__new__ = model.safe_enum__new__ # type: ignore
6894
+
6895
+
6533
6896
  @attr.s(auto_attribs=True, init=False)
6534
6897
  class LDAPConfig(model.Model):
6535
6898
  """
@@ -7618,6 +7981,7 @@ class LookmlModelExploreField(model.Model):
7618
7981
  name: Fully-qualified name of the field.
7619
7982
  strict_value_format: If yes, the field will not be localized with the user attribute number_format. Defaults to no
7620
7983
  parameter: Whether this field is a parameter.
7984
+ period_over_period_params:
7621
7985
  permanent: Whether this field can be removed from a query.
7622
7986
  primary_key: Whether or not the field represents a primary key.
7623
7987
  project_name: The name of the project this field is defined in.
@@ -7677,6 +8041,9 @@ class LookmlModelExploreField(model.Model):
7677
8041
  name: Optional[str] = None
7678
8042
  strict_value_format: Optional[bool] = None
7679
8043
  parameter: Optional[bool] = None
8044
+ period_over_period_params: Optional[
8045
+ "LookmlModelExploreFieldPeriodOverPeriodParams"
8046
+ ] = None
7680
8047
  permanent: Optional[bool] = None
7681
8048
  primary_key: Optional[bool] = None
7682
8049
  project_name: Optional[str] = None
@@ -7738,6 +8105,9 @@ class LookmlModelExploreField(model.Model):
7738
8105
  name: Optional[str] = None,
7739
8106
  strict_value_format: Optional[bool] = None,
7740
8107
  parameter: Optional[bool] = None,
8108
+ period_over_period_params: Optional[
8109
+ "LookmlModelExploreFieldPeriodOverPeriodParams"
8110
+ ] = None,
7741
8111
  permanent: Optional[bool] = None,
7742
8112
  primary_key: Optional[bool] = None,
7743
8113
  project_name: Optional[str] = None,
@@ -7798,6 +8168,7 @@ class LookmlModelExploreField(model.Model):
7798
8168
  self.name = name
7799
8169
  self.strict_value_format = strict_value_format
7800
8170
  self.parameter = parameter
8171
+ self.period_over_period_params = period_over_period_params
7801
8172
  self.permanent = permanent
7802
8173
  self.primary_key = primary_key
7803
8174
  self.project_name = project_name
@@ -7910,6 +8281,35 @@ class LookmlModelExploreFieldMeasureFilters(model.Model):
7910
8281
  self.condition = condition
7911
8282
 
7912
8283
 
8284
+ @attr.s(auto_attribs=True, init=False)
8285
+ class LookmlModelExploreFieldPeriodOverPeriodParams(model.Model):
8286
+ """
8287
+ Attributes:
8288
+ based_on: Specifies the measure that will be calculated over the different periods.
8289
+ based_on_time: Specifies the time dimension that this measure will operate over.
8290
+ period: Specifies the time frame for the comparison. Valid values are: "year", "fiscal_year", "quarter", "fiscal_quarter", "month", "week", "date".
8291
+ kind: The type of calculation for the period_over_period measure. Valid values are: "previous", "difference", "relative_change".
8292
+ """
8293
+
8294
+ based_on: Optional[str] = None
8295
+ based_on_time: Optional[str] = None
8296
+ period: Optional["Period"] = None
8297
+ kind: Optional["Kind"] = None
8298
+
8299
+ def __init__(
8300
+ self,
8301
+ *,
8302
+ based_on: Optional[str] = None,
8303
+ based_on_time: Optional[str] = None,
8304
+ period: Optional["Period"] = None,
8305
+ kind: Optional["Kind"] = None
8306
+ ):
8307
+ self.based_on = based_on
8308
+ self.based_on_time = based_on_time
8309
+ self.period = period
8310
+ self.kind = kind
8311
+
8312
+
7913
8313
  @attr.s(auto_attribs=True, init=False)
7914
8314
  class LookmlModelExploreFieldset(model.Model):
7915
8315
  """
@@ -8194,6 +8594,121 @@ class LookmlTestResult(model.Model):
8194
8594
  self.success = success
8195
8595
 
8196
8596
 
8597
+ @attr.s(auto_attribs=True, init=False)
8598
+ class LookMLValidatorError(model.Model):
8599
+ """
8600
+ Attributes:
8601
+ type: A URI reference that identifies the problem type
8602
+ title: Overview of the error
8603
+ detail: Detail of the error
8604
+ status: The HTTP status code for the problem
8605
+ instance: URI reference that identifies the specific occurrence of the problem
8606
+ model: LookML model that contains the error
8607
+ explore: LookML Explore that contains the error
8608
+ field_name: LookML field that caused the error
8609
+ message: Message returned by the LookML validator
8610
+ severity: Severity of the error (warning, error, fatal, info, success)
8611
+ line_number: Line number of the error in the LookML file
8612
+ lookml_url: URL to the LookML that caused the error
8613
+ file_path: IDE folder path to the LookML file that caused the error
8614
+ """
8615
+
8616
+ type: Optional[str] = None
8617
+ title: Optional[str] = None
8618
+ detail: Optional[str] = None
8619
+ status: Optional[str] = None
8620
+ instance: Optional[str] = None
8621
+ model: Optional[str] = None
8622
+ explore: Optional[str] = None
8623
+ field_name: Optional[str] = None
8624
+ message: Optional[str] = None
8625
+ severity: Optional[str] = None
8626
+ line_number: Optional[str] = None
8627
+ lookml_url: Optional[str] = None
8628
+ file_path: Optional[str] = None
8629
+
8630
+ def __init__(
8631
+ self,
8632
+ *,
8633
+ type: Optional[str] = None,
8634
+ title: Optional[str] = None,
8635
+ detail: Optional[str] = None,
8636
+ status: Optional[str] = None,
8637
+ instance: Optional[str] = None,
8638
+ model: Optional[str] = None,
8639
+ explore: Optional[str] = None,
8640
+ field_name: Optional[str] = None,
8641
+ message: Optional[str] = None,
8642
+ severity: Optional[str] = None,
8643
+ line_number: Optional[str] = None,
8644
+ lookml_url: Optional[str] = None,
8645
+ file_path: Optional[str] = None
8646
+ ):
8647
+ self.type = type
8648
+ self.title = title
8649
+ self.detail = detail
8650
+ self.status = status
8651
+ self.instance = instance
8652
+ self.model = model
8653
+ self.explore = explore
8654
+ self.field_name = field_name
8655
+ self.message = message
8656
+ self.severity = severity
8657
+ self.line_number = line_number
8658
+ self.lookml_url = lookml_url
8659
+ self.file_path = file_path
8660
+
8661
+
8662
+ @attr.s(auto_attribs=True, init=False)
8663
+ class LookMLValidatorErrorItem(model.Model):
8664
+ """
8665
+ Attributes:
8666
+ lookml_error:
8667
+ generic_error:
8668
+ """
8669
+
8670
+ lookml_error: Optional["LookMLValidatorError"] = None
8671
+ generic_error: Optional["GenericError"] = None
8672
+
8673
+ def __init__(
8674
+ self,
8675
+ *,
8676
+ lookml_error: Optional["LookMLValidatorError"] = None,
8677
+ generic_error: Optional["GenericError"] = None
8678
+ ):
8679
+ self.lookml_error = lookml_error
8680
+ self.generic_error = generic_error
8681
+
8682
+
8683
+ @attr.s(auto_attribs=True, init=False)
8684
+ class LookMLValidatorResult(model.Model):
8685
+ """
8686
+ Attributes:
8687
+ name: Name of the validator (lookml)
8688
+ status: Status of the validation (unknown, failed, passed, skipped, errored, cancelled, queued, running)
8689
+ error_count: Total number of failed LookML validations
8690
+ errors: Details of the LookML that failed validation
8691
+ """
8692
+
8693
+ name: Optional[str] = None
8694
+ status: Optional[str] = None
8695
+ error_count: Optional[int] = None
8696
+ errors: Optional[Sequence["LookMLValidatorErrorItem"]] = None
8697
+
8698
+ def __init__(
8699
+ self,
8700
+ *,
8701
+ name: Optional[str] = None,
8702
+ status: Optional[str] = None,
8703
+ error_count: Optional[int] = None,
8704
+ errors: Optional[Sequence["LookMLValidatorErrorItem"]] = None
8705
+ ):
8706
+ self.name = name
8707
+ self.status = status
8708
+ self.error_count = error_count
8709
+ self.errors = errors
8710
+
8711
+
8197
8712
  @attr.s(auto_attribs=True, init=False)
8198
8713
  class LookModel(model.Model):
8199
8714
  """
@@ -9295,6 +9810,26 @@ class PasswordConfig(model.Model):
9295
9810
  self.require_special = require_special
9296
9811
 
9297
9812
 
9813
+ class Period(enum.Enum):
9814
+ """
9815
+ Specifies the time frame for the comparison. Valid values are: "year", "fiscal_year", "quarter", "fiscal_quarter", "month", "week", "date". (Enum defined in LookmlModelExploreFieldPeriodOverPeriodParams)
9816
+
9817
+ """
9818
+
9819
+ year = "year"
9820
+ fiscal_year = "fiscal_year"
9821
+ quarter = "quarter"
9822
+ fiscal_quarter = "fiscal_quarter"
9823
+ month = "month"
9824
+ week = "week"
9825
+ date = "date"
9826
+ invalid_api_enum_value = "invalid_api_enum_value"
9827
+
9828
+
9829
+ # https://github.com/python/mypy/issues/2427
9830
+ Period.__new__ = model.safe_enum__new__ # type: ignore
9831
+
9832
+
9298
9833
  @attr.s(auto_attribs=True, init=False)
9299
9834
  class Permission(model.Model):
9300
9835
  """
@@ -11783,6 +12318,154 @@ class SqlQueryCreate(model.Model):
11783
12318
  self.vis_config = vis_config
11784
12319
 
11785
12320
 
12321
+ @attr.s(auto_attribs=True, init=False)
12322
+ class SqlValidatorError(model.Model):
12323
+ """
12324
+ Attributes:
12325
+ type: A URI reference that identifies the problem type
12326
+ title: Overview of the error
12327
+ detail: Detail of the error
12328
+ status: The HTTP status code for the problem
12329
+ instance: URI reference that identifies the specific occurrence of the problem
12330
+ model: LookML model that contains the Explore that failed SQL validation
12331
+ explore: LookML Explore that failed SQL validation
12332
+ message: Message returned by the SQL validation
12333
+ explore_url: URL to the Explore
12334
+ lookml_url: URL to the LookML that caused the error
12335
+ dimension: LookML dimension that caused the error
12336
+ line_number: Line of the error in the LookML file
12337
+ """
12338
+
12339
+ type: Optional[str] = None
12340
+ title: Optional[str] = None
12341
+ detail: Optional[str] = None
12342
+ status: Optional[str] = None
12343
+ instance: Optional[str] = None
12344
+ model: Optional[str] = None
12345
+ explore: Optional[str] = None
12346
+ message: Optional[str] = None
12347
+ explore_url: Optional[str] = None
12348
+ lookml_url: Optional[str] = None
12349
+ dimension: Optional[str] = None
12350
+ line_number: Optional[str] = None
12351
+
12352
+ def __init__(
12353
+ self,
12354
+ *,
12355
+ type: Optional[str] = None,
12356
+ title: Optional[str] = None,
12357
+ detail: Optional[str] = None,
12358
+ status: Optional[str] = None,
12359
+ instance: Optional[str] = None,
12360
+ model: Optional[str] = None,
12361
+ explore: Optional[str] = None,
12362
+ message: Optional[str] = None,
12363
+ explore_url: Optional[str] = None,
12364
+ lookml_url: Optional[str] = None,
12365
+ dimension: Optional[str] = None,
12366
+ line_number: Optional[str] = None
12367
+ ):
12368
+ self.type = type
12369
+ self.title = title
12370
+ self.detail = detail
12371
+ self.status = status
12372
+ self.instance = instance
12373
+ self.model = model
12374
+ self.explore = explore
12375
+ self.message = message
12376
+ self.explore_url = explore_url
12377
+ self.lookml_url = lookml_url
12378
+ self.dimension = dimension
12379
+ self.line_number = line_number
12380
+
12381
+
12382
+ @attr.s(auto_attribs=True, init=False)
12383
+ class SqlValidatorErrorItem(model.Model):
12384
+ """
12385
+ Attributes:
12386
+ sql_error:
12387
+ generic_error:
12388
+ """
12389
+
12390
+ sql_error: Optional["SqlValidatorError"] = None
12391
+ generic_error: Optional["GenericError"] = None
12392
+
12393
+ def __init__(
12394
+ self,
12395
+ *,
12396
+ sql_error: Optional["SqlValidatorError"] = None,
12397
+ generic_error: Optional["GenericError"] = None
12398
+ ):
12399
+ self.sql_error = sql_error
12400
+ self.generic_error = generic_error
12401
+
12402
+
12403
+ @attr.s(auto_attribs=True, init=False)
12404
+ class SqlValidatorResult(model.Model):
12405
+ """
12406
+ Attributes:
12407
+ name: Name of the validator (sql)
12408
+ incremental: Whether the validation was incremental
12409
+ status: Status of the validation (unknown, failed, passed, skipped, errored, cancelled, queued, running)
12410
+ result: The results of tested Explores
12411
+ """
12412
+
12413
+ name: Optional[str] = None
12414
+ incremental: Optional[bool] = None
12415
+ status: Optional[str] = None
12416
+ result: Optional[Sequence["SqlValidatorTestedExplore"]] = None
12417
+
12418
+ def __init__(
12419
+ self,
12420
+ *,
12421
+ name: Optional[str] = None,
12422
+ incremental: Optional[bool] = None,
12423
+ status: Optional[str] = None,
12424
+ result: Optional[Sequence["SqlValidatorTestedExplore"]] = None
12425
+ ):
12426
+ self.name = name
12427
+ self.incremental = incremental
12428
+ self.status = status
12429
+ self.result = result
12430
+
12431
+
12432
+ @attr.s(auto_attribs=True, init=False)
12433
+ class SqlValidatorTestedExplore(model.Model):
12434
+ """
12435
+ Attributes:
12436
+ model: LookML model that was tested
12437
+ explore: LookML Explore that was tested
12438
+ status: Status of the validation (unknown, failed, passed, skipped, errored, cancelled, queued, running)
12439
+ skip_reason: Reason the validation was skipped
12440
+ error_count: Total number of failed validations
12441
+ errors: Details of the LookML that failed SQL validation
12442
+ """
12443
+
12444
+ model: Optional[str] = None
12445
+ explore: Optional[str] = None
12446
+ status: Optional[str] = None
12447
+ skip_reason: Optional[str] = None
12448
+ error_count: Optional[int] = None
12449
+ errors: Optional[Sequence["SqlValidatorErrorItem"]] = None
12450
+
12451
+ def __init__(
12452
+ self,
12453
+ *,
12454
+ model: Optional[str] = None,
12455
+ explore: Optional[str] = None,
12456
+ status: Optional[str] = None,
12457
+ skip_reason: Optional[str] = None,
12458
+ error_count: Optional[int] = None,
12459
+ errors: Optional[Sequence["SqlValidatorErrorItem"]] = None
12460
+ ):
12461
+ self.model = model
12462
+ self.explore = explore
12463
+ self.status = status
12464
+ self.skip_reason = skip_reason
12465
+ self.error_count = error_count
12466
+ self.errors = errors
12467
+
12468
+
11786
12469
  @attr.s(auto_attribs=True, init=False)
11787
12470
  class SshPublicKey(model.Model):
11788
12471
  """
@@ -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.6"
23
+ sdk_version = "25.8"
24
24
  environment_prefix = "LOOKERSDK"
@@ -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.6.0"
23
+ __version__ = "25.8.0"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: looker-sdk
3
- Version: 25.6.0
3
+ Version: 25.8.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.
File without changes
File without changes
File without changes
File without changes
File without changes