looker-sdk 24.12.1__py3-none-any.whl → 24.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.
@@ -21,7 +21,7 @@
21
21
  # SOFTWARE.
22
22
  #
23
23
 
24
- # 464 API methods
24
+ # 466 API methods
25
25
 
26
26
 
27
27
  # NOTE: Do not edit this file generated by Looker SDK Codegen for API 4.0
@@ -3237,6 +3237,8 @@ class Looker40SDK(api_methods.APIMethods):
3237
3237
  # - allow_user_timezones
3238
3238
  # - custom_welcome_email
3239
3239
  # - data_connector_default_enabled
3240
+ # - dashboard_auto_refresh_restriction
3241
+ # - dashboard_auto_refresh_minimum_interval
3240
3242
  # - extension_framework_enabled
3241
3243
  # - extension_load_url_enabled
3242
3244
  # - instance_config
@@ -3279,6 +3281,8 @@ class Looker40SDK(api_methods.APIMethods):
3279
3281
  # - allow_user_timezones
3280
3282
  # - custom_welcome_email
3281
3283
  # - data_connector_default_enabled
3284
+ # - dashboard_auto_refresh_restriction
3285
+ # - dashboard_auto_refresh_minimum_interval
3282
3286
  # - extension_framework_enabled
3283
3287
  # - extension_load_url_enabled
3284
3288
  # - instance_config
@@ -3742,6 +3746,31 @@ class Looker40SDK(api_methods.APIMethods):
3742
3746
  )
3743
3747
  return response
3744
3748
 
3749
+ # ### Update an OAuth Application's client secret.
3750
+ #
3751
+ # This is an OAuth Application which Looker uses to access external systems.
3752
+ #
3753
+ # PATCH /external_oauth_applications/{client_id} -> mdls.ExternalOauthApplication
3754
+ def update_external_oauth_application(
3755
+ self,
3756
+ # The client ID of the OAuth App to update
3757
+ client_id: str,
3758
+ body: mdls.WriteExternalOauthApplication,
3759
+ transport_options: Optional[transport.TransportOptions] = None,
3760
+ ) -> mdls.ExternalOauthApplication:
3761
+ """Update External OAuth Application"""
3762
+ client_id = self.encode_path_param(client_id)
3763
+ response = cast(
3764
+ mdls.ExternalOauthApplication,
3765
+ self.patch(
3766
+ path=f"/external_oauth_applications/{client_id}",
3767
+ structure=mdls.ExternalOauthApplication,
3768
+ body=body,
3769
+ transport_options=transport_options,
3770
+ ),
3771
+ )
3772
+ return response
3773
+
3745
3774
  # ### Create OAuth User state.
3746
3775
  #
3747
3776
  # POST /external_oauth_applications/user_state -> mdls.CreateOAuthApplicationUserStateResponse
@@ -4395,6 +4424,50 @@ class Looker40SDK(api_methods.APIMethods):
4395
4424
  )
4396
4425
  return response
4397
4426
 
4427
+ # ### Get Content Summary
4428
+ #
4429
+ # Retrieves a collection of content items related to user activity and engagement, such as recently viewed content,
4430
+ # favorites and scheduled items.
4431
+ #
4432
+ # GET /content_summary -> Sequence[mdls.ContentSummary]
4433
+ def content_summary(
4434
+ self,
4435
+ # Comma-delimited names of fields to return in responses. Omit for all fields
4436
+ fields: Optional[str] = None,
4437
+ # Number of results to return. (used with offset)
4438
+ limit: Optional[int] = None,
4439
+ # Number of results to skip before returning any. (used with limit)
4440
+ offset: Optional[int] = None,
4441
+ # Match group id
4442
+ target_group_id: Optional[str] = None,
4443
+ # Match user id
4444
+ target_user_id: Optional[str] = None,
4445
+ # Content type to match, options are: look, dashboard. Can be provided as a comma delimited list.
4446
+ target_content_type: Optional[str] = None,
4447
+ # Fields to sort by
4448
+ sorts: Optional[str] = None,
4449
+ transport_options: Optional[transport.TransportOptions] = None,
4450
+ ) -> Sequence[mdls.ContentSummary]:
4451
+ """Search Content Summaries"""
4452
+ response = cast(
4453
+ Sequence[mdls.ContentSummary],
4454
+ self.get(
4455
+ path="/content_summary",
4456
+ structure=Sequence[mdls.ContentSummary],
4457
+ query_params={
4458
+ "fields": fields,
4459
+ "limit": limit,
4460
+ "offset": offset,
4461
+ "target_group_id": target_group_id,
4462
+ "target_user_id": target_user_id,
4463
+ "target_content_type": target_content_type,
4464
+ "sorts": sorts,
4465
+ },
4466
+ transport_options=transport_options,
4467
+ ),
4468
+ )
4469
+ return response
4470
+
4398
4471
  # ### Get an image representing the contents of a dashboard or look.
4399
4472
  #
4400
4473
  # The returned thumbnail is an abstract representation of the contents of a dashboard or look and does not
@@ -21,7 +21,7 @@
21
21
  # SOFTWARE.
22
22
  #
23
23
 
24
- # 342 API models: 259 Spec, 0 Request, 61 Write, 22 Enum
24
+ # 343 API models: 260 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
@@ -1283,6 +1283,91 @@ class ContentSearch(model.Model):
1283
1283
  self.preferred_viewer = preferred_viewer
1284
1284
 
1285
1285
 
