Skip to main content

CLI for managing weevr projects — scaffolding, validation, and deployment to Microsoft Fabric.

Project description

weevr-cli

CLI for managing weevr projects — scaffolding, validation, and deployment to Microsoft Fabric.

What it does

The weevr engine runs inside Fabric notebooks; the CLI runs on your workstation and in CI/CD pipelines. It bridges the gap between your Git repository and the Fabric Lakehouse where weevr project files live.

  • weevr init — Scaffold a new weevr project with the standard directory layout
  • weevr new — Generate thread, weave, or loom files from templates
  • weevr validate — Check YAML schema conformance and cross-file reference integrity
  • weevr deploy — Sync project files to a Fabric Lakehouse via the OneLake API
  • weevr status — Diff local files against what's deployed
  • weevr list — View project structure and dependency relationships
  • weevr schema — Manage validation schemas

Installation

# With uv (recommended)
uv tool install weevr-cli

# With pipx
pipx install weevr-cli

# With pip
pip install weevr-cli

Quick start

# Create a new project
weevr init my-project
cd my-project

# Generate some files
weevr new thread orders
weevr new weave customer_dim
weevr new loom daily_load

# Validate
weevr validate

# Deploy to your Fabric Lakehouse
weevr deploy --target dev

Configuration

The CLI reads its configuration from .weevr/cli.yaml in your project root:

targets:
  dev:
    workspace_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
    lakehouse_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
    path_prefix: "weevr/my-project"
  prod:
    workspace_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
    lakehouse_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"

default_target: dev

schema:
  version: "1.11"

All config values can be overridden via CLI flags for CI/CD use.

Authentication

The CLI uses Azure DefaultAzureCredential, which automatically picks up credentials from:

  • az login (local development)
  • Environment variables (CI/CD pipelines)
  • Managed identity (Fabric notebooks)
  • VS Code Azure extension

No custom auth configuration needed.

Requirements

  • Python 3.11+
  • Azure CLI (az login) or equivalent credential for deploy/status commands

Development

# Prerequisites: Python 3.11, uv, Git

# Setup
uv sync --dev

# Quality checks
uv run ruff check .          # Lint
uv run ruff format --check . # Format check
uv run pyright .                # Type check
uv run pytest                # Tests

See CONTRIBUTING.md for the full development guide.

License

Apache 2.0 — see LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

weevr_cli-0.1.1.tar.gz (10.6 kB view details)

Uploaded Source

Built Distribution

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

weevr_cli-0.1.1-py3-none-any.whl (11.7 kB view details)

Uploaded Python 3

File details

Details for the file weevr_cli-0.1.1.tar.gz.

File metadata

  • Download URL: weevr_cli-0.1.1.tar.gz
  • Upload date:
  • Size: 10.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for weevr_cli-0.1.1.tar.gz
Algorithm Hash digest
SHA256 48f2b691b2fc161804752aacf58201e01b1af70ef4ecfc9b64a3b21267b5931e
MD5 d3ee88c62baa6766649bbfe2d00bfe75
BLAKE2b-256 ff5c6f8f1772326f5d1ceeb1bb69af6d53448170c26344ad23841de0a1f8e9fa

See more details on using hashes here.

File details

Details for the file weevr_cli-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: weevr_cli-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 11.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for weevr_cli-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6020f4cb0591d986df22877b10fc8ed2ebd4e391dc4ff676eafe0cc5759a3fff
MD5 32bf02125031ccba8629488e7a0dcc1d
BLAKE2b-256 d4dd0077f60a5f4b70f3e2f5669e5215b59a3eee3f57058f2f6bc2a31180a8c1

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