Metadata-Version: 2.1
Name: pyseekdb
Version: 1.2.0.post2
Summary: A unified Python client for seekdb that supports embedded, server, and OceanBase.
Author-Email: OceanBase <open_oceanbase@oceanbase.com>
License: Apache-2.0
Classifier: Development Status :: 4 - Beta
Project-URL: Homepage, https://www.seekdb.ai/
Project-URL: Repository, https://github.com/oceanbase/pyseekdb/
Project-URL: Bug Tracker, https://github.com/oceanbase/pyseekdb/issues
Requires-Python: <4,>=3.11
Requires-Dist: pymysql>=1.1.1
Requires-Dist: pylibseekdb; sys_platform == "linux" or (sys_platform == "darwin" and platform_machine == "arm64")
Requires-Dist: onnxruntime>=1.19.0; python_version < "3.14"
Requires-Dist: tokenizers>=0.15.0; python_version < "3.14"
Requires-Dist: httpx; python_version < "3.14"
Requires-Dist: tqdm; python_version < "3.14"
Requires-Dist: sentence-transformers; python_version >= "3.14"
Requires-Dist: tenacity
Requires-Dist: numpy!=2.4.0,>=1.26
Description-Content-Type: text/markdown

# pyseekdb

pyseekdb is a Python SDK for seekdb and OceanBase AI search. It supports embedded and server deployments with vector, full-text, and hybrid retrieval, and exposes a collection-first API for application workflows. For advanced database operations, you can use MySQL-compatible drivers to run SQL against seekdb and OceanBase.

Key features:

- **Unified API**: Single interface for embedded and remote server modes
- **Vector Operations**: Efficient vector similarity search
- **Hybrid Search**: Combine vector and full-text search
- **Embedding Functions**: Built-in support for various embedding models
- **Collection Management**: Easy collection (table) creation and management
- **Database Management**: Admin operations for database management

## Documentation

- Docs home: https://docs.seekdb.ai
- User guide: https://docs.seekdb.ai/seekdb/deploy-overview
- API reference: https://docs.seekdb.ai/seekdb/api-overview
- RAG demo: [English](demo/rag/README.md) / [中文](demo/rag/README_CN.md)
- Contributing: [CONTRIBUTING.md](CONTRIBUTING.md)

## Installation

```bash
pip install -U pyseekdb
# or with uv
uv add pyseekdb
```

## Quick Start

```python
import pyseekdb

client = pyseekdb.Client(path="./seekdb.db", database="demo")
collection = client.get_or_create_collection("my_collection")

collection.add(
    ids=["doc1", "doc2"],
    documents=["Hello world", "pyseekdb quick start"],
    metadatas=[{"tag": "hello"}, {"tag": "demo"}],
)

results = collection.query(query_texts=["hello"], n_results=3)
print(results["ids"][0])
```

For full usage, connection modes, collection management, and operations, see the
[User Guide](https://oceanbase.github.io/pyseekdb/guide/).

## License

This package is licensed under Apache 2.0. See [LICENSE](LICENSE).