1286
+ @attr.s(auto_attribs=True, init=False)
1287
+ class ContentSummary(model.Model):
1288
+ """
1289
+ Attributes:
1290
+ can: Operations the current user is able to perform on this object
1291
+ id: Unique id
1292
+ content_type: Content type
1293
+ content_id: Content id
1294
+ content_slug: Content slug
1295
+ title: Content title
1296
+ description: Content Description
1297
+ last_viewed_at: Last time viewed by current user
1298
+ user_id: ID of user who created the content
1299
+ user_full_name: Full name of user who created the content
1300
+ is_scheduled: If the content is scheduled by the current user
1301
+ favorite_count: Number of favorites
1302
+ view_count: Number of views
1303
+ favorite_id: Corresponding favorite id if item is favorited by current user
1304
+ weighted_score:
1305
+ group_weighted_score:
1306
+ suggestion_score:
1307
+ preferred_viewer: The preferred route for viewing this content (ie: dashboards or dashboards-next)
1308
+ """
1309
+
1310
+ can: Optional[MutableMapping[str, bool]] = None
1311
+ id: Optional[str] = None
1312
+ content_type: Optional[str] = None
1313
+ content_id: Optional[str] = None
1314
+ content_slug: Optional[str] = None
1315
+ title: Optional[str] = None
1316
+ description: Optional[str] = None
1317
+ last_viewed_at: Optional[datetime.datetime] = None
1318
+ user_id: Optional[str] = None
1319
+ user_full_name: Optional[str] = None
1320
+ is_scheduled: Optional[bool] = None
1321
+ favorite_count: Optional[int] = None
1322
+ view_count: Optional[int] = None
1323
+ favorite_id: Optional[str] = None
1324
+ weighted_score: Optional[float] = None
1325
+ group_weighted_score: Optional[float] = None
1326
+ suggestion_score: Optional[float] = None
1327
+ preferred_viewer: Optional[str] = None
1328
+
1329
+ def __init__(
1330
+ self,
1331
+ *,
1332
+ can: Optional[MutableMapping[str, bool]] = None,
1333
+ id: Optional[str] = None,
1334
+ content_type: Optional[str] = None,
1335
+ content_id: Optional[str] = None,
1336
+ content_slug: Optional[str] = None,
1337
+ title: Optional[str] = None,
1338
+ description: Optional[str] = None,
1339
+ last_viewed_at: Optional[datetime.datetime] = None,
1340
+ user_id: Optional[str] = None,
1341
+ user_full_name: Optional[str] = None,
1342
+ is_scheduled: Optional[bool] = None,
1343
+ favorite_count: Optional[int] = None,
1344
+ view_count: Optional[int] = None,
1345
+ favorite_id: Optional[str] = None,
1346
+ weighted_score: Optional[float] = None,
1347
+ group_weighted_score: Optional[float] = None,
1348
+ suggestion_score: Optional[float] = None,
1349
+ preferred_viewer: Optional[str] = None
1350
+ ):
1351
+ self.can = can
1352
+ self.id = id
1353
+ self.content_type = content_type
1354
+ self.content_id = content_id
1355
+ self.content_slug = content_slug
1356
+ self.title = title
1357
+ self.description = description
1358
+ self.last_viewed_at = last_viewed_at
1359
+ self.user_id = user_id
1360
+ self.user_full_name = user_full_name
1361
+ self.is_scheduled = is_scheduled
1362
+ self.favorite_count = favorite_count
1363
+ self.view_count = view_count
1364
+ self.favorite_id = favorite_id
1365
+ self.weighted_score = weighted_score
1366
+ self.group_weighted_score = group_weighted_score
1367
+ self.suggestion_score = suggestion_score
1368
+ self.preferred_viewer = preferred_viewer
1369
+
1370
+
1286
1371
  @attr.s(auto_attribs=True, init=False)
1287
1372
  class ContentValidation(model.Model):
