seekme
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
- User guide: https://psiace.github.io/seekme/
Development
make install
make check
make test
Test matrix (strict envs):
- Remote mode (MySQL): set
SEEKME_TEST_DB_MODE=remotewith eitherSEEKME_TEST_DB_URLorSEEKME_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=embeddedandSEEKME_TEST_SEEKDB_PATH(optional). - Local embeddings: set
SEEKME_TEST_LOCAL_EMBEDDING=1andSEEKME_TEST_LOCAL_MODEL. - Remote embeddings (e2e): set
SEEKME_TEST_REMOTE_EMBEDDING=1andSEEKME_TEST_REMOTE_API_KEY(optionalSEEKME_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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| seekme-0.0.1.tar.gz | 179.7 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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.