github boringdata/boring-semantic-layer v0.3.10

7 hours ago

What's New

Features

  • HTTP server transport — Optional bsl serve command exposes BSL models over REST via FastAPI (pip install boring-semantic-layer[server]) (#214)
  • Per-dimension time grainstime_grains parameter lets each time dimension use a different grain (e.g., {"order_date": "month", "ship_date": "quarter"}) (#214)
  • Short grain names — Core query() now accepts "month", "quarter", etc. alongside "TIME_GRAIN_MONTH" (#214)
  • Derived time dimensions — Auto-generate year/month/day parts from time dimensions via derived_dimensions (#215, closes #213)
  • Plain ibis backend support — BSL works with any ibis backend (Databricks, ClickHouse, MySQL, etc.) without xorq wrapping (#217)
  • Self-joins with aliases — Join the same model multiple times in YAML with different aliases (#205, addresses #114)
  • YAML calculated_measures — Support calculated_measures and .all() in YAML definitions (#211)

Fixes

  • Fix content hashing so models with different measures/dimensions produce different hashes (#209)
  • Fix 15 broken links across documentation (#208)
  • Fix model prefix behavior in with_dimensions/with_measures after joins (#211)

Internal

  • Convert to_untagged() to return xorq-vendored ibis types consistently (#203)

Don't miss a new boring-semantic-layer release

NewReleases is sending notifications on new releases.