Releases: ralfbecher/orionbelt-semantic-layer
Releases · ralfbecher/orionbelt-semantic-layer
v1.1 — Drivers, Flight SQL, Filter Groups
What's New
DB-API 2.0 Drivers
- 7 database drivers: ob-duckdb, ob-postgres, ob-snowflake, ob-clickhouse, ob-databricks, ob-dremio, ob-bigquery
- Shared ob-driver-core with OBML query compilation, YAML model detection, and PEP 249 exceptions
Arrow Flight SQL Server
- ob-flight-extension — connect BI tools (DBeaver, Tableau, Power BI) directly to the semantic layer
- Token-based authentication and catalog/schema discovery
Query Execution
- POST /v1/query/execute — compile OBML and run SQL against live databases
- Native DuckDB path with read_only=True for notebook compatibility
Filter Groups (AND/OR/NOT)
- Recursive FilterGroup model with logic: and|or and negated: true support
- Works at both measure-level (filters: list) and query-level (where:/having:)
- Updated JSON schemas (obml-schema.json, query-schema.json)
dimensionsExclude Relaxed
- Anti-join queries now work with any 2+ dimensions — no longer requires independent branches
- CROSS JOIN x EXCEPT pattern works across star and snowflake schemas
Other Improvements
- Qualified DataObject.Column references in WHERE filters with auto-join
- description property on all OBML model objects
- OSI converter roundtrip: preserve OBML-only properties in custom_extensions
- TPC-H quickstart notebook with interactive examples
- CFL: skip NULL padding for UNION ALL BY NAME dialects
- Version bumped to 1.1.0
Stats
- 539 tests (419 unit + 120 integration)
- 148 files changed, ~15,700 lines added
v1.0.0
OrionBelt Semantic Layer v1.0.0
First production release — API-first semantic engine compiling YAML models into analytical SQL across 7 database dialects.
Highlights
- 7 SQL Dialects — BigQuery, ClickHouse, Databricks, Dremio, DuckDB/MotherDuck, Postgres, Snowflake
- Model Discovery API — 10 new endpoints for exploring models programmatically (schema, dimensions, measures, metrics, explain, find, join-graph)
- Top-level Shortcuts — Auto-resolving endpoints when only one session/model exists
- Query Explain — Compilation response includes reasoning for planner choice, base object selection, and each join decision
- Composite Fact Layer (CFL) — Automatic UNION ALL strategy for multi-fact queries, preventing fan-trap row multiplication
- Mermaid ER Diagrams — Visual model exploration with dark/light theme support
- OSI ↔ OBML Conversion — Stateless endpoints for format interoperability
- Gradio UI — Visual model explorer with ER diagrams, SQL preview, and query builder
- CSP Middleware — Content Security Policy with relaxed rules for UI paths
- Docker — Separate API and UI images, Cloud Run deployment script
Bug Fixes
- Fix CFL not triggering for expression-based measures (measures using
expression:instead ofcolumns:) - Fix reversed join path swapping columns incorrectly in JoinGraph
- Fix Swagger UI blank page with CSP script-src
Links
- Documentation — ralforion.com/orionbelt-semantic-layer
- MCP Server — orionbelt-semantic-layer-mcp
- Docker Hub —
ralforion/orionbelt-api,ralforion/orionbelt-ui
v0.8.0 — Last Apache 2.0 Release
Last release under the Apache License 2.0
Starting with v1.0.0, OrionBelt Semantic Layer is licensed under the Business Source License 1.1 (converts to Apache 2.0 on 2030-03-16).
This release marks the final version available under the Apache 2.0 license.
What's included
- 5 SQL Dialects — Postgres, Snowflake, ClickHouse, Dremio, Databricks
- AST-based SQL generation with custom SQL AST (no string concatenation)
- Star Schema & CFL planning — automatic join resolution, multi-fact queries via UNION ALL
- Dimension Exclusion — anti-join queries via
dimensionsExclude - REST API (FastAPI) with session management
- Gradio UI — interactive model editing, query testing, ER diagrams
- OSI interoperability — bidirectional OBML ↔ OSI conversion
- 437 tests passing, ruff clean, mypy clean