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.17.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.17-py3-none-any.whl (418.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: boring_semantic_layer-0.3.17.tar.gz
  • Upload date:
  • Size: 1.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","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.17.tar.gz
Algorithm Hash digest
SHA256 b6483e71c12f202f086a398fda7d62cca8d140a54791e9a193743e35ff1a0f78
MD5 61a17c63fe3c2534c128439a5d5b4dae
BLAKE2b-256 10023b0f65d9eff390f1ab0d1844246982aa3891418d9039b118788229164846

See more details on using hashes here.

File details

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

File metadata

  • Download URL: boring_semantic_layer-0.3.17-py3-none-any.whl
  • Upload date:
  • Size: 418.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","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.17-py3-none-any.whl
Algorithm Hash digest
SHA256 8923ac7d78354e4cfeeac61b1246e0421dfe486c302f5ceed1a7642b0f75fa34
MD5 61c45443f7f6768bf087a6144c2e1849
BLAKE2b-256 87b28ba333de40876f781e212d8e5e1d081c02ae1ac9edbe079da16baa2f4991

See more details on using hashes here.

Release history Release notifications | RSS feed

0.3.18

2 files

This release

0.3.17 This release

2 files

0.3.16

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