Metadata-Version: 2.4
Name: raikou-core
Version: 0.1.0
Summary: Spark root materialization and ExecutionEngine implementation (pydantable-protocol + PySpark).
Author-email: Odos Matthews <odosmatthews@gmail.com>
Maintainer-email: Odos Matthews <odosmatthews@gmail.com>
License: MIT
Project-URL: Homepage, https://github.com/eddiethedean/raikou
Project-URL: Repository, https://github.com/eddiethedean/raikou
Project-URL: Issues, https://github.com/eddiethedean/raikou/issues
Project-URL: Changelog, https://github.com/eddiethedean/raikou/blob/main/CHANGELOG.md
Keywords: spark,pyspark,execution-engine,dataframe,pydantable
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pydantable-protocol<2,>=1.17.0
Requires-Dist: pyspark<4,>=3.4
Requires-Dist: typing-extensions>=4.5
Provides-Extra: dev
Requires-Dist: pytest>=8.0; extra == "dev"
Requires-Dist: pytest-xdist>=3.0; extra == "dev"
Requires-Dist: ruff>=0.8; extra == "dev"
Requires-Dist: ty>=0.0.28; extra == "dev"
Dynamic: license-file

# raikou-core

Spark-backed execution core used by [`raikou`](https://pypi.org/project/raikou/).

`raikou-core` implements an `ExecutionEngine` compatible with
[`pydantable-protocol`](https://pypi.org/project/pydantable-protocol/) and
contains the planning/expression primitives that `raikou` builds on.

## Who should use this package?

- **Most users**: install and use [`raikou`](https://pypi.org/project/raikou/) (higher-level API).
- **Library authors / advanced users**: depend on `raikou-core` directly if you want
  the engine/planner without the `raikou` convenience layer.

## Requirements

- **Python**: 3.10+
- **Spark**: `pyspark>=3.4,<4` (a Spark runtime must be available in your environment)

## Install

```bash
pip install raikou-core
```

## Development (monorepo)

From the repository root:

```bash
make install-editable
make test
make lint
make format
```

## Related

- **High-level API**: [`raikou`](https://pypi.org/project/raikou/)
- **Documentation**: built from `docs/` via MkDocs (`mkdocs.yml`)

## License

MIT (see repository `LICENSE`).

