Skip to content

feat: Add pyseekdb support as storage backend (Issue #117)#208

Merged
Teingi merged 1 commit intooceanbase:mainfrom
NTLx:feature/issue-117-pyseekdb-backend
Jan 31, 2026
Merged

feat: Add pyseekdb support as storage backend (Issue #117)#208
Teingi merged 1 commit intooceanbase:mainfrom
NTLx:feature/issue-117-pyseekdb-backend

Conversation

@NTLx
Copy link
Contributor

@NTLx NTLx commented Jan 31, 2026

This PR introduces pyseekdb support as a first-class storage backend for PowerMem, addressing Issue #117 and contributing to the OceanBase AI Coding Event.

🚀 Key Features

  • Native Integration: Uses the official pyseekdb client (the next-gen Python driver for OceanBase vector store) for optimal performance and compatibility.
  • Seamless Config: Added PySeekDBConfig which integrates perfectly with PowerMem's existing configuration system (factory pattern).
  • Robust Implementation: The PySeekDBVectorStore adapter implements the full VectorStoreBase interface, supporting:
    • CRUD operations (Insert, Delete, Update, Get)
    • Vector Similarity Search (KNN/ANN)
    • Collection Management
  • Type Safety: Fully typed implementation passing static analysis checks.

🛠 Implementation Details

  1. Dependencies: Added pyseekdb>=1.0.0 to pyproject.toml.
  2. Configuration:
    • Created src/powermem/storage/config/pyseekdb.py.
    • Updated src/powermem/storage/configs.py to register the new provider config.
  3. Core Logic:
    • Created src/powermem/storage/pyseekdb/pyseekdb_store.py containing the adapter logic.
    • Maps PowerMem's search and insert calls to pyseekdb's corresponding APIs.
  4. Factory:
    • Updated src/powermem/storage/factory.py to recognize provider='pyseekdb'.

✅ AI Contribution Details

  • Analysis: Analyzed the existing VectorStoreBase interface and oceanbase implementation to design a consistent adapter.
  • Environment: Set up a dedicated virtual environment to verify pyseekdb API signatures and resolve dependencies.
  • Implementation: Wrote the complete adapter and configuration code, ensuring all abstract methods were implemented.
  • Verification: Performed static type checking (Pyright) to fix method signature mismatches and type errors.

Looking forward to your review! 🚢

@Teingi
Copy link
Member

Teingi commented Jan 31, 2026

Got it. Reviewing now.

@Teingi
Copy link
Member

Teingi commented Jan 31, 2026

@Teingi
Copy link
Member

Teingi commented Jan 31, 2026

The test pipeline failed: https://github.com/oceanbase/powermem/actions/runs/21540100007/job/62073302252?pr=208

ok, pyseekdb Requires-Python <4.0,>=3.11

Copy link
Member

@Teingi Teingi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@Teingi Teingi merged commit 619fc26 into oceanbase:main Jan 31, 2026
15 of 16 checks passed
@Teingi Teingi added this to the v1.0.0 milestone Feb 10, 2026
@Teingi Teingi added this to PowerMem Feb 10, 2026
@github-project-automation github-project-automation bot moved this to Done in PowerMem Feb 10, 2026
@Teingi Teingi removed this from the v1.0.0 milestone Feb 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants