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')

Download files

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

Source Distribution

superduper_ibis-0.5.4.tar.gz (20.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

superduper_ibis-0.5.4-py3-none-any.whl (20.0 kB view details)

Uploaded Python 3

File details

Details for the file superduper_ibis-0.5.4.tar.gz.

File metadata

  • Download URL: superduper_ibis-0.5.4.tar.gz
  • Upload date:
  • Size: 20.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for superduper_ibis-0.5.4.tar.gz
Algorithm Hash digest
SHA256 39c10e106b77406da565cf1700f548dc39b23402bd662ea90951cfd6516a3daf
MD5 72cb35c19a02661d70cd8c4ce4e5ad6e
BLAKE2b-256 88333dc02ab526565edbe5a172afecbb92a7e726d2d46d9a76cf03134ec4beea

See more details on using hashes here.

Provenance

The following attestation bundles were made for superduper_ibis-0.5.4.tar.gz:

Publisher: release_plugins.yaml on superduper-io/superduper

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file superduper_ibis-0.5.4-py3-none-any.whl.

File metadata

File hashes

Hashes for superduper_ibis-0.5.4-py3-none-any.whl
Algorithm Hash digest
SHA256 9a7043aaf916a7ef1b985af126b1b209395d1560ad5caf85079f00430a7ae8d5
MD5 59a7faadbed1089c7f02dfc6c1a92be4
BLAKE2b-256 367f33a48121ad01585a3c58fc4b6efe6fa3a37dd5f0345e1cc27e8fe55dc9db

See more details on using hashes here.

Provenance

The following attestation bundles were made for superduper_ibis-0.5.4-py3-none-any.whl:

Publisher: release_plugins.yaml on superduper-io/superduper

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.5.4 This release

2 files

0.5.3

2 files

0.5.2

2 files

0.5.1

2 files

0.5.0

2 files

0.4.8

2 files

0.4.7

2 files

0.4.6

2 files

0.4.5

2 files

0.4.4

2 files

0.4.3

2 files

0.4.2

2 files

0.4.1

2 files

0.4.0

2 files

0.0.5

2 files

0.0.2

2 files

0.0.1

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page