Skip to content

ddeutils/ddeutil-io

Repository files navigation

Data Utility Package: IO

test python support version size

Table of Contents:

This Utility IO Object was created for load the config data from any file format types like .yaml, .json, or .toml, and manage retention and version of this config file lifecycle.

Installation

pip install ddeutil-io

Features

File

File Objects that use to read or write data to that format.

import os
from ddeutil.io import YamlEnvFl

os.environ["HELLO"] = "WORLD"
content = YamlEnvFl('./.pre-commit-config.yaml').read(safe=True)

Config

The Config Object is the file system handler object.

from pathlib import Path
from ddeutil.io.config import ConfFl

config: ConfFl = ConfFl(path=Path('./file.gz.yaml'), compress="gzip")

Register

The Register Object is the metadata generator object for the config data. If you passing name and configs to this object, it will find the config name in any stage storage and generate its metadata to you.

from ddeutil.io.register import Register
from ddeutil.io.models import Params

registry: Register = Register(
    name='examples:conn_data_local_file',
    config=Params.model_validate({
        "stages": {
            "raw": {"format": "{naming:%s}.{timestamp:%Y%m%d_%H%M%S}"},
        },
    }),
)
registry.move(stage="raw")

License

This project was licensed under the terms of the MIT license.