Coverage for databooks/config.py: 100%
13 statements
« prev ^ index » next coverage.py v7.16.2, created at 2026-10-20 15:04 +0200
« prev ^ index » next coverage.py v7.16.2, created at 2026-10-20 15:04 +0200
1"""Configuration functions, and settings objects."""
3from pathlib import Path
4from typing import Any, Dict, List, Optional
6from databooks.common import find_common_parent, find_obj
7from databooks.git_utils import get_repo
8from databooks.logging import get_logger
10TOML_CONFIG_FILE = "pyproject.toml"
12ConfigFields = Dict[str, Any]
14logger = get_logger(__file__)
17def get_config(target_paths: List[Path], config_filename: str) -> Optional[Path]:
18 """Find configuration file from CLI target paths."""
19 common_path = find_common_parent(paths=target_paths)
20 repo = get_repo(common_path)
21 repo_dir = getattr(repo, "working_dir", None)
23 return find_obj(
24 obj_name=config_filename,
25 start=Path(repo_dir) if repo_dir is not None else Path(common_path.anchor),
26 finish=common_path,
27 )