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
CLI

Extended access

Why this level

  • The `execute` command sends generated SQL to the connected warehouse and reads data.
All reasons and checks

ralforion/orionbelt-semantic-layer

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add cli/orionbelt-semantic-layer

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Extended 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.

CLI tools
Official

An MCP server builds an ontology from a database schema and checks agent SQL before it runs, for PostgreSQL, Snowflake and more

MCP serverBroad access58Repository stars

A plugin with two skills over a semantic metrics layer: the agent writes models in YAML and queries them through SQL.

PluginExtended access141Repository stars

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

MCP serverExtended access2.9KRepository stars

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

MCP serverExtended access1.5KRepository stars

NVIDIA Auto Ontology semantic layer as an MCP server: SQL gets validated, facts land in a personal knowledge base.

MCP serverExtended access383Repository stars

The CLI selects and changes JSON, YAML and other structured values so agents can transform data with one query language.

CLIExtended access8.1KRepository stars

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.

README badge

Report a problem