Skip to main content

seekme

Release Build status codecov Commit activity License

seekme is an end-to-end seekdb toolchain for AI workflows in-database. It keeps a minimal, explicit surface so you can stay close to SQL while adding vector search and optional embeddings.

Disclosure

This is not an official OceanBase library. It was developed by the author while employed at OceanBase, and I hope you enjoy it.

Install

pip install seekme

Optional extras:

pip install "seekme[mysql]"
pip install "seekme[remote-embeddings]"
pip install "seekme[local-embeddings]"
pip install "seekme[seekdb]"

Notes:

  • seekme[remote-embeddings] requires Python 3.11+ due to provider SDK requirements.
  • seekme[local-embeddings] installs sentence-transformers.
  • seekme[seekdb] requires Linux and installs pylibseekdb for embedded mode.

Quickstart

SQL-only

from seekme import Client

client = Client.from_database_url("mysql+pymysql://root:@127.0.0.1:2881/seekme_test")
client.connect()

row = client.db.fetch_one("SELECT 1 AS ok")
assert row["ok"] == 1

SQL + Vector

store = client.vector_store
store.create_collection("docs", dimension=3)
store.upsert(
    "docs",
    ids=["v1", "v2"],
    vectors=[[1.0, 0.0, 0.0], [0.0, 1.0, 0.0]],
)

results = store.search("docs", query=[1.0, 0.0, 0.0], top_k=3)

SQL + Vector + Embeddings

from seekme.embeddings import LocalEmbedder

embedder = LocalEmbedder(model="sentence-transformers/paraphrase-MiniLM-L3-v2")
sdk = Client(db=client.db, embedder=embedder)

results = sdk.vector_store.search("docs", query="hello world", top_k=3)

Embedded seekdb (optional)

client = Client.from_database_url("seekdb:////tmp/seekdb.db?database=seekme_test", db_driver="seekdb")
client.connect()

Documentation

Development

make install
make check
make test

Test matrix (strict envs):

  • Remote mode (MySQL): set SEEKME_TEST_DB_MODE=remote with either SEEKME_TEST_DB_URL or SEEKME_TEST_DB_HOST/SEEKME_TEST_DB_PORT/SEEKME_TEST_DB_USER/SEEKME_TEST_DB_PASSWORD/SEEKME_TEST_DB_NAME.
  • Embedded mode: set SEEKME_TEST_DB_MODE=embedded and SEEKME_TEST_SEEKDB_PATH (optional).
  • Local embeddings: set SEEKME_TEST_LOCAL_EMBEDDING=1 and SEEKME_TEST_LOCAL_MODEL.
  • Remote embeddings (e2e): set SEEKME_TEST_REMOTE_EMBEDDING=1 and SEEKME_TEST_REMOTE_API_KEY (optional SEEKME_TEST_REMOTE_MODEL/SEEKME_TEST_REMOTE_PROVIDER/SEEKME_TEST_REMOTE_API_BASE).

Use .env.test.example as a starting point for local runs.

License

Apache-2.0. See LICENSE.

Metadata

Release files for seekme 0.0.1

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

Source distribution (sdist)

Source distribution for seekme 0.0.1
File Size Uploaded Provenance
seekme-0.0.1.tar.gz 179.7 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for seekme 0.0.1
File Interpreter ABI Platform
seekme-0.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 201.7 kB

Release files / seekme-0.0.1.tar.gz

Download URL seekme-0.0.1.tar.gz
Size 179.7 kB
Tags Source
SHA-256 checksum
How to use checksums
39f31ae8889bb965b8f6e45ae9c4f77cbc01cd10cd321e0fc1cd232d20d0bdf3
BLAKE2b-256 checksum
How to use checksums
40612ebac0b0c44bcd880890c383d8c063940ffac487908c4b6ff59b51cff8ed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.14

Release files / seekme-0.0.1-py3-none-any.whl

Download URL seekme-0.0.1-py3-none-any.whl
Size 22.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9d1da3e61a0a0d85879b314bdf73df5beb806d092ada42a1b2ef63c3ab20fc72
BLAKE2b-256 checksum
How to use checksums
adcd0bcf4e1005911d166b7c927b4e3eb9b7a8a28101eca734b236ccc49de6f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.14

Security for seekme 0.0.1

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files No provenance

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