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)
| File | Size | Uploaded | |
|---|---|---|---|
| superduper_ibis-0.5.4.tar.gz | 20.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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