dazense CLI
Command-line interface for dazense chat.
Installation
pip install dazense-core
Build Prerequisites (for python build.py)
- Node.js (includes
npm) on PATH - Bun on PATH
Verify:
node -v
npm -v
bun -v
Usage
dazense --help
Usage: dazense COMMAND
╭─ Commands ────────────────────────────────────────────────────────────────╮
│ chat Start the dazense chat UI. │
│ debug Test connectivity to configured resources. │
│ init Initialize a new dazense project. │
│ sync Sync resources to local files. │
│ test Run and explore dazense tests. │
│ --help (-h) Display this message and exit. │
│ --version Display application version. │
╰───────────────────────────────────────────────────────────────────────────╯
Initialize a new dazense project
dazense init
This will create a new dazense project in the current directory. It will prompt you for a project name and ask you to configure:
- Database connections (BigQuery, DuckDB, Databricks, Snowflake, PostgreSQL)
- Git repositories to sync
- LLM provider (OpenAI, Anthropic, Mistral, Gemini)
- Slack integration
- Notion integration
The resulting project structure looks like:
<project>/
├── dazense_config.yaml
├── .dazenseignore
├── RULES.md
├── databases/
├── queries/
├── docs/
├── semantics/
├── repos/
├── agent/
│ ├── tools/
│ └── mcps/
└── tests/
Options:
--force/-f: Force re-initialization even if the project already exists
Start the dazense chat UI
dazense chat
This will start the dazense chat UI. It will open the chat interface in your browser at http://localhost:5005.
Test connectivity
dazense debug
Tests connectivity to all configured databases and LLM providers. Displays a summary table showing connection status and details for each resource.
Sync resources
dazense sync
Syncs configured resources to local files:
- Databases — generates markdown docs (
columns.md,preview.md,description.md,profiling.md) for each table intodatabases/ - Git repositories — clones or pulls repos into
repos/ - Notion pages — exports pages as markdown into
docs/notion/
After syncing, any Jinja templates (*.j2 files) in the project directory are rendered with the dazense context.
Run tests
dazense test
Runs test cases defined as YAML files in tests/. Each test has a name, prompt, and expected sql. Results are saved to tests/outputs/.
Options:
--model/-m: Models to test against (default:openai:gpt-4.1). Can be specified multiple times.--threads/-t: Number of parallel threads (default:1)
Examples:
dazense test -m openai:gpt-4.1
dazense test -m openai:gpt-4.1 -m anthropic:claude-sonnet-4-20250514
dazense test --threads 4
Explore test results
dazense test server
Starts a local web server to explore test results in a browser UI showing pass/fail status, token usage, cost, and detailed data comparisons.
Options:
--port/-p: Port to run the server on (default:8765)--no-open: Don't automatically open the browser
BigQuery service account permissions
When you connect BigQuery during dazense init, the service account used by credentials_path/ADC must be able to list datasets and run read-only queries to generate docs. Grant the account:
- Project:
roles/bigquery.jobUser(orroles/bigquery.user) so the CLI can submit queries - Each dataset you sync:
roles/bigquery.dataViewer(or higher) to read tables
The combination above mirrors the typical "BigQuery User" setup and is sufficient for dazense's metadata and preview pulls.
Snowflake authentication
Snowflake supports three authentication methods during dazense init:
- SSO: Browser-based authentication (recommended for organizations with SSO policies)
- Password: Traditional username/password
- Key-pair: Private key file with optional passphrase
Development
Building the package
cd cli
python build.py --help
Usage: build.py [OPTIONS]
Build and package dazense-core CLI.
╭─ Parameters ──────────────────────────────────────────────────────────────────╮
│ --force -f --no-force Force rebuild the server binary │
│ --skip-server -s --no-skip-server Skip server build, only build Python pkg │
│ --bump Bump version (patch, minor, major) │
╰───────────────────────────────────────────────────────────────────────────────╯
This will:
- Build the frontend with Vite
- Compile the backend with Bun into a standalone binary
- Bundle everything into a Python wheel in
dist/
Installing for development
cd cli
pip install -e .
Publishing to PyPI
# Build first
python build.py
# Publish
uv publish dist/*
Architecture
dazense chat (CLI command)
↓ spawns
dazense-chat-server (Bun-compiled binary, port 5005)
+ FastAPI server (port 8005)
↓ serves
Backend API + Frontend Static Files
↓
Browser at http://localhost:5005
Metadata
Release files for dazense-core 0.0.42
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| dazense_core-0.0.42-py3-none-win_amd64.whl | Python 3 | none | Windows x86-64 | Details |
| dazense_core-0.0.42-py3-none-manylinux2014_x86_64.whl | Python 3 | none | Linux glibc 2.17+ x86-64 | Details |
| dazense_core-0.0.42-py3-none-manylinux2014_aarch64.whl | Python 3 | none | Linux glibc 2.17+ ARM64 | Details |
| dazense_core-0.0.42-py3-none-macosx_15_0_x86_64.whl | Python 3 | none | macOS 15.0+ x86-64 | Details |
| dazense_core-0.0.42-py3-none-macosx_15_0_arm64.whl | Python 3 | none | macOS 15.0+ ARM64 | Details |
Total release size: 190.1 MB
Release files / dazense_core-0.0.42-py3-none-win_amd64.whl
| Download URL | dazense_core-0.0.42-py3-none-win_amd64.whl |
|---|---|
| Size | 45.8 MB |
| Tags | Python 3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
925fcccb17f8472036b123f1ae8c33917fedaeb320ba8be53fe4b27451487e6c
|
|
BLAKE2b-256 checksum How to use checksums |
c851302a2225399f8f69a3f32d29253d2c2b468bce5976cc4e14963835e389c7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","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 / dazense_core-0.0.42-py3-none-manylinux2014_x86_64.whl
| Download URL | dazense_core-0.0.42-py3-none-manylinux2014_x86_64.whl |
|---|---|
| Size | 44.4 MB |
| Tags | Linux glibc 2.17+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
c5e272df6c4e118b1d0db743f2ba6ba61ab6cffefcacd098f707e14449510a3a
|
|
BLAKE2b-256 checksum How to use checksums |
ee97f908098e7544b31538d375e3a6566384b62285a90808b0900df61b6f5b00
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","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 / dazense_core-0.0.42-py3-none-manylinux2014_aarch64.whl
| Download URL | dazense_core-0.0.42-py3-none-manylinux2014_aarch64.whl |
|---|---|
| Size | 43.6 MB |
| Tags | Linux glibc 2.17+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
7d4bfafdaf5fde89f3b5367a54db440982fedd7c73bfe32e6ea2e8b8a5fc05be
|
|
BLAKE2b-256 checksum How to use checksums |
6cf173e3592805303f8f3305690a556dab748b971fb6049242c95605a6890ed4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","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 / dazense_core-0.0.42-py3-none-macosx_15_0_x86_64.whl
| Download URL | dazense_core-0.0.42-py3-none-macosx_15_0_x86_64.whl |
|---|---|
| Size | 29.3 MB |
| Tags | Python 3 macOS 15.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
cda37452d11d038ebe8425fb77dd09ebd06a0a394b5bc65598c5c9f7b8be2527
|
|
BLAKE2b-256 checksum How to use checksums |
8bb02814a8f0cb49acc3838a35ab33b6249c504df8e8b922b295c70a521c9a00
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","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 / dazense_core-0.0.42-py3-none-macosx_15_0_arm64.whl
| Download URL | dazense_core-0.0.42-py3-none-macosx_15_0_arm64.whl |
|---|---|
| Size | 27.0 MB |
| Tags | Python 3 macOS 15.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
6dad60193e9971d922f5c60dacadb39cd64fe4d2c3b2a81a49451ac0260d910b
|
|
BLAKE2b-256 checksum How to use checksums |
081a9dba04b3f63a5d2aea9d214ec03938263cd64e5be9659169f0ff37119b7c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","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}
|