REST client for Databricks
Project description
databricks_client
About
A REST client for Databricks.
This open-source project is not developed by nor affiliated with Databricks.
Installing
pip install databricks_client
Usage
import databricks_client
client = databricks_client.create("https://northeurope.azuredatabricks.net/api/2.0")
client.auth_pat_token(pat_token)
clusters_list = client.get('clusters/list')
for cluster in clusters_list["clusters"]:
print(cluster)
Usage with Azure Active Directory
Note: Azure AD authentication for Databricks is currently in preview.
The client generates short-lived Azure AD tokens. If you need to use your client for longer
than the lifetime (typically 30 minutes), rerun client.auth_azuread
periodically.
Azure AD authentication with Azure CLI
pip install databricks_client[azurecli]
az login
import databricks_client
client = databricks_client.create("https://northeurope.azuredatabricks.net/api/2.0")
client.auth_azuread("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-rg/providers/Microsoft.Databricks/workspaces/my-workspace")
# or client.auth_azuread(resource_group="my-rg", workspace_name="my-workspace")
clusters_list = client.get('clusters/list')
for cluster in clusters_list["clusters"]:
print(cluster)
This is recommended with Azure DevOps Pipelines using the Azure CLI task.
Azure AD authentication with ADAL
pip install databricks_client
pip install adal
import databricks_client
import adal
authority_host_uri = 'https://login.microsoftonline.com'
authority_uri = authority_host_uri + '/' + tenant_id
context = adal.AuthenticationContext(authority_uri)
def token_callback(resource):
return context.acquire_token_with_client_credentials(resource, client_id, client_secret)["accessToken"]
client = databricks_client.create("https://northeurope.azuredatabricks.net/api/2.0")
client.auth_azuread("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-rg/providers/Microsoft.Databricks/workspaces/my-workspace", token_callback)
# or client.auth_azuread(resource_group="my-rg", workspace_name="my-workspace", token_callback=token_callback)
clusters_list = client.get('clusters/list')
for cluster in clusters_list["clusters"]:
print(cluster)
Example usages
Generating a PAT token
response = client.post(
'token/create',
json={"lifetime_seconds": 60, "comment": "Unit Test Token"}
)
pat_token = response['token_value']
Uploading a notebook
import base64
with open(notebook_file, "rb") as f:
file_content = f.read()
client.post(
'workspace/import',
json={
"content": base64.b64encode(file_content).decode('ascii'),
"path": notebook_path,
"overwrite": False,
"language": "PYTHON",
"format": "SOURCE"
}
)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for databricks_client-0.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f8b31e7663bfb11a8a2d46b5a29a35285d286b2ed3b7c52fe1ba441a5dda67f6 |
|
MD5 | d2a3ab25e61bbfb3acaa6c3ac033f0d3 |
|
BLAKE2b-256 | 70c5c08beeb03179f2c261aaad5731ac07df29b59775fbd240acb54ae252b5d4 |