Skip to main content

dazense Core is your analytics context builder with the best chat interface.

Project description

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 into databases/
  • 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 (or roles/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:

  1. Build the frontend with Vite
  2. Compile the backend with Bun into a standalone binary
  3. 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

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

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

dazense_core-0.0.40-py3-none-manylinux2014_x86_64.whl (43.8 MB view details)

Uploaded Python 3

dazense_core-0.0.40-py3-none-manylinux2014_aarch64.whl (43.1 MB view details)

Uploaded Python 3

dazense_core-0.0.40-py3-none-macosx_15_0_x86_64.whl (29.0 MB view details)

Uploaded Python 3macOS 15.0+ x86-64

dazense_core-0.0.40-py3-none-macosx_15_0_arm64.whl (26.7 MB view details)

Uploaded Python 3macOS 15.0+ ARM64

File details

Details for the file dazense_core-0.0.40-py3-none-manylinux2014_x86_64.whl.

File metadata

  • Download URL: dazense_core-0.0.40-py3-none-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 43.8 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","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}

File hashes

Hashes for dazense_core-0.0.40-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7850664072984886614291af43056e639d166b8f6b9026069a01d0104c760639
MD5 2d7ee3787c6052bbb1255acf982e26f4
BLAKE2b-256 bb742fcf47ff2732c3543cb2570f5194be6bf29a24439befeb737bd2bebb00a1

See more details on using hashes here.

File details

Details for the file dazense_core-0.0.40-py3-none-manylinux2014_aarch64.whl.

File metadata

  • Download URL: dazense_core-0.0.40-py3-none-manylinux2014_aarch64.whl
  • Upload date:
  • Size: 43.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","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}

File hashes

Hashes for dazense_core-0.0.40-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 77b8ecadbbac4076ecb4282936507d8953c9d8a0ebc4642222ee98760e3a7f3f
MD5 9970b6fa1f3d859166603efda18c34ca
BLAKE2b-256 b0785650aa5ffe44438a78571f412f905644de5a18f9b6a9430f438259d04532

See more details on using hashes here.

File details

Details for the file dazense_core-0.0.40-py3-none-macosx_15_0_x86_64.whl.

File metadata

  • Download URL: dazense_core-0.0.40-py3-none-macosx_15_0_x86_64.whl
  • Upload date:
  • Size: 29.0 MB
  • Tags: Python 3, macOS 15.0+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","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}

File hashes

Hashes for dazense_core-0.0.40-py3-none-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 8d55a746c4bfbb02c4201e5b147dc6fdc070b8dcae8d6bcdb665966d73ddea47
MD5 3fa2de4fb3f1b3ede1fbb3574ab8ecb0
BLAKE2b-256 2bf2a6e8a4e9fafb6ff8f6d2d4d1ae45f9520ca00dce2c32125390245bc4bca9

See more details on using hashes here.

File details

Details for the file dazense_core-0.0.40-py3-none-macosx_15_0_arm64.whl.

File metadata

  • Download URL: dazense_core-0.0.40-py3-none-macosx_15_0_arm64.whl
  • Upload date:
  • Size: 26.7 MB
  • Tags: Python 3, macOS 15.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","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}

File hashes

Hashes for dazense_core-0.0.40-py3-none-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 cb07f0443cc66df540dc0f20f29bc76e047f890b1f8e70343f1550724a2c49e7
MD5 c6b36331c78d5179b14601b416bee98c
BLAKE2b-256 2fa0a503e3ec3f67c3ba6aa695cca7d8d94fbd9f10db2d0719671bd941e7db3c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page