Skip to main content

Subtrait compiler for ibis

Project description

Ibis + Substrait

This repo houses the Substrait compiler for ibis.

We're just getting started here, so stay tuned!

Usage

>>> import ibis

>>> t = ibis.table(
    [("a", "string"), ("b", "float"), ("c", "int32"), ("d", "int64"), ("e", "int64")],
    "t",
)

>>> expr = t.group_by(["a", "b"]).aggregate([t.c.sum().name("sum")]).select("b", "sum")
>>> expr
r0 := UnboundTable: t
  a string
  b float64
  c int32
  d int64
  e int64

r1 := Aggregation[r0]
  metrics:
    sum: Sum(r0.c)
  by:
    a: r0.a
    b: r0.b

Selection[r1]
  selections:
    b:   r1.b
    sum: r1.sum


>>> ibis.show_sql(expr)
SELECT
  t0.b,
  t0.sum
FROM (
  SELECT
    t1.a AS a,
    t1.b AS b,
    SUM(t1.c) AS sum
  FROM t AS t1
  GROUP BY
    t1.a,
    t1.b
) AS t0

>>> from ibis_substrait.compiler.core import SubstraitCompiler

>>> compiler = SubstraitCompiler()

>>> proto = compiler.compile(expr)

Project details


Download files

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

Source Distribution

ibis_substrait-2.28.0.tar.gz (134.5 kB view details)

Uploaded Source

Built Distribution

ibis_substrait-2.28.0-cp310-cp310-manylinux_2_37_x86_64.whl (165.7 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.37+ x86-64

File details

Details for the file ibis_substrait-2.28.0.tar.gz.

File metadata

  • Download URL: ibis_substrait-2.28.0.tar.gz
  • Upload date:
  • Size: 134.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.0 CPython/3.10.10 Linux/5.15.0-1035-azure

File hashes

Hashes for ibis_substrait-2.28.0.tar.gz
Algorithm Hash digest
SHA256 fe093942aba0679454150ee3a2d5419ca8475b7856799b9b0a8cd8a83452fd84
MD5 0b3c266c55f6641e68886b7cca62a221
BLAKE2b-256 b1e346d6e34189538c1cb5a2a022cb4ab9be91628cd1df3764f38209f83a0ace

See more details on using hashes here.

File details

Details for the file ibis_substrait-2.28.0-cp310-cp310-manylinux_2_37_x86_64.whl.

File metadata

File hashes

Hashes for ibis_substrait-2.28.0-cp310-cp310-manylinux_2_37_x86_64.whl
Algorithm Hash digest
SHA256 04a29739a5bd0ff014e70d41fd6ca35d26f31fd376d1832e640c185cd4e62946
MD5 a0b90ad4ba30773b76ecee64dccc3424
BLAKE2b-256 3e3571c9e62d54f368ef7fddbf796d2423f52719cc470ba7c7fefb3c9bfa6bd7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page