osl CLI
Das osl-Binary treibt den Authoring-Loop für Entwickler und CI an.
Befehle
Abschnitt betitelt „Befehle“| Befehl | Zweck |
|---|---|
osl validate <project_dir> |
JSON Schema + Cross-References + Existenz der dbt-Modelle |
osl compile <project_dir> [--output target/] |
Die kanonische manifest.json emittieren |
osl plan <project_dir> <query> |
Dry-Run einer Query — SQL-/Retrieval-Plan + Policy-Check inspizieren |
osl publish <project_dir> --to <engine> |
Das Manifest hochladen (atomar; --revert) |
osl migrate from-metricflow <src> <dst> |
Ein OSL-Projekt aus einem MetricFlow-Projekt generieren |
osl export to-metricflow <src> <dst> |
Ein OSL-Projekt als reines MetricFlow exportieren |
osl test <project_dir> |
Golden-SQL-, Chunk-Schema-, Joint-Round-Trip- und Lexicon-Tests |
osl conformance test --level <level> <project_dir> |
Die offizielle Conformance-Suite ausführen |
Beispiel
Abschnitt betitelt „Beispiel“$ osl validate ./caixabank-cartera-eu/✔ project.yml valid✔ models/customers.yml valid (3 models, 12 dimensions, 4 measures)✔ metrics/arr.yml valid✗ facets/meeting_transcripts.yml 2 errors E0201 chunk_schema missing required field 'embedding' at line 12 E0204 embedding.provider == tenant-byo requires .adapter at line 18✔ joints/customer.yml valid
Summary: 5 files valid, 1 file with errors. Exit code: 1.Referenz-Clients Apache-2.0
Abschnitt betitelt „Referenz-Clients “Die Referenz-Engine liefert zwei Client-Bibliotheken aus (die Spec verlangt sie nicht — jeder HTTP-Client funktioniert):
- Python —
pyosl(REST + MCP). Empfohlen für Dagster-Jobs, dbt-Erweiterungen, Skripte. - TypeScript —
osl-client(REST). Für Web-Apps und Node.js.