1288
1373
  """
@@ -2192,6 +2277,8 @@ class CredentialsEmail(model.Model):
2192
2277
  logged_in_at: Timestamp for most recent login using credential
2193
2278
  password_reset_url: Url with one-time use secret token that the user can use to reset password
2194
2279
  account_setup_url: Url with one-time use secret token that the user can use to setup account
2280
+ password_reset_url_expired: Is password_reset_url expired or not present?
2281
+ account_setup_url_expired: Is account_setup_url expired or not present?
2195
2282
  type: Short name for the type of this kind of credential
2196
2283
  url: Link to get this item
2197
2284
  user_url: Link to get this user
@@ -2206,6 +2293,8 @@ class CredentialsEmail(model.Model):
2206
2293
  logged_in_at: Optional[str] = None
2207
2294
  password_reset_url: Optional[str] = None
2208
2295
  account_setup_url: Optional[str] = None
2296
+ password_reset_url_expired: Optional[bool] = None
2297
+ account_setup_url_expired: Optional[bool] = None
2209
2298
  type: Optional[str] = None
2210
2299
  url: Optional[str] = None
2211
2300
  user_url: Optional[str] = None
@@ -2222,6 +2311,8 @@ class CredentialsEmail(model.Model):
2222
2311
  logged_in_at: Optional[str] = None,
2223
2312
  password_reset_url: Optional[str] = None,
2224
2313
  account_setup_url: Optional[str] = None,
2314
+ password_reset_url_expired: Optional[bool] = None,
2315
+ account_setup_url_expired: Optional[bool] = None,
2225
2316
  type: Optional[str] = None,
2226
2317
  url: Optional[str] = None,
2227
2318
  user_url: Optional[str] = None
@@ -2235,6 +2326,8 @@ class CredentialsEmail(model.Model):
2235
2326
  self.logged_in_at = logged_in_at
2236
2327
  self.password_reset_url = password_reset_url
2237
2328
  self.account_setup_url = account_setup_url
2329
+ self.password_reset_url_expired = password_reset_url_expired
2330
+ self.account_setup_url_expired = account_setup_url_expired
2238
2331
  self.type = type
2239
2332
  self.url = url
2240
2333
  self.user_url = user_url
@@ -2253,6 +2346,8 @@ class CredentialsEmailSearch(model.Model):
2253
2346
  logged_in_at: Timestamp for most recent login using credential
2254
2347
  password_reset_url: Url with one-time use secret token that the user can use to reset password
2255
2348
  account_setup_url: Url with one-time use secret token that the user can use to setup account
2349
+ password_reset_url_expired: Is password_reset_url expired or not present?
2350
+ account_setup_url_expired: Is account_setup_url expired or not present?
2256
2351
  type: Short name for the type of this kind of credential
2257
2352
  url: Link to get this item
2258
2353
  user_url: Link to get this user
@@ -2267,6 +2362,8 @@ class CredentialsEmailSearch(model.Model):
2267
2362
  logged_in_at: Optional[str] = None
2268
2363
  password_reset_url: Optional[str] = None
2269
2364
  account_setup_url: Optional[str] = None
2365
+ password_reset_url_expired: Optional[bool] = None
2366
+ account_setup_url_expired: Optional[bool] = None
2270
2367
  type: Optional[str] = None
2271
2368
  url: Optional[str] = None
2272
2369
  user_url: Optional[str] = None
@@ -2283,6 +2380,8 @@ class CredentialsEmailSearch(model.Model):
2283
2380
  logged_in_at: Optional[str] = None,
2284
2381
  password_reset_url: Optional[str] = None,
2285
2382
  account_setup_url: Optional[str] = None,
2383
+ password_reset_url_expired: Optional[bool] = None,
2384
+ account_setup_url_expired: Optional[bool] = None,
2286
2385
  type: Optional[str] = None,
2287
2386
  url: Optional[str] = None,
2288
2387
  user_url: Optional[str] = None
@@ -2296,6 +2395,8 @@ class CredentialsEmailSearch(model.Model):
2296
2395
  self.logged_in_at = logged_in_at
2297
2396
  self.password_reset_url = password_reset_url
2298
2397
  self.account_setup_url = account_setup_url
2398
+ self.password_reset_url_expired = password_reset_url_expired
2399
+ self.account_setup_url_expired = account_setup_url_expired
2299
2400
  self.type = type
2300
2401
  self.url = url
2301
2402
  self.user_url = user_url
@@ -3581,6 +3682,7 @@ class DBConnection(model.Model):
3581
3682
  username: Username for server authentication
3582
3683
  password: (Write-Only) Password for server authentication
3583
3684
  uses_oauth: Whether the connection uses OAuth for authentication.
3685
+ uses_instance_oauth: Whether the integration uses the oauth instance account.
3584
3686
  certificate: (Write-Only) Base64 encoded Certificate body for server authentication (when appropriate for dialect).
3585
3687
  file_type: (Write-Only) Certificate keyfile type - .json or .p12
3586
3688
  database: Database name
@@ -3588,6 +3690,8 @@ class DBConnection(model.Model):
3588
3690
  query_timezone: Timezone to use in queries
3589
3691
  schema: Schema name
3590
3692
  max_connections: Maximum number of concurrent connection to use
3693
+ max_queries: Maximum number of concurrent queries to begin on this connection
3694
+ max_queries_per_user: Maximum number of concurrent queries per user to begin on this connection
3591
3695
  max_billing_gigabytes: Maximum size of query in GBs (BigQuery only, can be a user_attribute name)
3592
3696
  ssl: Use SSL/TLS when connecting to server
3593
3697
  verify_ssl: Verify the SSL
@@ -3616,9 +3720,14 @@ class DBConnection(model.Model):
3616
3720
  disable_context_comment: When disable_context_comment is true comment will not be added to SQL
3617
3721
  oauth_application_id: An External OAuth Application to use for authenticating to the database
3618
3722
  always_retry_failed_builds: When true, error PDTs will be retried every regenerator cycle
3723
+ uses_application_default_credentials: Whether the connection should authenticate with the Application Default Credentials of the host environment (limited to GCP and certain dialects).
3724
+ impersonated_service_account: An alternative Service Account to use for querying datasets (used primarily with `uses_application_default_credentials`) (limited to GCP and certain dialects).
3619
3725
  cost_estimate_enabled: When true, query cost estimate will be displayed in explore.
3620
3726
  pdt_api_control_enabled: PDT builds on this connection can be kicked off and cancelled via API.
3621
3727
  connection_pooling: Enable database connection pooling.
3728
+ default_bq_connection: When true, represents that this connection is the default BQ connection.
3729
+ bq_storage_project_id: The project id of the default BigQuery storage project.
3730
+ bq_roles_verified: When true, represents that all project roles have been verified.
3622
3731
  """
3623
3732
 
3624
3733
  can: Optional[MutableMapping[str, bool]] = None
@@ -3631,6 +3740,7 @@ class DBConnection(model.Model):
3631
3740
  username: Optional[str] = None
3632
3741
  password: Optional[str] = None
3633
3742
  uses_oauth: Optional[bool] = None
3743
+ uses_instance_oauth: Optional[bool] = None
3634
3744
  certificate: Optional[str] = None
3635
3745
  file_type: Optional[str] = None
3636
3746
  database: Optional[str] = None
@@ -3638,6 +3748,8 @@ class DBConnection(model.Model):
3638
3748
  query_timezone: Optional[str] = None
3639
3749
  schema: Optional[str] = None
3640
3750
  max_connections: Optional[int] = None
3751
+ max_queries: Optional[int] = None
3752
+ max_queries_per_user: Optional[int] = None
3641
3753
  max_billing_gigabytes: Optional[str] = None
3642
3754
  ssl: Optional[bool] = None
3643
3755
  verify_ssl: Optional[bool] = None
@@ -3666,9 +3778,14 @@ class DBConnection(model.Model):
3666
3778
  disable_context_comment: Optional[bool] = None
3667
3779
  oauth_application_id: Optional[str] = None
3668
3780
  always_retry_failed_builds: Optional[bool] = None
3781
+ uses_application_default_credentials: Optional[bool] = None
3782
+ impersonated_service_account: Optional[str] = None
3669
3783
  cost_estimate_enabled: Optional[bool] = None
3670
3784
  pdt_api_control_enabled: Optional[bool] = None
3671
3785
  connection_pooling: Optional[bool] = None
3786
+ default_bq_connection: Optional[bool] = None
3787
+ bq_storage_project_id: Optional[str] = None
3788
+ bq_roles_verified: Optional[bool] = None
3672
3789
 
