Metadata-Version: 2.4
Name: koji-db
Version: 0.2.1
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Rust
Classifier: Topic :: Database
Requires-Dist: pyarrow>=14.0
Requires-Dist: pytest>=7.0 ; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.21 ; extra == 'dev'
Requires-Dist: pandas>=2.0 ; extra == 'dev'
Requires-Dist: polars>=0.20 ; extra == 'dev'
Provides-Extra: dev
Summary: Kōji - Hybrid SQL + Recursive + Vector Database
Keywords: database,sql,datalog,vector,graph
Author: Tucker Resor
License: Apache-2.0
Requires-Python: >=3.9
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM

# Kōji Python Bindings

Python bindings for Kōji, the hybrid SQL + Recursive + Vector database.

## Installation

```bash
pip install koji
```

## Quick Start

```python
import pyarrow as pa
import koji

# Create in-memory database
db = koji.open_memory()

# Create table with initial data (schema is inferred from the RecordBatch)
data = pa.table({"id": [1, 2], "name": ["Alice", "Bob"]})
db.create_table_from_batch("users", data)

# Insert additional data
more = pa.table({"id": [3], "name": ["Carol"]})
db.insert("users", more)

# Query
result = db.query("SELECT * FROM users")
print(result.to_pandas())
```

## Features

- **Relational queries** via SQL
- **Recursive CTEs** for graph traversal
- **Vector similarity search** with automatic indexing
- **Zero-copy** data interchange with PyArrow

## Documentation

See the [full documentation](https://github.com/tuckertucker/tkr-koji).

