Metadata-Version: 2.3
Name: kazeflow
Version: 0.1.0a4
Summary: A lightweight, asset-based task flow engine
Author: Kj
Author-email: Kj <46800811+kj-9@users.noreply.github.com>
Requires-Dist: rich>=14.1.0 ; extra == 'tui'
Requires-Python: >=3.10
Provides-Extra: tui
Description-Content-Type: text/markdown

# kazeflow

`kazeflow` is a lightweight task-flow library for ordinary Python scripts. Turn
functions into assets, inspect their dependency plan, explicitly approve execution,
and review the result—without a daemon, service, or required runtime dependency.

## Install

```bash
pip install kazeflow
```

For the optional Rich progress display, quote the extra so shells such as zsh do
not expand the brackets:

```bash
pip install "kazeflow[tui]"
```

## Your first reviewed flow

```python
# daily.py
from kazeflow import Flow, asset


@asset
def fetch() -> str:
    return "report input"


@asset
def publish(fetch: str) -> None:
    print(fetch)


flow = Flow(["publish"])
```

```bash
kazeflow plan daily.py
kazeflow run daily.py       # review the preflight, then answer y
kazeflow run daily.py --yes # explicit approval for CI or a pipe
```

The complete user documentation lives on GitHub Pages:

- [Get started](https://kj-9.github.io/kazeflow/getting-started.html)
- [Python API reference](https://kj-9.github.io/kazeflow/api/index.html)
- [CLI and graph output](https://kj-9.github.io/kazeflow/cli.html)
- [Partitions](https://kj-9.github.io/kazeflow/partitions.html)
- [Results, SQLite storage, and history](https://kj-9.github.io/kazeflow/results.html)

## Trust boundary

kazeflow loads the Python entry before it can inspect a flow, so module-level code
and imports can run. `plan` does not invoke decorated asset bodies after loading,
but it is not a sandbox or a safety proof. Read and trust a script before loading
it, especially when it was generated by another person or an AI.

## Project information

Maintainer documentation stays in the repository: [project goals](./docs/GOAL.md),
[roadmap](./docs/ROADMAP.md), and [release notes](./docs/release-notes.md).
The runnable examples are in [`examples/`](./examples/).

License: MIT.