3673
3790
  def __init__(
3674
3791
  self,
@@ -3683,6 +3800,7 @@ class DBConnection(model.Model):
3683
3800
  username: Optional[str] = None,
3684
3801
  password: Optional[str] = None,
3685
3802
  uses_oauth: Optional[bool] = None,
3803
+ uses_instance_oauth: Optional[bool] = None,
3686
3804
  certificate: Optional[str] = None,
3687
3805
  file_type: Optional[str] = None,
3688
3806
  database: Optional[str] = None,
@@ -3690,6 +3808,8 @@ class DBConnection(model.Model):
3690
3808
  query_timezone: Optional[str] = None,
3691
3809
  schema: Optional[str] = None,
3692
3810
  max_connections: Optional[int] = None,
3811
+ max_queries: Optional[int] = None,
3812
+ max_queries_per_user: Optional[int] = None,
3693
3813
  max_billing_gigabytes: Optional[str] = None,
3694
3814
  ssl: Optional[bool] = None,
3695
3815
  verify_ssl: Optional[bool] = None,
@@ -3718,9 +3838,14 @@ class DBConnection(model.Model):
3718
3838
  disable_context_comment: Optional[bool] = None,
3719
3839
  oauth_application_id: Optional[str] = None,
3720
3840
  always_retry_failed_builds: Optional[bool] = None,
3841
+ uses_application_default_credentials: Optional[bool] = None,
3842
+ impersonated_service_account: Optional[str] = None,
3721
3843
  cost_estimate_enabled: Optional[bool] = None,
3722
3844
  pdt_api_control_enabled: Optional[bool] = None,
3723
- connection_pooling: Optional[bool] = None
3845
+ connection_pooling: Optional[bool] = None,
3846
+ default_bq_connection: Optional[bool] = None,
3847
+ bq_storage_project_id: Optional[str] = None,
3848
+ bq_roles_verified: Optional[bool] = None
3724
3849
  ):
3725
3850
  self.can = can
3726
3851
  self.name = name
@@ -3732,6 +3857,7 @@ class DBConnection(model.Model):
3732
3857
  self.username = username
3733
3858
  self.password = password
3734
3859
  self.uses_oauth = uses_oauth
3860
+ self.uses_instance_oauth = uses_instance_oauth
3735
3861
  self.certificate = certificate
3736
3862
  self.file_type = file_type
3737
3863
  self.database = database
@@ -3739,6 +3865,8 @@ class DBConnection(model.Model):
3739
3865
  self.query_timezone = query_timezone
3740
3866
  self.schema = schema
3741
3867
  self.max_connections = max_connections
3868
+ self.max_queries = max_queries
3869
+ self.max_queries_per_user = max_queries_per_user
3742
3870
  self.max_billing_gigabytes = max_billing_gigabytes
3743
3871
  self.ssl = ssl
3744
3872
  self.verify_ssl = verify_ssl
@@ -3767,9 +3895,14 @@ class DBConnection(model.Model):
3767
3895
  self.disable_context_comment = disable_context_comment
3768
3896
  self.oauth_application_id = oauth_application_id
3769
3897
  self.always_retry_failed_builds = always_retry_failed_builds
3898
+ self.uses_application_default_credentials = uses_application_default_credentials
3899
+ self.impersonated_service_account = impersonated_service_account
3770
3900
  self.cost_estimate_enabled = cost_estimate_enabled
3771
3901
  self.pdt_api_control_enabled = pdt_api_control_enabled
3772
3902
  self.connection_pooling = connection_pooling
3903
+ self.default_bq_connection = default_bq_connection
3904
+ self.bq_storage_project_id = bq_storage_project_id
3905
+ self.bq_roles_verified = bq_roles_verified
3773
3906
 
3774
3907
 
3775
3908
  @attr.s(auto_attribs=True, init=False)
@@ -9954,6 +10087,7 @@ class RunningQueries(model.Model):
9954
10087
  status: Status description
9955
10088
  runtime: Number of seconds elapsed running the Query
9956
10089
  sql: SQL text of the query as run
