Labs4Change
Looker → OmniAI-Powered

Migrate from Looker to Omni 10x faster

Not a simple LookML-to-YAML syntax converter. A full AI-powered migration engine that handles dependency resolution, access grant detection, canonical term mapping, and rich metadata generation — built by the team that trained 16,000+ analytics engineers on Looker.

The problem

Why most Looker migrations fail

Messy LookML

Years of accumulated tech debt — missing primary keys, duplicated business logic, inconsistent naming, abandoned derived tables. Simple converters choke on this.

Hidden dependencies

Fields reference other fields, which reference other fields. Miss one dependency and your migrated YAML produces broken queries.

Security gaps

Access grants, row-level security, user attributes — all need to be detected and documented. A syntax converter ignores all of it.

How it works

Three-phase systematic migration

Phase 1

View Migration

Parse Looker views, apply 12 conversion rules, generate production-ready Omni YAML with migration reports. One view at a time — atomic, reviewable, safe.

Phase 2

Explore Analysis

Analyze explores and their join complexity. Suggest topic divisions based on size — small explores become single topics, large ones get split intelligently.

Phase 3

Topic Generation

Generate Omni topics with proper joins, relationships, and field lists. Transform SQL ON clauses and map Looker join types to Omni equivalents.

What we built

A modular Python migration engine — not a prompt wrapper

We built a purpose-built Python library that handles the full Looker-to-Omni conversion pipeline. Each module owns a single responsibility and they compose together through an orchestrator. Claude acts as an AI co-pilot on top — reviewing output, flagging edge cases, and enriching metadata — but the heavy lifting is deterministic code.

Parser

LookML Parser

Parses .view.lkml and .explore.lkml files using the lkml library. Extracts dimensions, measures, dimension groups, drill fields, and derived table definitions into structured objects.

Engine

Conversion Rules Engine

600+ lines of deterministic conversion logic. Applies 12 golden rules: type removal for dimensions, aggregate type mapping for measures, format conversion, cross-view reference transforms, boolean conversion, and canonical term mapping.

Validation

Pydantic Output Models

Every generated view, topic, and relationship file passes through strict Pydantic validation. Catches forbidden keys, missing primary keys, invalid YAML structure, and incomplete tags before any file is written.

Analysis

Explore Analyzer

Parses explore definitions, extracts join relationships, and suggests how to divide large explores into manageable Omni topics. Small explores become single topics; large ones get split intelligently based on join complexity.

Security

Access Grant Parser

Dedicated parser for access_grants.lkml. Extracts user attribute mappings, allowed values, and detects grants at explore, view, and field levels — so nothing falls through the security cracks.

Output

File Generators

Produces minimal, production-ready Omni YAML. Omits redundant SQL when field names match columns, generates .view.yaml, .topic.yaml, .relationships, and detailed migration reports for every view.

Capabilities

What sets this apart from a simple converter

Purpose-Built Python Engine

Not a prompt wrapper. A modular Python migration engine with dedicated parsers, a conversion rules engine, Pydantic-validated output models, and an orchestrator that coordinates the full pipeline — built to handle real-world LookML at scale.

Recursive Dependency Resolution

If Field A depends on Fields B and C, we auto-include them — even if they're not in scope yet. Every generated file is valid from day one.

100% Access Grant Detection

Row-level security, column-level security, user attributes — detected at explore, view, and field levels. Nothing slips through.

Rich AI Metadata Generation

Every field gets labels, descriptions, AI context, synonyms, sample values, and governance tags. Your Omni instance is AI-ready on arrival.

Canonical Term Mapping

Standardize business terminology across your entire migration. Rename fields, labels, and descriptions consistently — automatically.

Detailed Audit Trail

Every migration generates a report with risk assessment, change log, and a list of unsupported features flagged for manual review.

Comparison

Our migrator vs. basic converters

FeatureLabs4Change MigratorBasic Converters
Conversion approach3-phase systematic migration with AI co-pilotOne-shot syntax converter
Scope managementPhase by team, priority, and owner — incremental, not big-bangPaste and convert
Dependency resolutionRecursive — auto-includes dependent fieldsNone
Access grants / RLS100% detection at explore, view, and field levelNot handled
Derived tablesSQL and native — generates .view.yaml or .query.yamlBasic support
MetadataAI context, synonyms, sample values, governance tagsPasses through existing labels
Audit trailRisk assessment, change log, not-converted listNone
Messy LookML handlingFlags issues, suggests fixes, handles edge casesFails or produces invalid YAML

Results

95%+

of standard fields convert automatically. The remaining edge cases — Liquid templates, parameters, complex cross-view references — are flagged with explanations, not silently dropped.

Ready to migrate?

Get a free migration assessment

We'll review your LookML codebase, estimate complexity, and give you a realistic timeline. No commitment required.

Book a Free Assessment