Metadata-Version: 2.4
Name: kaizo
Version: 1.4.0
Summary: declarative YAML-based configuration parser
Author-email: Mohammad Ghazanfari <mgh.5225@gmail.com>
Project-URL: Homepage, https://github.com/NaughtFound/kaizo
Project-URL: Source, https://github.com/NaughtFound/kaizo
Project-URL: Issues, https://github.com/NaughtFound/kaizo/issues
Project-URL: Changelog, https://github.com/NaughtFound/kaizo/blob/main/CHANGELOG.md
Project-URL: Documentation, https://NaughtFound.github.io/kaizo
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pyyaml>=6.0.3
Provides-Extra: hf
Requires-Dist: kaizo-hf; extra == "hf"
Dynamic: license-file

# Kaizo

Kaizo is a **declarative YAML-based configuration parser** for Python.
It allows you to dynamically load, resolve, and execute Python objects, functions, and plugins from YAML configuration files.

Key features:

- Cross-file imports
- Lazy execution
- Result caching
- Plugin dispatch
- Variable references
- Local Python module support

---

## Installation

Install Kaizo via pip:

```bash
pip install kaizo
```

Or install from source:

```bash
git clone https://github.com/NaughtFound/kaizo.git
cd kaizo
pip install -e .
```

Requirements:

- Python 3.10+
- PyYAML

---

## Quick Start

Create a simple configuration file `hello.yaml`:

```yaml
hello:
  module: builtins
  source: print
  args:
    - "Hello Kaizo"
```

Load and execute it:

```python
from kaizo import ConfigParser

parser = ConfigParser("hello.yaml")
config = parser.parse()

# Accessing the entry automatically resolves and executes it
config["hello"]  # Outputs: Hello Kaizo
```

---

## Documentation

Full documentation, including configuration, parser architecture, plugins, and utilities, is available in the docs:

[Kaizo Documentation](https://naughtfound.github.io/kaizo/)

---

## Contributing

Contributions are welcome! Please submit issues or pull requests via GitHub.

---

## License

[Apache License](LICENSE)