10090
+ sql_interface_sql: SQL text of the SQL Interface query as run
9957
10091
  """
9958
10092
 
9959
10093
  can: Optional[MutableMapping[str, bool]] = None
@@ -9977,6 +10111,7 @@ class RunningQueries(model.Model):
9977
10111
  status: Optional[str] = None
9978
10112
  runtime: Optional[float] = None
9979
10113
  sql: Optional[str] = None
10114
+ sql_interface_sql: Optional[str] = None
9980
10115
 
9981
10116
  def __init__(
9982
10117
  self,
@@ -10001,7 +10136,8 @@ class RunningQueries(model.Model):
10001
10136
  message: Optional[str] = None,
10002
10137
  status: Optional[str] = None,
10003
10138
  runtime: Optional[float] = None,
10004
- sql: Optional[str] = None
10139
+ sql: Optional[str] = None,
10140
+ sql_interface_sql: Optional[str] = None
10005
10141
  ):
10006
10142
  self.can = can
10007
10143
  self.id = id
@@ -10024,6 +10160,7 @@ class RunningQueries(model.Model):
10024
10160
  self.status = status
10025
10161
  self.runtime = runtime
10026
10162
  self.sql = sql
10163
+ self.sql_interface_sql = sql_interface_sql
10027
10164
 
10028
10165
 
10029
10166
  @attr.s(auto_attribs=True, init=False)
@@ -10352,7 +10489,6 @@ class ScheduledPlan(model.Model):
10352
10489
  crontab: Vixie-Style crontab specification when to run
10353
10490
  datagroup: Name of a datagroup; if specified will run when datagroup triggered (can't be used with cron string)
10354
10491
  timezone: Timezone for interpreting the specified crontab (default is Looker instance timezone)
10355
- query_id: Query id
10356
10492
  scheduled_plan_destination: Scheduled plan destinations
10357
10493
  run_once: Whether the plan in question should only be run once (usually for testing)
10358
10494
  include_links: Whether links back to Looker should be included in this ScheduledPlan
@@ -10366,6 +10502,7 @@ class ScheduledPlan(model.Model):
10366
10502
  color_theme: Color scheme of the dashboard if applicable
10367
10503
  long_tables: Whether or not to expand table vis to full length
10368
10504
  inline_table_width: The pixel width at which we render the inline table visualizations
10505
+ query_id: Query id
10369
10506
  id: Unique Id
10370
10507
  created_at: Date and time when ScheduledPlan was created
10371
10508
  updated_at: Date and time when ScheduledPlan was last updated
@@ -10392,7 +10529,6 @@ class ScheduledPlan(model.Model):
10392
10529
  crontab: Optional[str] = None
10393
10530
  datagroup: Optional[str] = None
10394
10531
  timezone: Optional[str] = None
10395
- query_id: Optional[str] = None
10396
10532
  scheduled_plan_destination: Optional[Sequence["ScheduledPlanDestination"]] = None
10397
10533
  run_once: Optional[bool] = None
10398
10534
  include_links: Optional[bool] = None
@@ -10406,6 +10542,7 @@ class ScheduledPlan(model.Model):
10406
10542
  color_theme: Optional[str] = None
10407
10543
  long_tables: Optional[bool] = None
10408
10544
  inline_table_width: Optional[int] = None
10545
+ query_id: Optional[str] = None
10409
10546
  id: Optional[str] = None
10410
10547
  created_at: Optional[datetime.datetime] = None
10411
10548
  updated_at: Optional[datetime.datetime] = None
@@ -10434,7 +10571,6 @@ class ScheduledPlan(model.Model):
10434
10571
  crontab: Optional[str] = None,
10435
10572
  datagroup: Optional[str] = None,
10436
10573
  timezone: Optional[str] = None,
10437
- query_id: Optional[str] = None,
10438
10574
  scheduled_plan_destination: Optional[
10439
10575
  Sequence["ScheduledPlanDestination"]
10440
10576
  ] = None,
@@ -10450,6 +10586,7 @@ class ScheduledPlan(model.Model):
10450
10586
  color_theme: Optional[str] = None,
10451
10587
  long_tables: Optional[bool] = None,
10452
10588
  inline_table_width: Optional[int] = None,
10589
+ query_id: Optional[str] = None,
10453
10590
  id: Optional[str] = None,
10454
10591
  created_at: Optional[datetime.datetime] = None,
10455
10592
  updated_at: Optional[datetime.datetime] = None,
@@ -10475,7 +10612,6 @@ class ScheduledPlan(model.Model):
10475
10612
  self.crontab = crontab
10476
10613
  self.datagroup = datagroup
10477
10614
  self.timezone = timezone
10478
- self.query_id = query_id
10479
10615
  self.scheduled_plan_destination = scheduled_plan_destination
10480
10616
  self.run_once = run_once
10481
10617
  self.include_links = include_links
@@ -10489,6 +10625,7 @@ class ScheduledPlan(model.Model):
10489
10625
  self.color_theme = color_theme
10490
10626
  self.long_tables = long_tables
10491
10627
  self.inline_table_width = inline_table_width
10628
+ self.query_id = query_id
10492
10629
  self.id = id
10493
10630
  self.created_at = created_at
10494
10631
  self.updated_at = updated_at
@@ -10869,6 +11006,8 @@ class Setting(model.Model):
10869
11006
  embed_config:
10870
11007
  login_notification_enabled: Login notification enabled
10871
11008
  login_notification_text: Login notification text
11009
+ dashboard_auto_refresh_restriction: Toggle Dashboard Auto Refresh restriction
11010
+ dashboard_auto_refresh_minimum_interval: Minimum time interval for dashboard element automatic refresh. Examples: (30 seconds, 1 minute)
10872
11011
  """
10873
11012
 
10874
11013
  instance_config: Optional["InstanceConfig"] = None
@@ -10893,6 +11032,8 @@ class Setting(model.Model):
10893
11032
  embed_config: Optional["EmbedConfig"] = None
10894
11033
  login_notification_enabled: Optional[bool] = None
10895
11034
  login_notification_text: Optional[str] = None
11035
+ dashboard_auto_refresh_restriction: Optional[bool] = None
11036
+ dashboard_auto_refresh_minimum_interval: Optional[str] = None
10896
11037
 
10897
11038
  def __init__(
10898
11039
  self,
@@ -10918,7 +11059,9 @@ class Setting(model.Model):
10918
11059
  embed_enabled: Optional[bool] = None,
10919
11060
  embed_config: Optional["EmbedConfig"] = None,
10920
11061
  login_notification_enabled: Optional[bool] = None,
10921
- login_notification_text: Optional[str] = None
11062
+ login_notification_text: Optional[str] = None,
11063
+ dashboard_auto_refresh_restriction: Optional[bool] = None,
11064
+ dashboard_auto_refresh_minimum_interval: Optional[str] = None
10922
11065
  ):
10923
11066
  self.instance_config = instance_config
10924
11067
  self.extension_framework_enabled = extension_framework_enabled
@@ -10942,6 +11085,10 @@ class Setting(model.Model):
10942
11085
  self.embed_config = embed_config
10943
11086
  self.login_notification_enabled = login_notification_enabled
10944
11087
  self.login_notification_text = login_notification_text
11088
+ self.dashboard_auto_refresh_restriction = dashboard_auto_refresh_restriction
11089
+ self.dashboard_auto_refresh_minimum_interval = (
11090
+ dashboard_auto_refresh_minimum_interval
11091
+ )
10945
11092
 
10946
11093
 
10947
11094
  @attr.s(auto_attribs=True, init=False)
@@ -11867,7 +12014,7 @@ class User(model.Model):
11867
12014
  looker_versions: Array of strings representing the Looker versions that this user has used (this only goes back as far as '3.54.0')
11868
12015
  models_dir_validated: User's dev workspace has been checked for presence of applicable production projects
11869
12016
  personal_folder_id: ID of user's personal folder
11870
- presumed_looker_employee: User is identified as an employee of Looker
12017
+ presumed_looker_employee: (DEPRECATED) User is identified as an employee of Looker
11871
12018
  role_ids: Array of ids of the roles for this user
11872
12019
  sessions: Active sessions
11873
12020
  ui_state: Per user dictionary of undocumented state information owned by the Looker UI.
@@ -13010,7 +13157,7 @@ class WriteCreateQueryTask(model.Model):
13010
13157
  class WriteCredentialsEmail(model.Model):
13011
13158
  """
13012
13159
  Dynamic writeable type for CredentialsEmail removes:
13013
- can, created_at, user_id, is_disabled, logged_in_at, password_reset_url, account_setup_url, type, url, user_url
13160
+ can, created_at, user_id, is_disabled, logged_in_at, password_reset_url, account_setup_url, password_reset_url_expired, account_setup_url_expired, type, url, user_url
13014
13161
 
13015
13162
  Attributes:
13016
13163
  email: EMail address used for user login
@@ -13453,7 +13600,7 @@ class WriteDatagroup(model.Model):
13453
13600
  class WriteDBConnection(model.Model):
13454
13601
  """
13455
13602
  Dynamic writeable type for DBConnection removes:
13456
- can, dialect, snippets, pdts_enabled, uses_oauth, supports_data_studio_link, created_at, user_id, example, last_regen_at, last_reap_at, managed
13603
+ can, dialect, snippets, pdts_enabled, uses_oauth, uses_instance_oauth, supports_data_studio_link, created_at, user_id, example, last_regen_at, last_reap_at, managed, default_bq_connection, bq_roles_verified
13457
13604
 
13458
13605
  Attributes:
13459
13606
  name: Name of the connection. Also used as the unique identifier
@@ -13468,6 +13615,8 @@ class WriteDBConnection(model.Model):
13468
13615
  query_timezone: Timezone to use in queries
13469
13616
  schema: Schema name
13470
13617
  max_connections: Maximum number of concurrent connection to use
13618
+ max_queries: Maximum number of concurrent queries to begin on this connection
13619
+ max_queries_per_user: Maximum number of concurrent queries per user to begin on this connection
13471
13620
  max_billing_gigabytes: Maximum size of query in GBs (BigQuery only, can be a user_attribute name)
13472
13621
  ssl: Use SSL/TLS when connecting to server
13473
13622
  verify_ssl: Verify the SSL
@@ -13490,9 +13639,12 @@ class WriteDBConnection(model.Model):
13490
13639
  disable_context_comment: When disable_context_comment is true comment will not be added to SQL
13491
13640
  oauth_application_id: An External OAuth Application to use for authenticating to the database
13492
13641
  always_retry_failed_builds: When true, error PDTs will be retried every regenerator cycle
13642
+ uses_application_default_credentials: Whether the connection should authenticate with the Application Default Credentials of the host environment (limited to GCP and certain dialects).
13643
+ impersonated_service_account: An alternative Service Account to use for querying datasets (used primarily with `uses_application_default_credentials`) (limited to GCP and certain dialects).
13493
13644
  cost_estimate_enabled: When true, query cost estimate will be displayed in explore.
13494
13645
  pdt_api_control_enabled: PDT builds on this connection can be kicked off and cancelled via API.
13495
13646
  connection_pooling: Enable database connection pooling.
13647
+ bq_storage_project_id: The project id of the default BigQuery storage project.
13496
13648
  """
13497
13649
 
13498
13650
  name: Optional[str] = None
@@ -13507,6 +13659,8 @@ class WriteDBConnection(model.Model):
13507
13659
  query_timezone: Optional[str] = None
13508
13660
  schema: Optional[str] = None
13509
13661
  max_connections: Optional[int] = None
13662
+ max_queries: Optional[int] = None
13663
+ max_queries_per_user: Optional[int] = None
13510
13664
  max_billing_gigabytes: Optional[str] = None
13511
13665
  ssl: Optional[bool] = None
13512
13666
  verify_ssl: Optional[bool] = None
@@ -13528,9 +13682,12 @@ class WriteDBConnection(model.Model):
13528
13682
  disable_context_comment: Optional[bool] = None
13529
13683
  oauth_application_id: Optional[str] = None
13530
13684
  always_retry_failed_builds: Optional[bool] = None
13685
+ uses_application_default_credentials: Optional[bool] = None
13686
+ impersonated_service_account: Optional[str] = None
13531
13687
  cost_estimate_enabled: Optional[bool] = None
13532
13688
  pdt_api_control_enabled: Optional[bool] = None
13533
13689
  connection_pooling: Optional[bool] = None
13690
+ bq_storage_project_id: Optional[str] = None
13534
13691
 
13535
13692
  def __init__(
13536
13693
  self,
@@ -13547,6 +13704,8 @@ class WriteDBConnection(model.Model):
13547
13704
  query_timezone: Optional[str] = None,
13548
13705
  schema: Optional[str] = None,
13549
13706
  max_connections: Optional[int] = None,
13707
+ max_queries: Optional[int] = None,
13708
+ max_queries_per_user: Optional[int] = None,
13550
13709
  max_billing_gigabytes: Optional[str] = None,
13551
13710
  ssl: Optional[bool] = None,
13552
13711
  verify_ssl: Optional[bool] = None,
@@ -13568,9 +13727,12 @@ class WriteDBConnection(model.Model):
13568
13727
  disable_context_comment: Optional[bool] = None,
13569
13728
  oauth_application_id: Optional[str] = None,
13570
13729
  always_retry_failed_builds: Optional[bool] = None,
13730
+ uses_application_default_credentials: Optional[bool] = None,
13731
+ impersonated_service_account: Optional[str] = None,
13571
13732
  cost_estimate_enabled: Optional[bool] = None,
13572
13733
  pdt_api_control_enabled: Optional[bool] = None,
13573
- connection_pooling: Optional[bool] = None
13734
+ connection_pooling: Optional[bool] = None,
13735
+ bq_storage_project_id: Optional[str] = None
13574
13736
  ):
13575
13737
  self.name = name
13576
13738
  self.host = host
@@ -13584,6 +13746,8 @@ class WriteDBConnection(model.Model):
13584
13746
  self.query_timezone = query_timezone
13585
13747
  self.schema = schema
13586
13748
  self.max_connections = max_connections
13749
+ self.max_queries = max_queries
13750
+ self.max_queries_per_user = max_queries_per_user
13587
13751
  self.max_billing_gigabytes = max_billing_gigabytes
13588
13752
  self.ssl = ssl
13589
13753
  self.verify_ssl = verify_ssl
@@ -13605,9 +13769,12 @@ class WriteDBConnection(model.Model):
13605
13769
  self.disable_context_comment = disable_context_comment
13606
13770
  self.oauth_application_id = oauth_application_id
13607
13771
  self.always_retry_failed_builds = always_retry_failed_builds
13772
+ self.uses_application_default_credentials = uses_application_default_credentials
13773
+ self.impersonated_service_account = impersonated_service_account
13608
13774
  self.cost_estimate_enabled = cost_estimate_enabled
13609
13775
  self.pdt_api_control_enabled = pdt_api_control_enabled
13610
13776
  self.connection_pooling = connection_pooling
13777
+ self.bq_storage_project_id = bq_storage_project_id
13611
13778
 
13612
13779
 
13613
13780
  @attr.s(auto_attribs=True, init=False)
@@ -14911,7 +15078,6 @@ class WriteScheduledPlan(model.Model):
14911
15078
  crontab: Vixie-Style crontab specification when to run
14912
15079
  datagroup: Name of a datagroup; if specified will run when datagroup triggered (can't be used with cron string)
14913
15080
  timezone: Timezone for interpreting the specified crontab (default is Looker instance timezone)
14914
- query_id: Query id
14915
15081
  scheduled_plan_destination: Scheduled plan destinations
14916
15082
  run_once: Whether the plan in question should only be run once (usually for testing)
14917
15083
  include_links: Whether links back to Looker should be included in this ScheduledPlan
@@ -14925,6 +15091,7 @@ class WriteScheduledPlan(model.Model):
14925
15091
  color_theme: Color scheme of the dashboard if applicable
14926
15092
  long_tables: Whether or not to expand table vis to full length
14927
15093
  inline_table_width: The pixel width at which we render the inline table visualizations
15094
+ query_id: Query id
14928
15095
  """
