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
| Feature | Labs4Change Migrator | Basic Converters |
|---|---|---|
| Conversion approach | 3-phase systematic migration with AI co-pilot | One-shot syntax converter |
| Scope management | Phase by team, priority, and owner — incremental, not big-bang | Paste and convert |
| Dependency resolution | Recursive — auto-includes dependent fields | None |
| Access grants / RLS | 100% detection at explore, view, and field level | Not handled |
| Derived tables | SQL and native — generates .view.yaml or .query.yaml | Basic support |
| Metadata | AI context, synonyms, sample values, governance tags | Passes through existing labels |
| Audit trail | Risk assessment, change log, not-converted list | None |
| Messy LookML handling | Flags issues, suggests fixes, handles edge cases | Fails 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.