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.22.0.tar.gz (88.3 kB view details)

Uploaded Source

Built Distribution

ibis_substrait-2.22.0-cp310-cp310-manylinux_2_35_x86_64.whl (102.4 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.35+ x86-64

File details

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

File metadata

  • Download URL: ibis_substrait-2.22.0.tar.gz
  • Upload date:
  • Size: 88.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.0 CPython/3.10.9 Linux/5.15.0-1033-azure

File hashes

Hashes for ibis_substrait-2.22.0.tar.gz
Algorithm Hash digest
SHA256 ed623966c8dc4fcbd209689c5d26238969f06a453f570242f28d2a7d0ca4a562
MD5 b7a2cca2d8c3b2aea5f18dc4c176f497
BLAKE2b-256 efcd711885f0b437593753c55f98e4067070571637030e55be0ef4813a146568

See more details on using hashes here.

File details

Details for the file ibis_substrait-2.22.0-cp310-cp310-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for ibis_substrait-2.22.0-cp310-cp310-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 cf87cd24d7f44ef7b3e0d9f356c38d727a0d6311da5aa0e6f01555c4577ec439
MD5 45abe4fad57c6d57ef01a1ef4fd20c0d
BLAKE2b-256 868d9248559d7ab77e6574c59f4820fe467b0fa49cc597da6e088e91c3de07a0

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