declarative YAML-based configuration parser
Project description
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:
pip install kaizo
Or install from source:
git clone https://github.com/NaughtFound/kaizo.git
cd kaizo
pip install -e .
Requirements:
- Python 3.12+
- PyYAML
Quick Start
Create a simple configuration file hello.yaml:
hello:
module: builtins
source: print
args:
- "Hello Kaizo"
Load and execute it:
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:
Contributing
Contributions are welcome! Please submit issues or pull requests via GitHub.
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kaizo-1.6.1.tar.gz.
File metadata
- Download URL: kaizo-1.6.1.tar.gz
- Upload date:
- Size: 16.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
15dabae25c05336078ec1cf7aa61a3bd44dfa4ffc044bae69b35aab4fd02321e
|
|
| MD5 |
0edd01a2cc6f32449117e87574bf7abc
|
|
| BLAKE2b-256 |
dcf70e125e188e53cb77eacb6297785c799e01bd3c5689631bd08b9f5531ff63
|
Provenance
The following attestation bundles were made for kaizo-1.6.1.tar.gz:
Publisher:
publish.yml on NaughtFound/kaizo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
kaizo-1.6.1.tar.gz -
Subject digest:
15dabae25c05336078ec1cf7aa61a3bd44dfa4ffc044bae69b35aab4fd02321e - Sigstore transparency entry: 1090835191
- Sigstore integration time:
-
Permalink:
NaughtFound/kaizo@2ee4d307138e9dcdc14ab8e8ec716b7c88db62c4 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/NaughtFound
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@2ee4d307138e9dcdc14ab8e8ec716b7c88db62c4 -
Trigger Event:
pull_request
-
Statement type:
File details
Details for the file kaizo-1.6.1-py3-none-any.whl.
File metadata
- Download URL: kaizo-1.6.1-py3-none-any.whl
- Upload date:
- Size: 14.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8ead4424175d8c1f52858ebc0e868308df38b39f9d405491fdbbd7ec40db5946
|
|
| MD5 |
27447dd0bbfd60079c2b975101e784d8
|
|
| BLAKE2b-256 |
694f48b92c4512d11b206612a54fbba219ba0034123c3e8f30213904df523302
|
Provenance
The following attestation bundles were made for kaizo-1.6.1-py3-none-any.whl:
Publisher:
publish.yml on NaughtFound/kaizo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
kaizo-1.6.1-py3-none-any.whl -
Subject digest:
8ead4424175d8c1f52858ebc0e868308df38b39f9d405491fdbbd7ec40db5946 - Sigstore transparency entry: 1090835201
- Sigstore integration time:
-
Permalink:
NaughtFound/kaizo@2ee4d307138e9dcdc14ab8e8ec716b7c88db62c4 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/NaughtFound
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@2ee4d307138e9dcdc14ab8e8ec716b7c88db62c4 -
Trigger Event:
pull_request
-
Statement type: