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,lkr_codemode), and organizes agent skills 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 & Deployment: Autogenerates production-ready views, explores, and executive dashboards, provisioning and deploying them directly to the Looker instance using
lkr-dev-cli. - Embedded Portal Scaffolding: Clones and configures a clean, dedicated
looker-embed-demoworkspace for external client demos.
Quickstart & Execution
1. Run Instantly with uvx (No Installation Required)
Once published to PyPI or your package index, you can execute the CLI on-demand in an ephemeral, isolated environment without creating a virtual environment or pre-installing dependencies:
# Run directly from the package name
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 with Options & Flags:
# Run pre-flight audit and auto-fix MCP / skills
uvx looker-demo-cli pre-check --fix
# Run end-to-end interactive demo creator
uvx looker-demo-cli run --project=retail_analytics --scope=internal
2. Install as a Persistent CLI Tool (uv tool)
To make demo-create / looker-demo-cli globally available on your shell's PATH:
# Install the published package globally in an isolated environment
uv tool install looker-demo-cli
# Now you can run it directly anywhere:
demo-create pre-check --fix
# or
looker-demo-cli pre-check --fix
To update to the latest version at any time:
uv tool upgrade looker-demo-cli
3. Running from Local Source or Git (Development)
If you are developing locally or testing before publishing:
Run directly from local source directory:
# Run from repository root
uvx --from . demo-create pre-check --fix
# Or run from anywhere by pointing to the repository path
uvx --from /path/to/looker-demo-cli demo-create pre-check --fix
Run directly from a Git repository:
uvx --from git+https://github.com/lkrdev/looker-demo-cli.git demo-create pre-check --fix
Local Editable Installation:
cd ~/looker-demo-cli
uv venv
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 organized into ~/.gemini/config/skills/:
~/.gemini/config/skills/
├── data-design/
│ ├── data-designer/
│ ├── data-designer-architect/
│ ├── data-designer-engineer/
│ └── data-designer-evaluator/
├── lookml/
│ ├── repo-lookml/
│ ├── lookml-model/
│ ├── lookml-explore/
│ ├── lookml-view/
│ ├── lookml-dashboard/
│ └── embed-themes/
└── embed-portal/
├── 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.0.tar.gz.
File metadata
- Download URL: looker_demo_cli-0.1.0.tar.gz
- Upload date:
- Size: 55.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7e85cac1c624ee1b99d532338a187124ace672183e5111ca03c7c9de003972a1
|
|
| MD5 |
c9a18a631460805bdb0d113ac6057026
|
|
| BLAKE2b-256 |
ef91fb9a424beb746ed80cfd4d5a66a13a8f5126aa0ca17429b0f6eacf3873a0
|
Provenance
The following attestation bundles were made for looker_demo_cli-0.1.0.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.0.tar.gz -
Subject digest:
7e85cac1c624ee1b99d532338a187124ace672183e5111ca03c7c9de003972a1 - Sigstore transparency entry: 2627765920
- Sigstore integration time:
-
Permalink:
lkrdev/looker-demo-cli@5e617a0b821f3d6d6f3b96903bd16218c5900721 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/lkrdev
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@5e617a0b821f3d6d6f3b96903bd16218c5900721 -
Trigger Event:
release
-
Statement type:
File details
Details for the file looker_demo_cli-0.1.0-py3-none-any.whl.
File metadata
- Download URL: looker_demo_cli-0.1.0-py3-none-any.whl
- Upload date:
- Size: 32.8 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 |
2d3d1b9c80e285daae6815535d1ff496ca75989178d2d18270dcde4bb14222cc
|
|
| MD5 |
d77cc814513397d8d53f646ecc56f6f4
|
|
| BLAKE2b-256 |
b82f9de50c4bddffc32be4168f8022424b957f158b63747a6d19db038aa9abbf
|
Provenance
The following attestation bundles were made for looker_demo_cli-0.1.0-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.0-py3-none-any.whl -
Subject digest:
2d3d1b9c80e285daae6815535d1ff496ca75989178d2d18270dcde4bb14222cc - Sigstore transparency entry: 2627766011
- Sigstore integration time:
-
Permalink:
lkrdev/looker-demo-cli@5e617a0b821f3d6d6f3b96903bd16218c5900721 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/lkrdev
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@5e617a0b821f3d6d6f3b96903bd16218c5900721 -
Trigger Event:
release
-
Statement type: