semantic-link-labs 0.9.0__py3-none-any.whl → 0.9.2__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.

Potentially problematic release.


This version of semantic-link-labs might be problematic. Click here for more details.

Files changed (83) hide show
  1. {semantic_link_labs-0.9.0.dist-info → semantic_link_labs-0.9.2.dist-info}/METADATA +68 -7
  2. {semantic_link_labs-0.9.0.dist-info → semantic_link_labs-0.9.2.dist-info}/RECORD +83 -76
  3. sempy_labs/__init__.py +14 -12
  4. sempy_labs/_authentication.py +0 -2
  5. sempy_labs/_capacities.py +120 -142
  6. sempy_labs/_capacity_migration.py +61 -94
  7. sempy_labs/_clear_cache.py +9 -8
  8. sempy_labs/_connections.py +72 -105
  9. sempy_labs/_data_pipelines.py +47 -49
  10. sempy_labs/_dataflows.py +45 -51
  11. sempy_labs/_dax.py +228 -6
  12. sempy_labs/_delta_analyzer.py +303 -0
  13. sempy_labs/_deployment_pipelines.py +72 -66
  14. sempy_labs/_environments.py +39 -36
  15. sempy_labs/_eventhouses.py +35 -35
  16. sempy_labs/_eventstreams.py +38 -39
  17. sempy_labs/_external_data_shares.py +29 -42
  18. sempy_labs/_gateways.py +57 -101
  19. sempy_labs/_generate_semantic_model.py +22 -30
  20. sempy_labs/_git.py +46 -66
  21. sempy_labs/_graphQL.py +95 -0
  22. sempy_labs/_helper_functions.py +175 -30
  23. sempy_labs/_job_scheduler.py +47 -59
  24. sempy_labs/_kql_databases.py +27 -34
  25. sempy_labs/_kql_querysets.py +23 -30
  26. sempy_labs/_list_functions.py +262 -164
  27. sempy_labs/_managed_private_endpoints.py +52 -47
  28. sempy_labs/_mirrored_databases.py +110 -134
  29. sempy_labs/_mirrored_warehouses.py +13 -13
  30. sempy_labs/_ml_experiments.py +36 -36
  31. sempy_labs/_ml_models.py +37 -38
  32. sempy_labs/_model_dependencies.py +2 -0
  33. sempy_labs/_notebooks.py +28 -29
  34. sempy_labs/_one_lake_integration.py +2 -0
  35. sempy_labs/_query_scale_out.py +63 -81
  36. sempy_labs/_refresh_semantic_model.py +12 -14
  37. sempy_labs/_spark.py +54 -79
  38. sempy_labs/_sql.py +7 -11
  39. sempy_labs/_vertipaq.py +8 -3
  40. sempy_labs/_warehouses.py +30 -33
  41. sempy_labs/_workloads.py +15 -20
  42. sempy_labs/_workspace_identity.py +13 -17
  43. sempy_labs/_workspaces.py +49 -48
  44. sempy_labs/admin/__init__.py +2 -0
  45. sempy_labs/admin/_basic_functions.py +244 -281
  46. sempy_labs/admin/_domains.py +188 -103
  47. sempy_labs/admin/_external_data_share.py +26 -31
  48. sempy_labs/admin/_git.py +17 -22
  49. sempy_labs/admin/_items.py +34 -48
  50. sempy_labs/admin/_scanner.py +20 -13
  51. sempy_labs/directlake/_directlake_schema_compare.py +2 -0
  52. sempy_labs/directlake/_dl_helper.py +10 -11
  53. sempy_labs/directlake/_generate_shared_expression.py +4 -5
  54. sempy_labs/directlake/_get_directlake_lakehouse.py +1 -0
  55. sempy_labs/directlake/_list_directlake_model_calc_tables.py +1 -0
  56. sempy_labs/directlake/_show_unsupported_directlake_objects.py +2 -0
  57. sempy_labs/directlake/_warm_cache.py +2 -0
  58. sempy_labs/graph/__init__.py +33 -0
  59. sempy_labs/graph/_groups.py +402 -0
  60. sempy_labs/graph/_teams.py +113 -0
  61. sempy_labs/graph/_users.py +191 -0
  62. sempy_labs/lakehouse/__init__.py +4 -0
  63. sempy_labs/lakehouse/_get_lakehouse_columns.py +10 -10
  64. sempy_labs/lakehouse/_get_lakehouse_tables.py +14 -20
  65. sempy_labs/lakehouse/_lakehouse.py +101 -4
  66. sempy_labs/lakehouse/_shortcuts.py +42 -20
  67. sempy_labs/migration/__init__.py +4 -0
  68. sempy_labs/migration/_direct_lake_to_import.py +66 -0
  69. sempy_labs/migration/_migrate_calctables_to_lakehouse.py +1 -0
  70. sempy_labs/migration/_migrate_calctables_to_semantic_model.py +1 -0
  71. sempy_labs/migration/_migrate_model_objects_to_semantic_model.py +1 -0
  72. sempy_labs/migration/_migrate_tables_columns_to_semantic_model.py +2 -0
  73. sempy_labs/report/_download_report.py +8 -13
  74. sempy_labs/report/_generate_report.py +49 -46
  75. sempy_labs/report/_paginated.py +20 -26
  76. sempy_labs/report/_report_functions.py +50 -45
  77. sempy_labs/report/_report_list_functions.py +2 -0
  78. sempy_labs/report/_report_rebind.py +6 -10
  79. sempy_labs/report/_reportwrapper.py +187 -220
  80. sempy_labs/tom/_model.py +8 -5
  81. {semantic_link_labs-0.9.0.dist-info → semantic_link_labs-0.9.2.dist-info}/LICENSE +0 -0
  82. {semantic_link_labs-0.9.0.dist-info → semantic_link_labs-0.9.2.dist-info}/WHEEL +0 -0
  83. {semantic_link_labs-0.9.0.dist-info → semantic_link_labs-0.9.2.dist-info}/top_level.txt +0 -0