14929
15096
 
14930
15097
  name: Optional[str] = None
@@ -14943,7 +15110,6 @@ class WriteScheduledPlan(model.Model):
14943
15110
  crontab: Optional[str] = None
14944
15111
  datagroup: Optional[str] = None
14945
15112
  timezone: Optional[str] = None
14946
- query_id: Optional[str] = None
14947
15113
  scheduled_plan_destination: Optional[Sequence["ScheduledPlanDestination"]] = None
14948
15114
  run_once: Optional[bool] = None
14949
15115
  include_links: Optional[bool] = None
@@ -14957,6 +15123,7 @@ class WriteScheduledPlan(model.Model):
14957
15123
  color_theme: Optional[str] = None
14958
15124
  long_tables: Optional[bool] = None
14959
15125
  inline_table_width: Optional[int] = None
15126
+ query_id: Optional[str] = None
14960
15127
 
14961
15128
  def __init__(
14962
15129
  self,
@@ -14977,7 +15144,6 @@ class WriteScheduledPlan(model.Model):
14977
15144
  crontab: Optional[str] = None,
14978
15145
  datagroup: Optional[str] = None,
14979
15146
  timezone: Optional[str] = None,
14980
- query_id: Optional[str] = None,
14981
15147
  scheduled_plan_destination: Optional[
14982
15148
  Sequence["ScheduledPlanDestination"]
14983
15149
  ] = None,
@@ -14992,7 +15158,8 @@ class WriteScheduledPlan(model.Model):
14992
15158
  embed: Optional[bool] = None,
14993
15159
  color_theme: Optional[str] = None,
14994
15160
  long_tables: Optional[bool] = None,
14995
- inline_table_width: Optional[int] = None
15161
+ inline_table_width: Optional[int] = None,
15162
+ query_id: Optional[str] = None
14996
15163
  ):
14997
15164
  self.name = name
14998
15165
  self.user_id = user_id
@@ -15010,7 +15177,6 @@ class WriteScheduledPlan(model.Model):
15010
15177
  self.crontab = crontab
15011
15178
  self.datagroup = datagroup
15012
15179
  self.timezone = timezone
15013
- self.query_id = query_id
15014
15180
  self.scheduled_plan_destination = scheduled_plan_destination
15015
15181
  self.run_once = run_once
15016
15182
  self.include_links = include_links
@@ -15024,6 +15190,7 @@ class WriteScheduledPlan(model.Model):
15024
15190
  self.color_theme = color_theme
15025
15191
  self.long_tables = long_tables
15026
15192
  self.inline_table_width = inline_table_width
15193
+ self.query_id = query_id
15027
15194
 
15028
15195
 
15029
15196
  @attr.s(auto_attribs=True, init=False)
@@ -15087,6 +15254,8 @@ class WriteSetting(model.Model):
15087
15254
  email_domain_allowlist: An array of Email Domain Allowlist of type string for Scheduled Content
15088
15255
  embed_cookieless_v2: (DEPRECATED) Use embed_config.embed_cookieless_v2 instead. If embed_config.embed_cookieless_v2 is specified, it overrides this value.
15089
15256
  embed_config:
