Skip to main content

superduper_ibis

Superduper ibis is a plugin for ibis-framework that allows you to use Superduper as a backend for your ibis queries.

This plugin cannot be used independently; it must be used together with superduper_ibis.

Superduper supports SQL databases via the ibis project. With superduper, queries may be built which conform to the ibis API, with additional support for complex data-types and vector-searches.

Installation

pip install superduper_ibis

API

Class Description
superduper_ibis.data_backend.IbisDataBackend Ibis data backend for the database.
superduper_ibis.query.IbisQuery A query that can be executed on an Ibis database.
superduper_ibis.db_helper.DBHelper Generic helper class for database.
superduper_ibis.db_helper.ClickHouseHelper Helper class for ClickHouse database.
superduper_ibis.field_types.FieldType Field type to represent the type of a field in a table.

Connection examples

MySQL

from superduper import superduper

db = superduper('mysql://<mysql-uri>')

Postgres

from superduper import superduper

db = superduper('postgres://<postgres-uri>')

Other databases

from superduper import superduper

db = superduper('<database-uri>')

Query examples

Inserting data

Table data must correspond to the Schema for that table. Either create a Schema and Table or use an auto-detected Schema. Once you've got a Schema, all data inserted must conform to that Schema:

import pandas

pandas.DataFrame([
    PIL.Image.open('image.jpg'), 'some text', 4,
    PIL.Image.open('other_image.jpg'), 'some other text', 3,
])

t.insert(dataframe.to_dict(orient='records'))

Selecting data

superduper supports selecting data via the ibis query API. For example:

db['my_table'].filter(t.rating > 3).limit(5).select(t.image).execute()

Vector-search

Vector-searches are supported via the like operator:

(
    db['my_table']
    .like({'text': 'something like this'}, vector_index='my-index')
    .filter(t.rating > 3)
    .limit(5)
    .select(t.image, t.id)
).execute()

Vector-searches are either first or last in a chain of operations:

(
    db['my_table']
    t.filter(t.rating > 3)
    .limit(5)
    .select(t.image, t.id)
    .like({'text': 'something like this'}, vector_index='my-index')
).execute()

Updating data

Updates are not covered for superduper SQL integrations.

Deleting data

db.databackend.drop_table('my-table')

Metadata

Release files for superduper-ibis 0.5.4

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

Source distribution (sdist)

Source distribution for superduper-ibis 0.5.4
File Size Uploaded
superduper_ibis-0.5.4.tar.gz 20.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for superduper-ibis 0.5.4
File Interpreter ABI Platform
superduper_ibis-0.5.4-py3-none-any.whl Python 3 none any Details

Total release size: 40.8 kB

Release files / superduper_ibis-0.5.4.tar.gz

Download URL superduper_ibis-0.5.4.tar.gz
Size 20.8 kB
Tags Source
SHA-256 checksum
How to use checksums
39c10e106b77406da565cf1700f548dc39b23402bd662ea90951cfd6516a3daf
BLAKE2b-256 checksum
How to use checksums
88333dc02ab526565edbe5a172afecbb92a7e726d2d46d9a76cf03134ec4beea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Apr 13, 2025.

Transparency log

Release files / superduper_ibis-0.5.4-py3-none-any.whl

Download URL superduper_ibis-0.5.4-py3-none-any.whl
Size 20.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9a7043aaf916a7ef1b985af126b1b209395d1560ad5caf85079f00430a7ae8d5
BLAKE2b-256 checksum
How to use checksums
367f33a48121ad01585a3c58fc4b6efe6fa3a37dd5f0345e1cc27e8fe55dc9db
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Apr 13, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.5.4 This release

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.8

2 release files

0.4.7

2 release files

0.4.6

2 release files

0.4.5

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.0.5

2 release files

0.0.2

2 release files

0.0.1

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