osl CLI
El binari osl impulsa el loop d’autoria per a desenvolupadors i CI.
Comandes
Section titled “Comandes”| Comanda | Propòsit |
|---|---|
osl validate <project_dir> |
JSON Schema + cross-references + existència del model dbt |
osl compile <project_dir> [--output target/] |
Emet el manifest.json canònic |
osl plan <project_dir> <query> |
Dry-run d’una query — inspecciona el pla de SQL/retrieval + el policy check |
osl publish <project_dir> --to <engine> |
Puja el manifest (atòmic; --revert) |
osl migrate from-metricflow <src> <dst> |
Genera un projecte OSL a partir d’un projecte MetricFlow |
osl export to-metricflow <src> <dst> |
Exporta un projecte OSL com a MetricFlow pur |
osl test <project_dir> |
Tests de golden SQL, chunk-schema, joint round-trip, lexicon |
osl conformance test --level <level> <project_dir> |
Corre la suite oficial de conformança |
Exemple
Section titled “Exemple”$ 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.Clients de referència Apache-2.0
Section titled “Clients de referència ”El motor de referència inclou dues llibreries client (la spec no les requereix — funciona qualsevol client HTTP):
- Python —
pyosl(REST + MCP). Recomanat per a jobs de Dagster, extensions de dbt, scripts. - TypeScript —
osl-client(REST). Per a apps web i Node.js.