Skip to main content

Caland ▦

Databricks secrets, by hand: a keyboard-driven page in your browser, served from your own machine. Browse scopes, secrets and grants; create, edit, move and delete; show and copy values; put a certificate in from a file.

ci PyPI Python License: Apache-2.0

Caland with a secret's value shown

Why

Databricks secrets have an API and a CLI, and no screen. Rotating a key is a command copied from a wiki, and who may read which scope is a question nobody can answer quickly. Caland is the screen: a workspace's scopes, secrets and grants on one page, on your own machine, with a value read only when you ask for it and written nowhere.

Quickstart

It needs Python 3.11 or later, a browser, and macOS or Linux.

uvx caland              # run it once; or: uv tool install caland

It starts a small server on your machine and opens a tab. Nothing is set up first: Caland finds the workspace of a bundle in the current folder and the profiles in ~/.databrickscfg. When there is no doubt which workspace you mean it goes straight there. Otherwise the page asks, and takes an address to sign in to through the browser.

caland prod               # straight to a workspace by name
caland prod --read-only   # and change nothing there
caland --no-open          # print the link instead of opening a browser

? on the page lists the keys. Ctrl+C in the terminal stops Caland and forgets every value it held.

The docs

How to use it is in the docs, and only there:

Tried, and not yet

On 2026-10-06 the page was driven in Chrome against a real workspace, in a throwaway scope: text and files stored byte for byte, a rename, a delete and the secret put back, a grant given and taken. A Key Vault-backed scope, a sign-in by an address, other browsers than Chrome and Windows have not been tried.

Tried, and not yet is the record.

When not to use it

  • In a pipeline. Caland is for a person at a keyboard. It has no command that runs unattended, and is not to get one.
  • To keep secrets in code. It declares nothing and plans nothing: what it does, it does now, to the workspace it is connected to.
  • For secrets outside Databricks secret scopes. A Key Vault-backed scope is shown and its values can be read; its secrets are managed in Azure.
  • To see when a secret was last read. That takes the audit table and a warehouse, and Caland uses only the Databricks SDK: no query, no warehouse, no system table.

When you no longer need it

When a Databricks workspace has a page of its own for secret scopes — the scopes, the secrets in each, who may read them, and a way to change one — use that. Today the docs name one screen, a form that creates a scope; listing, reading and changing go through the CLI, the API or the SDK.

Where it fits

Caland is one of the Kostavo tools: small tools for the ugly gaps on Databricks, one gap each. Its gap is the secret you reach through an API. Each works alone. Kostavo is the company behind them: it builds a governance platform for Databricks workspaces, and the tools are complete without it.

Community project, not affiliated with or endorsed by Databricks.

Named after

Pieter Caland (1826–1902), the engineer who designed and built the Nieuwe Waterweg — the cut through the dunes that gave Rotterdam its way to the sea.

Until 0.6 Caland was a terminal app, and before that it was called isolinear. That terminal app is still on PyPI under that name, as it was, and is a separate tool now: if you want a terminal app.

License

Apache-2.0.

Metadata

Release files for caland 0.7.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for caland 0.7.3
File Size Uploaded
caland-0.7.3.tar.gz 148.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for caland 0.7.3
File Interpreter ABI Platform
caland-0.7.3-py3-none-any.whl Python 3 none any Details

Total release size: 234.0 kB

Release files / caland-0.7.3.tar.gz

Download URL caland-0.7.3.tar.gz
Size 148.0 kB
Tags Source
SHA-256 checksum
How to use checksums
0deb7fa31008958d8790a4f58b2a0b7f68bba5a949e9a6f08ec843cd79961d16
BLAKE2b-256 checksum
How to use checksums
b674f810508f0e7cac008a6e3f1300ff6c6bca48a714457c8293395286d1ac9b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / caland-0.7.3-py3-none-any.whl

Download URL caland-0.7.3-py3-none-any.whl
Size 86.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9f91f5aac3ef14755a5ce0777446239bf6997de0f79e7784998ae26a61eeb1f2
BLAKE2b-256 checksum
How to use checksums
fd13ce062ce3c7015320d4eea3f53e355e928077a3e742e3b59dcc0cb327b52e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

0.8.0

2 release files

This release

0.7.3 This release

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page