Skip to main content

Boring Semantic Layer (BSL)

The Boring Semantic Layer (BSL) is a lightweight semantic layer based on Ibis.

Key Features:

  • Lightweight: pip install boring-semantic-layer
  • Ibis-powered: Built on top of Ibis, supporting any database engine that Ibis integrates with (DuckDB, Snowflake, BigQuery, PostgreSQL, and more)
  • MCP-friendly: Perfect for connecting LLMs to structured data sources

Quick Start

pip install 'boring-semantic-layer[examples]'

1. Define your ibis input table

import ibis

# Create a simple in-memory table
flights_tbl = ibis.memtable({
    "origin": ["JFK", "LAX", "JFK", "ORD", "LAX"],
    "carrier": ["AA", "UA", "AA", "UA", "AA"]
})

2. Define a semantic table

from boring_semantic_layer import to_semantic_table
flights = (
    to_semantic_table(flights_tbl, name="flights")
    .with_dimensions(origin=lambda t: t.origin)
    .with_measures(flight_count=lambda t: t.count())
)

3. Query it

result_df = flights.group_by("origin").aggregate("flight_count").execute()

📚 Documentation

→ View the full documentation


This project is a joint effort by xorq-labs and boringdata.

We welcome feedback and contributions!


Freely inspired by the awesome Malloy project. We loved the vision, just took the Python route.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

boring_semantic_layer-0.3.16.tar.gz (1.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

boring_semantic_layer-0.3.16-py3-none-any.whl (683.0 kB view details)

Uploaded Python 3

File details

Details for the file boring_semantic_layer-0.3.16.tar.gz.

File metadata

  • Download URL: boring_semantic_layer-0.3.16.tar.gz
  • Upload date:
  • Size: 1.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for boring_semantic_layer-0.3.16.tar.gz
Algorithm Hash digest
SHA256 bba892de81aa7f41d4f78b79d22135fa8d3e1391d557399d3545a61eeb8a4fc0
MD5 8c1b4c06ce6ba1bdd5ae41a14737ad0d
BLAKE2b-256 451804198d523fe105987052270303d79b5e8c86a166ee173babb1feac5f9d78

See more details on using hashes here.

File details

Details for the file boring_semantic_layer-0.3.16-py3-none-any.whl.

File metadata

  • Download URL: boring_semantic_layer-0.3.16-py3-none-any.whl
  • Upload date:
  • Size: 683.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for boring_semantic_layer-0.3.16-py3-none-any.whl
Algorithm Hash digest
SHA256 28f80903254215f5550b5fa009a545607d07879cdbfb2a89c3c2634bf378492d
MD5 99316b71810ae33494e48900df765feb
BLAKE2b-256 8bbb96c99dfa9c08c43f8dc31e3385040a3e4dabbba791ed34ae018934653a3b

See more details on using hashes here.

Release history Release notifications | RSS feed

0.3.18

2 files

0.3.17

2 files

This release

0.3.16 This release

2 files

0.3.15

2 files

0.3.14

2 files

0.3.13

2 files

0.3.12

2 files

0.3.11

2 files

0.3.10

2 files

0.3.9

2 files

0.3.8

2 files

0.3.7

2 files

0.3.6

2 files

0.3.5

2 files

0.3.4

2 files

0.3.3

2 files

0.3.2

2 files

0.3.1

2 files

0.3.0

2 files

0.2.0

2 files

0.1.12

2 files

0.1.11

2 files

0.1.10

2 files

0.1.9

2 files

0.1.8

2 files

0.1.7

2 files

0.1.6

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

0.0.9

2 files

0.0.8

2 files

0.0.7

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page