Kater command-line interface
Project description
kater-cli
The official command-line interface for Kater — a semantic analytics platform that turns parameterized query templates into governed, multi-tenant SQL.
What is Kater?
Kater lets data teams build a small library of composable query templates with slots for metrics, dimensions, filters, and calculations. Those templates combine into hundreds of governed query variations, which product and ops teams can run without writing SQL.
The CLI is how you develop locally: sync your files to the platform, validate your schemas, compile templates to SQL, and execute queries against your warehouse.
Installation
pipx install kater-cli
Requires Python 3.12+.
Quick start
# Initialize a new Kater project in the current directory
kater install
# Create an account, then authenticate this CLI
kater signup
# Sync your local files to the Kater platform (keep this running while you work)
kater dev
# In another terminal: validate your schemas
kater validate
# Compile a query template to SQL
kater compile COMPLIANCE_OVERVIEW
# Execute a query and display results
kater run COMPLIANCE_OVERVIEW
Commands
kater install
Scaffolds a new Kater project in the current directory, creating the standard file structure including config, admin settings, and a getting-started guide.
kater dev
Syncs your local repository files to the Kater platform over a persistent WebSocket connection. File changes are detected and synced automatically. Keep this running in the background while working on your templates.
kater validate
Validates all semantic layer schemas (views, queries, filters, measures) for correctness. On success, writes the dependency graph and tenant schemas back to your local repo.
kater validate # validate all connections
kater validate -c snowflake_prod # validate a specific connection
kater validate --topic compliance -c snowflake_prod
kater validate --branch main # validate from a git branch
kater compile
Compiles a query template to SQL and writes the output back to your repo via the dev session.
kater compile COMPLIANCE_OVERVIEW
kater compile COMPLIANCE_OVERVIEW --combination 'measure=Compliance Rate,dimension=Department'
kater compile --topic compliance -c snowflake_prod
kater compile COMPLIANCE_OVERVIEW --branch main
kater run
Executes a compiled query against your warehouse and displays results as a table.
kater run COMPLIANCE_OVERVIEW
kater run COMPLIANCE_OVERVIEW --tenant acme_corp
kater run COMPLIANCE_OVERVIEW --limit 20
kater run topics/compliance/queries/ --sample 1 # run one combination per query in folder
kater scaffold topic
Creates a new topic directory with the standard subdirectory structure (queries, query_views, dashboards, reportflows).
kater signup / kater login / kater logout / kater status
Browser-based signup and OAuth authentication. Credentials are stored securely in the system keychain (macOS Keychain, Windows Credential Locker, Linux Secret Service).
Configuration
The CLI connects to https://api.kater.ai by default. Override with environment variables:
| Variable | Default | Description |
|---|---|---|
KATER_API_URL |
https://api.kater.ai |
Kater API base URL |
KATER_OAUTH_AUTH_URL |
https://auth.kater.ai/propelauth/oauth/authorize |
OAuth authorization endpoint |
KATER_OAUTH_TOKEN_URL |
https://auth.kater.ai/propelauth/oauth/token |
OAuth token endpoint |
KATER_OAUTH_CALLBACK_PORT |
9876 |
Local port for OAuth callback |
KATER_SIGNUP_URL |
https://kater.ai/signup?plan=pro&billing=yearly&product_line=cloud |
Signup URL opened by the CLI |
Links
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kater_cli-0.1.6-py3-none-any.whl.
File metadata
- Download URL: kater_cli-0.1.6-py3-none-any.whl
- Upload date:
- Size: 128.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3d2be5677e0a3d95d4dd0183c0fcecf6da369e308ba1f1db57c6913b54144cba
|
|
| MD5 |
d2d3a0fb65b8c2bd233e4b13124dbab6
|
|
| BLAKE2b-256 |
7c571499a581da14c75b3cb4a0a941db50706570930eea06f9ba4773564f30da
|
Provenance
The following attestation bundles were made for kater_cli-0.1.6-py3-none-any.whl:
Publisher:
release-kater-cli.yml on kater-ai/kater
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
kater_cli-0.1.6-py3-none-any.whl -
Subject digest:
3d2be5677e0a3d95d4dd0183c0fcecf6da369e308ba1f1db57c6913b54144cba - Sigstore transparency entry: 1588454686
- Sigstore integration time:
-
Permalink:
kater-ai/kater@6329788b21ace609e3b4f1dac1bc68398b256a27 -
Branch / Tag:
refs/tags/kater-cli-v0.1.6 - Owner: https://github.com/kater-ai
-
Access:
internal
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-kater-cli.yml@6329788b21ace609e3b4f1dac1bc68398b256a27 -
Trigger Event:
push
-
Statement type: