OrionBelt Semantic Layer CLI
The obsl CLI validates a YAML metrics model and compiles it into SQL for eight dialects, so agents stop hand-writing fact joins.
- 104 ★ on the repository
- Last commit
Extended access
Why this level
- The `execute` command sends generated SQL to the connected warehouse and reads data.
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add cli/orionbelt-semantic-layerDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The `execute` command sends generated SQL to the connected warehouse and reads data.
This is third-party code. Review the repository files before installing.
What it does
OrionBelt describes dimensions, measures and table relationships in a YAML model, and the compiler turns a request such as revenue by country into SQL for the chosen dialect. A composite-fact planner blocks join paths that inflate totals several times over. The `obsl` command runs locally: `validate` lints a model, `compile` prints SQL, `describe` shows its contents, `lineage` traces a metric back to its sources. `execute` and `rules evaluate` talk to a deployed server or a warehouse. The MCP server lives in a separate repository and calls the REST API.
Who it is for. Analysts and data engineers who ask an agent to compute metrics over a star schema and want shared definitions instead of generated joins.
Good fit when
- An agent writes SQL over a star schema and revenue comes out inflated by joining two fact tables.
- Company metrics live in one YAML file and CI checks them with `obsl validate`.
- One query runs on Snowflake and DuckDB, so SQL is needed per dialect.
- Before a report you must show which tables and columns a measure is built from (`obsl lineage`).
Not a fit when
- High-concurrency dashboards: the README itself points to Cube for those.
- A one-off query against a single table with no metrics or joins.
- The project is limited to Apache or MIT licenses: the code ships under BUSL-1.1.
Example request
Validate tpcds.obml.yml with obsl validate and show the SQL for query Q98.yml on DuckDB.Limitations
The license is BUSL-1.1: sources are open, commercial use follows its terms, and a switch to Apache 2.0 is announced for later. `validate`, `compile`, `describe` and `lineage` run locally; `execute` needs a deployed server or a warehouse connection. Python 3.12 or newer is required, and the OBML model, including physical table mappings, must be written first. The MCP server is installed separately and does not work over stdio in Docker.
How to disable. Remove the package with `pip uninstall orionbelt-semantic-layer` and delete the model files from your repository. Stop `orionbelt-api` or the container if you ran one.
FAQ
Does it need a running server?
Not for validation and compilation: `validate`, `compile` and `describe` run in process. For `execute`, pass `--server` with the address of a deployed model.
Which dialects does the compiler support?
The README names eight SQL dialects. `obsl dialects` prints the exact list.
How do I connect MCP?
The MCP server lives in the `orionbelt-semantic-layer-mcp` repository and starts with `uvx orionbelt-semantic-layer-mcp`. It calls the main project REST API.
What license does the project use?
BUSL-1.1 with a planned switch to Apache 2.0. The free distribution targets self-hosting, and commercial terms are in the LICENSE file.
What does `obsl lineage` do?
It shows what a measure or query is built from. Output comes as Mermaid, Markdown, JSON or Turtle.
Discussion
No questions or reviews yet.
Related
CLI toolsAn MCP server builds an ontology from a database schema and checks agent SQL before it runs, for PostgreSQL, Snowflake and more
A plugin with two skills over a semantic metrics layer: the agent writes models in YAML and queries them through SQL.
Open Ontologies
open-ontologies
Planning changes to OWL ontologies: impact assessment, rollback and verifiable evidence for a reviewer. A single Rust binary for a narrow audience
Customer feedback analysis on your own server: personal data is stripped before the model, and an MCP server and skill give the agent quotes from reviews
NVIDIA Auto Ontology semantic layer as an MCP server: SQL gets validated, facts land in a personal knowledge base.
The CLI selects and changes JSON, YAML and other structured values so agents can transform data with one query language.
README in short
The README presents a semantic layer with an SQL compiler, a composite-fact planner and a business-rule engine. The model is written in YAML and reached over the PostgreSQL wire protocol, Arrow Flight SQL, REST, MCP and CLI. License is BUSL-1.1 with a planned switch to Apache 2.0.