Looker Demo Creator (demo-create)
Automated, deterministic orchestrator for creating end-to-end Looker demos, synthetic BigQuery datasets, LookML semantic models, and Embedded Analytics portals.
Overview
demo-create is a developer and AI agent tool that unifies the end-to-end Looker demo creation lifecycle into a single workflow:
- Pre-flight & Environment Audit (
pre-check): Verifies active GCP/ADC accounts, installs/patches global MCP tools (data-designer,bigquery,knowledge-catalog), checks Looker authentication (OAuth / API keys), and organizes agent skills (includinglkr-code-mode) into intent-based subfolders. - Dataset Decision & Synthesis: Automatically checks for existing BigQuery datasets, enables data augmentation or green-field relational schema generation, and validates referential integrity.
- BigQuery Loading: Creates datasets and partitioned/clustered tables in BigQuery.
- LookML Generation & Direct Code-Mode Deployment: Autogenerates production-ready views, explores, and executive dashboards, provisioning and deploying them directly to the Looker instance using
lkr-dev-cli code-modewithout requiring an MCP server. - Embedded Portal Scaffolding: Clones and configures a clean, dedicated
looker-embed-demoworkspace for external client demos.
Quickstart & Installation
1. Install as a Persistent CLI Tool (uv tool - Recommended)
To make demo-create, looker-demo-cli, AND lkr (lkr-dev-cli) globally available on your shell's PATH in a persistent, isolated environment:
# Install the published package globally
uv tool install looker-demo-cli
# Now all tools execute directly with zero startup latency and pre-pinned dependencies:
demo-create pre-check --fix
lkr auth list
To update to the latest version at any time:
uv tool upgrade looker-demo-cli
2. Run Ephemerally with uvx (Zero-Install Alternative)
You can also execute the CLI on-demand in an ephemeral cache without pre-installing:
# Run pre-flight audit and auto-fix MCP / skills
uvx looker-demo-cli pre-check --fix
# Or invoke the demo-create binary explicitly
uvx --from looker-demo-cli demo-create pre-check --fix
# Run end-to-end interactive demo creator
uvx looker-demo-cli run --project=retail_analytics --scope=internal
3. Workspace Virtual Environment & Script Runner
To eliminate missing dependency errors across agent scratch scripts or data synthesis pipelines:
# Initialize a local .venv with all demo packages pre-installed:
demo-create env init
source .venv/bin/activate
# Execute ad-hoc scratch scripts using the CLI's bundled Python environment:
demo-create run-script scratch/generate_data.py
# Run one-off Python commands in the demo environment:
demo-create python -c "import pandas, pyarrow, google.cloud.bigquery; print('Ready!')"
4. Running from Local Source or Git (Development)
If developing locally or testing from a Git repository:
Run directly from local source directory:
uvx --from . demo-create pre-check --fix
Run directly from Git:
uvx --from git+https://github.com/lkrdev/looker-demo-cli.git demo-create pre-check --fix
Local Editable Installation:
cd ~/looker-demo-cli
demo-create env init
source .venv/bin/activate
uv pip install -e .
Commands & Usage
1. Environment & Skill Audit (pre-check)
# Run visual audit of GCP credentials, MCP tools, and intent skills
demo-create pre-check
# Automatically install missing MCP configs and symlink skills into intent subfolders
demo-create pre-check --fix
# Emit raw JSON report for programmatic agent consumption
demo-create pre-check --json
2. End-to-End Demo Creation (run)
# Interactive wizard
demo-create run --project=retail_insights --scope=internal
# Non-interactive / Agent Mode
demo-create run \
--project=logistics_analytics \
--scope=external \
--gcp-project=my-analytics-project \
--gcp-account=user@example.com \
--agent-mode
Intent-Based Skill Organization
When you run demo-create pre-check --fix, skills are automatically pulled from remote repositories and organized into ~/.gemini/config/skills/:
~/.gemini/config/skills/
├── data-design/
│ ├── data-designer/
│ ├── data-designer-architect/
│ ├── data-designer-engineer/
│ ├── data-designer-evaluator/
│ └── vertex-ai/
├── lookml/
│ ├── lkr-code-mode/
│ ├── repo-lookml/
│ ├── lookml-model/
│ ├── lookml-explore/
│ ├── lookml-view/
│ ├── lookml-dashboard/
│ ├── lookml-dashboard-to-query/
│ └── embed-themes/
└── embed-portal/
├── looker-demo-orchestrator/
├── setup-embed-demo/
├── customize-frontend/
├── customize-frontend-branding/
├── customize-frontend-theme/
└── sso-embed/
This guarantees that any Jetski agent in any directory can discover and execute Looker demo workflows.
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
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 looker_demo_cli-0.1.2.tar.gz.
File metadata
- Download URL: looker_demo_cli-0.1.2.tar.gz
- Upload date:
- Size: 135.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7dceab777a2d10ef787a3b177b4996a7b598410cac351da15ec0aa23456e5311
|
|
| MD5 |
55b4e814b47aa33420e49b56cdc83eb9
|
|
| BLAKE2b-256 |
d52f53c556ca7a435eaa56c80c42da1e3c287b031862e9318c9aea1c0a44440a
|
Provenance
The following attestation bundles were made for looker_demo_cli-0.1.2.tar.gz:
Publisher:
publish.yml on lkrdev/looker-demo-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
looker_demo_cli-0.1.2.tar.gz -
Subject digest:
7dceab777a2d10ef787a3b177b4996a7b598410cac351da15ec0aa23456e5311 - Sigstore transparency entry: 2690339491
- Sigstore integration time:
-
Permalink:
lkrdev/looker-demo-cli@57ffce37aecdaeca7f5701feda9cc2c8dd57a159 -
Branch / Tag:
refs/tags/v0.1.4 - Owner: https://github.com/lkrdev
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@57ffce37aecdaeca7f5701feda9cc2c8dd57a159 -
Trigger Event:
release
-
Statement type:
File details
Details for the file looker_demo_cli-0.1.2-py3-none-any.whl.
File metadata
- Download URL: looker_demo_cli-0.1.2-py3-none-any.whl
- Upload date:
- Size: 51.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a4a891e059c7a3867989a5a3cbe79ace2b2ba9e9c1743a052cb13c62a3f7b680
|
|
| MD5 |
be6fe28f1c76ed19ee2176a31e846be0
|
|
| BLAKE2b-256 |
34eb5ad0ebb3579079cd8c13d65b1dd026e72edc188f267007cf439fc0080b04
|
Provenance
The following attestation bundles were made for looker_demo_cli-0.1.2-py3-none-any.whl:
Publisher:
publish.yml on lkrdev/looker-demo-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
looker_demo_cli-0.1.2-py3-none-any.whl -
Subject digest:
a4a891e059c7a3867989a5a3cbe79ace2b2ba9e9c1743a052cb13c62a3f7b680 - Sigstore transparency entry: 2690339715
- Sigstore integration time:
-
Permalink:
lkrdev/looker-demo-cli@57ffce37aecdaeca7f5701feda9cc2c8dd57a159 -
Branch / Tag:
refs/tags/v0.1.4 - Owner: https://github.com/lkrdev
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@57ffce37aecdaeca7f5701feda9cc2c8dd57a159 -
Trigger Event:
release
-
Statement type: