Metadata-Version: 2.4
Name: rhizo-core
Version: 0.6.0
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT 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
Classifier: Topic :: Software Development :: Libraries
Summary: Data, connected. Content-addressable storage with cross-table ACID transactions.
Keywords: data,storage,versioning,transactions,parquet,duckdb
License: MIT
Requires-Python: >=3.9
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Homepage, https://rhizodata.dev
Project-URL: Repository, https://github.com/rhizodata/rhizo

# rhizo-core

Low-level Rust bindings for [Rhizo](https://github.com/rhizodata/rhizo).

**Most users should install `rhizo` instead**, which includes these bindings plus the high-level Python API:

```bash
pip install rhizo
```

## What is rhizo-core?

This package provides the native Rust components:

- `PyChunkStore` - Content-addressable storage with BLAKE3 hashing
- `PyCatalog` - Versioned table catalog
- `PyBranchManager` - Git-like branching
- `PyTransactionManager` - Cross-table ACID transactions
- `PyParquetEncoder/Decoder` - High-performance Parquet I/O
- Merkle tree operations for incremental deduplication

## When to use rhizo-core directly

Only if you're building custom tooling on top of the low-level primitives. For normal usage, install `rhizo` which provides a simple API:

```python
import rhizo

db = rhizo.open("./mydata")
db.write("users", df)
result = db.sql("SELECT * FROM users")
```

## License

MIT