@@ -4,10 +4,9 @@ import sempy_labs._icons as icons
4
4
  from typing import Optional
5
5
  from sempy_labs._helper_functions import (
6
6
  resolve_workspace_name_and_id,
7
- lro,
8
- pagination,
7
+ _base_api,
8
+ _create_dataframe,
9
9
  )
10
- from sempy.fabric.exceptions import FabricHTTPException
11
10
  from uuid import UUID
12
11
 
13
12
 
@@ -30,22 +29,18 @@ def list_kql_querysets(workspace: Optional[str | UUID] = None) -> pd.DataFrame:
30
29
  A pandas dataframe showing the KQL querysets within a workspace.
31
30
  """
32
31
 
33
- df = pd.DataFrame(
34
- columns=[
35
- "KQL Queryset Name",
36
- "KQL Queryset Id",
37
- "Description",
38
- ]
39
- )
32
+ columns = {
33
+ "KQL Queryset Name": "string",
34
+ "KQL Queryset Id": "string",
35
+ "Description": "string",
36
+ }
37
+ df = _create_dataframe(columns=columns)
40
38
 
41
39
  (workspace_name, workspace_id) = resolve_workspace_name_and_id(workspace)
42
40
 
43
- client = fabric.FabricRestClient()
44
- response = client.get(f"/v1/workspaces/{workspace_id}/kqlQuerysets")
45
- if response.status_code != 200:
46
- raise FabricHTTPException(response)
47
-
48
- responses = pagination(client, response)
41
+ responses = _base_api(
42
+ request=f"v1/workspaces/{workspace_id}/kqlQuerysets", uses_pagination=True
43
+ )
49
44
 
50
45
  for r in responses:
51
46
  for v in r.get("value", []):
@@ -81,18 +76,19 @@ def create_kql_queryset(
81
76
 
82
77
  (workspace_name, workspace_id) = resolve_workspace_name_and_id(workspace)
83
78
 
84
- request_body = {"displayName": name}
79
+ payload = {"displayName": name}
85
80
 
86
81
  if description:
87
- request_body["description"] = description
88
-
89
- client = fabric.FabricRestClient()
90
- response = client.post(
91
- f"/v1/workspaces/{workspace_id}/kqlQuerysets", json=request_body
82
+ payload["description"] = description
83
+
84
+ _base_api(
85
+ request=f"v1/workspaces/{workspace_id}/kqlQuerysets",
86
+ method="post",
87
+ payload=payload,
88
+ status_codes=[201, 202],
89
+ lro_return_status_code=True,
92
90
  )
93
91
 
94
- lro(client, response, status_codes=[201, 202])
95
-
96
92
  print(
97
93
  f"{icons.green_dot} The '{name}' KQL queryset has been created within the '{workspace_name}' workspace."
98
94
  )
@@ -119,13 +115,10 @@ def delete_kql_queryset(name: str, workspace: Optional[str | UUID] = None):
119
115
  item_name=name, type="KQLQueryset", workspace=workspace_id
120
116
  )
121
117
 
122
- client = fabric.FabricRestClient()
123
- response = client.delete(
124
- f"/v1/workspaces/{workspace_id}/kqlQuerysets/{kql_database_id}"
118
+ _base_api(
119
+ request=f"/v1/workspaces/{workspace_id}/kqlQuerysets/{kql_database_id}",
120
+ method="delete",
125
121
  )
126
-
127
- if response.status_code != 200:
128
- raise FabricHTTPException(response)
129
122
  print(
130
123
  f"{icons.green_dot} The '{name}' KQL queryset within the '{workspace_name}' workspace has been deleted."
131
124
  )