Source code for pyappconf.pyproject
from pathlib import Path
from typing import Any, Dict, Type
import toml
from toml import TomlEncoder
[docs]def add_model_to_pyproject_toml(
config_data: Dict[str, Any],
path: Path,
config_name: str,
toml_encoder: Type[TomlEncoder],
) -> str:
if path.exists():
data = toml.load(path)
else:
data = {}
if "tool" not in data:
data["tool"] = {}
data["tool"][config_name] = config_data
toml_str = toml.dumps(data, encoder=toml_encoder())
return toml_str
[docs]def read_config_data_from_pyproject_toml(path: Path, config_name: str) -> dict:
data = toml.load(path)
return data["tool"][config_name]