15257
+ dashboard_auto_refresh_restriction: Toggle Dashboard Auto Refresh restriction
15258
+ dashboard_auto_refresh_minimum_interval: Minimum time interval for dashboard element automatic refresh. Examples: (30 seconds, 1 minute)
15090
15259
  """
15091
15260
 
15092
15261
  extension_framework_enabled: Optional[bool] = None
@@ -15106,6 +15275,8 @@ class WriteSetting(model.Model):
15106
15275
  email_domain_allowlist: Optional[Sequence[str]] = None
15107
15276
  embed_cookieless_v2: Optional[bool] = None
15108
15277
  embed_config: Optional["EmbedConfig"] = None
15278
+ dashboard_auto_refresh_restriction: Optional[bool] = None
15279
+ dashboard_auto_refresh_minimum_interval: Optional[str] = None
15109
15280
 
15110
15281
  def __init__(
15111
15282
  self,
@@ -15126,7 +15297,9 @@ class WriteSetting(model.Model):
15126
15297
  override_warnings: Optional[bool] = None,
15127
15298
  email_domain_allowlist: Optional[Sequence[str]] = None,
15128
15299
  embed_cookieless_v2: Optional[bool] = None,
15129
- embed_config: Optional["EmbedConfig"] = None
15300
+ embed_config: Optional["EmbedConfig"] = None,
15301
+ dashboard_auto_refresh_restriction: Optional[bool] = None,
15302
+ dashboard_auto_refresh_minimum_interval: Optional[str] = None
15130
15303
  ):
15131
15304
  self.extension_framework_enabled = extension_framework_enabled
15132
15305
  self.extension_load_url_enabled = extension_load_url_enabled
@@ -15145,6 +15318,10 @@ class WriteSetting(model.Model):
15145
15318
  self.email_domain_allowlist = email_domain_allowlist
15146
15319
  self.embed_cookieless_v2 = embed_cookieless_v2
15147
15320
  self.embed_config = embed_config
15321
+ self.dashboard_auto_refresh_restriction = dashboard_auto_refresh_restriction
15322
+ self.dashboard_auto_refresh_minimum_interval = (
15323
+ dashboard_auto_refresh_minimum_interval
15324
+ )
15148
15325
 
15149
15326
 
15150
15327
  @attr.s(auto_attribs=True, init=False)
@@ -15270,7 +15447,7 @@ class WriteUser(model.Model):
15270
15447
 
15271
15448
  Attributes:
15272
15449
  credentials_email: Dynamic writeable type for CredentialsEmail removes:
15273
- can, created_at, user_id, is_disabled, logged_in_at, password_reset_url, account_setup_url, type, url, user_url
15450
+ can, created_at, user_id, is_disabled, logged_in_at, password_reset_url, account_setup_url, password_reset_url_expired, account_setup_url_expired, type, url, user_url
15274
15451
  first_name: First name
15275
15452
  home_folder_id: ID string for user's home folder
15276
15453
  is_disabled: Account has been disabled
@@ -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 = "24.12"
23
+ sdk_version = "24.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__ = "24.12.1"
23
+ __version__ = "24.16.0"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: looker-sdk
3
- Version: 24.12.1
3
+ Version: 24.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.
@@ -9,10 +9,10 @@ Keywords: Looker,Looker API,looker_sdk,Looker API 4.0
9
9
  Requires-Python: >=3.6
10
10
  Description-Content-Type: text/x-rst
11
11
  License-File: LICENSE.txt
12
- Requires-Dist: requests >=2.22
13
- Requires-Dist: typing-extensions >=4.1.1
14
- Requires-Dist: attrs >=20.1.0 ; python_version >= "3.7"
15
- Requires-Dist: cattrs >=1.3 ; python_version >= "3.7"
12
+ Requires-Dist: requests>=2.22
13
+ Requires-Dist: typing-extensions>=4.1.1
14
+ Requires-Dist: attrs>=20.1.0; python_version >= "3.7"
15
+ Requires-Dist: cattrs>=1.3; python_version >= "3.7"
16
16
 
17
17
  ===========
18
18
  Looker SDK
@@ -1,7 +1,7 @@
1
1
  looker_sdk/__init__.py,sha256=0UOw2v-BP1bNoBIIm-BnyKUpGQB3Zx-JZRmpYyLiIuY,2589
2
2
  looker_sdk/error.py,sha256=XTKuy1zEyhSVd-VCWHKB2zVjj0X7VUzVwq9y9L22Bo0,4941
3
3
  looker_sdk/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
- looker_sdk/version.py,sha256=srnH8j-gC6cKTpDcs2fepbo4KudWAoxWMY1mBZ6sP5E,1156
4
+ looker_sdk/version.py,sha256=m8mCNG9khtj7K61_yQQIzZFZXf6_Y_udj55nTLEll0Y,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
@@ -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=zfVv6QmXx4WN7hgz9T9FemNKotC60hPAsSKjVYYZkSI,1187
17
+ looker_sdk/sdk/constants.py,sha256=sMC86j8K5SvdZmZNYYLyNqfxsgEp6su_U04OQt77Jo8,1187
18
18
  looker_sdk/sdk/api40/__init__.py,sha256=Dvx1t9vDBvgEl-p1eeP7ebEC6Q6wb6rASPi7nx3z7dg,18
19
- looker_sdk/sdk/api40/methods.py,sha256=ffv_D5Jyz31SiDriqin8wC7YuQJLmGxtE7P6TLz1PJU,512232
20
- looker_sdk/sdk/api40/models.py,sha256=usgn_UteaisQ7pXcfsNXKDjxc22HQbOIrYcHRBgvrD0,625774
19
+ looker_sdk/sdk/api40/methods.py,sha256=B3XN9ITdIidxsSJju_zhqJDsLKfV-sSHw4pMT0Y1_BY,515202
20
+ looker_sdk/sdk/api40/models.py,sha256=2XvnDQeDX7i_0bQlIP1LtUD7dKXF9GpCecvSjIw9Opg,635709
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-24.12.1.dist-info/LICENSE.txt,sha256=N4Rmmbuo5EryYSCXcvjuXL1ZXwyXanRzuGP-dJzwsoE,1094
35
- looker_sdk-24.12.1.dist-info/METADATA,sha256=FyhRrv82AEvQh8mmyN6zwanX0uiTCgiKi0Rx3dq60PI,7028
36
- looker_sdk-24.12.1.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
37
- looker_sdk-24.12.1.dist-info/top_level.txt,sha256=tDPNJRQM_A_Oncxlgxwvnzq7hZDWZaadt_nR8DmORTI,17
38
- looker_sdk-24.12.1.dist-info/RECORD,,
34
+ looker_sdk-24.16.0.dist-info/LICENSE.txt,sha256=N4Rmmbuo5EryYSCXcvjuXL1ZXwyXanRzuGP-dJzwsoE,1094
35
+ looker_sdk-24.16.0.dist-info/METADATA,sha256=bV5hTA4nVaDo7VYLN4orYX0NMfov2sxr8NWM-654k8w,7022
36
+ looker_sdk-24.16.0.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
37
+ looker_sdk-24.16.0.dist-info/top_level.txt,sha256=tDPNJRQM_A_Oncxlgxwvnzq7hZDWZaadt_nR8DmORTI,17
38
+ looker_sdk-24.16.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.43.0)
2
+ Generator: bdist_wheel (0.44.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5