Skip to main content

Semolina

[ Docs ]

The ORM for your Semantic Layer.

Typed models in Python, supporting IDE autocomplete, and a Django-like fluent query interface for the semantic layer of your data warehouse backend.

pip install semolina
pip install "semolina[snowflake]"
pip install "semolina[databricks]"

A model maps to a semantic view in your warehouse.

from semolina import (
    SemanticView,
    Metric,
    Dimension,
)


class Sales(SemanticView, view="sales"):
    revenue = Metric()
    cost = Metric()
    country = Dimension()
    region = Dimension()

Semolina needs an engine to talk to your warehouse. An engine owns one connection pool and the dialect for a backend. Build one with create_engine and register it before running any queries:

from semolina import create_engine, register

engine = create_engine(
    "default"
)  # reads [connections.default] from .semolina.toml
register("default", engine)

Use Model.query() to start building. Chain .metrics() and .dimensions() to select the fields you want, then call .execute():

query = (
    Sales.query()
    .metrics(Sales.revenue)
    .dimensions(Sales.country)
)

.execute() returns a SemolinaCursor. Use it as a context manager so the pooled connection is released when you are done, and call .fetchall_rows() to get Row objects that support both attribute and dict-style access:

with query.execute() as cursor:
    for row in cursor.fetchall_rows():
        print(row.country, row.revenue)  # attribute access
        print(row["country"])  # dict-style access

You should see output like:

CA 2000
CA
US 1500
US

Metadata

Release files for semolina 0.6.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for semolina 0.6.1
File Size Uploaded
semolina-0.6.1.tar.gz 163.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for semolina 0.6.1
File Interpreter ABI Platform
semolina-0.6.1-py3-none-any.whl Python 3 none any Details

Total release size: 348.0 kB

Release files / semolina-0.6.1.tar.gz

Download URL semolina-0.6.1.tar.gz
Size 163.0 kB
Tags Source
SHA-256 checksum
How to use checksums
5ffef75dfe7e067d39da50894c74c0ab6071d6deb6eafdf1e36c0630f3eb8393
BLAKE2b-256 checksum
How to use checksums
9b2cadd9c409629be60a09e1347f3f3d88a63f4126fa8e2c60a1f78dcf822c0b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release files / semolina-0.6.1-py3-none-any.whl

Download URL semolina-0.6.1-py3-none-any.whl
Size 185.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8e06038ff92ea66c07a2c791fa05346b461b656fe4a41d28cdd43444b896e296
BLAKE2b-256 checksum
How to use checksums
72e92bd9677024ee79f51a13fdd3e5937ca12405e272996c114b00b25a83ff56
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release history Release notifications | RSS feed

0.7.0

2 release files

This release

0.6.1 This release

2 release files

0.6.0

2 release files

0.4.0

2 release files

0.3.0

2 release 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