pyobvector
A python SDK for OceanBase Vector Store, based on SQLAlchemy, compatible with Milvus API.
Decision gist · record as of 2026-08-14
Yes, if you are already using OceanBase or planning to adopt it for vector workloads. The Milvus-compatible API lowers switching costs, and SQLAlchemy integration lets you avoid a separate vector database. No security vulnerabilities reported. Active maintenance and low install friction. Not recommended if you need a standalone vector database—pyobvector is a client for OceanBase, not a replacement for it.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires a running OceanBase server or local SeekDB instance; optional pyseekdb dependency needed for embedded mode (pip install pyobvector[pyseekdb]).
- Low install friction: pure Python wheel with no compiled dependencies.
- Active maintenance—last commit 2026-07-29, released 16 days ago.
License · maintenance · safety
Apache-2.0 (permissive) — Licensed under Apache-2.0 (permissive). No restrictions on commercial or private use; modifications and redistribution are allowed under the same license terms.
last release 2026-07-29 (16 days) · last repo commit 2026-07-29 · 19 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 115,089 downloads/mo, #12,269 on PyPI
Alternatives
Verify before relying
pip install pyobvector==0.2.29
from pyobvector import MilvusLikeClient
client = MilvusLikeClient(uri="127.0.0.1:2881", user="test@test")
res = client.search(collection_name="test", data=[0,0,0], anns_field='embedding', limit=5)- Stability and maturity of the OceanBase backend itself—pyobvector is a client SDK only.
- Performance characteristics (latency, throughput) for large-scale vector workloads compared to dedicated vector databases.
- Whether Milvus API compatibility is complete or partial (which Milvus operations are unsupported).
What it is and what it does
pyobvector is a Python client library for OceanBase's vector storage capabilities, enabling approximate nearest neighbor (ANN) search, full-text search, and JSON queries on OceanBase databases. It wraps OceanBase's vector indexing (HNSW, VSAG) and exposes it through two main interfaces: a Milvus-compatible API for drop-in compatibility with existing Milvus code, and a SQLAlchemy hybrid mode that lets you mix vector operations with standard SQL queries on the same tables.
The package is built on top of SQLAlchemy, aiomysql, and pymysql for database connectivity, and numpy for vector operations. It supports four modes of use: Milvus-compatible collections, SQLAlchemy ORM with vector extensions, embedded local SeekDB (no server), and hybrid search combining full-text and vector similarity. Installation is straightforward (pure Python wheel), and it requires Python 3.10+.
Use it for
- Migrate from Milvus to OceanBase without rewriting client code by using MilvusLikeClient.
- Build semantic search on relational data by combining vector similarity with SQL filters and joins via SQLAlchemy.
- Perform hybrid search combining full-text search and vector similarity in a single query using HybridSearch.
- Prototype vector applications locally with embedded SeekDB before deploying to a server.
- Store and query embeddings alongside structured metadata (JSON fields) in OceanBase tables.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are already using OceanBase or planning to adopt it for vector workloads.
The Milvus-compatible API lowers switching costs, and SQLAlchemy integration lets you avoid a separate vector database. No security vulnerabilities reported. Active maintenance and low install friction. Not recommended if you need a standalone vector database—pyobvector is a client for OceanBase, not a replacement for it.
Install
pyobvector on PyPI
Before you install
Low install friction: pure Python wheel with no compiled dependencies. Active maintenance—last commit 2026-07-29, released 16 days ago. Requires Python 3.10+. Six runtime dependencies (aiomysql, numpy, pydantic, pymysql, sqlalchemy, sqlglot) are all stable, widely-used libraries.
Requires a running OceanBase server or local SeekDB instance; optional pyseekdb dependency needed for embedded mode (pip install pyobvector[pyseekdb]).
License in practice
Licensed under Apache-2.0 (permissive). No restrictions on commercial or private use; modifications and redistribution are allowed under the same license terms.
Quickstart
pip install pyobvector==0.2.29
from pyobvector import MilvusLikeClient
client = MilvusLikeClient(uri="127.0.0.1:2881", user="test@test")
res = client.search(collection_name="test", data=[0,0,0], anns_field='embedding', limit=5)
Verify before relying
- Stability and maturity of the OceanBase backend itself—pyobvector is a client SDK only.
- Performance characteristics (latency, throughput) for large-scale vector workloads compared to dedicated vector databases.
- Whether Milvus API compatibility is complete or partial (which Milvus operations are unsupported).
Package facts
| License | Apache-2.0 permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 6 packagesaiomysqlnumpypydanticpymysqlsqlalchemysqlglot |
| Maintenance | Actively maintained 16 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 115,089 / month, #12,269 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
Evidence: pyobvector-0.2.29-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “oceanbase vector store client”
- pyobvectorpyobvector is a Python SDK for OceanBase Vector Store that provides…
- llama-index-vector-stores-qdrantIntegrates Qdrant vector database with LlamaIndex for storing and…
- weaviate-clientA Python client library for connecting to and querying Weaviate, a…
Give your agent the search over MCP, or paste the wish link into any chat.
More Database packages
psycopg2-binary is a PostgreSQL database adapter for Python that implements the DB API 2.0 specification, enabling Python applications to connect to and query PostgreSQL databases with thread-safe concurrent operations.
Python client library for connecting to and executing commands against Redis key-value stores, supporting both synchronous and asynchronous operations.
Install it if your application needs to interact with Redis; the only prerequisite is a running Redis server instance.
YDB Python SDK is the official client library for connecting to and querying YDB databases from Python applications.
Install it if you need to connect Python applications to YDB databases.
Connects Python applications to Snowflake data warehouses using the DB API 2.0 specification, enabling SQL queries, data transfers, and warehouse operations.
sqlparse tokenizes SQL text into a tree of statements, clauses, and expressions, and provides functions to split scripts, format queries, and inspect parsed tokens without validating dialect or syntax.
Install it if you need to manipulate, format, or analyze SQL text programmatically.
Provides base adapter protocols and shared functionality that database adapters use to integrate with dbt-core, handling connections, dialect translation, relation caching, and core interface management.
See also pgvector · pgvecto-rs · milvus-lite · langchain-milvus · pymilvus.model · llama-index-vector-stores-milvus · upstash-vector · turbopuffer · sqlite-vec