akkudoktoreos.core.version.hash_tree
- akkudoktoreos.core.version.hash_tree(paths: list[Path], allowed_suffixes: set[str], excluded_dir_patterns: set[str], excluded_files: set[Path] | None = None) tuple[str, list[Path]]
Return SHA256 hash for files under paths and the list of files hashed.
- Parameters:
paths – list of root paths to hash
allowed_suffixes – set of file suffixes to include (e.g., {‘.py’, ‘.json’})
excluded_dir_patterns – set of directory patterns to exclude
excluded_files – Optional set of specific files to exclude
- Returns:
tuple of (hash_digest, list_of_hashed_files)
Example
>>> hash_digest, files = hash_tree( ... paths=[Path('src')], ... allowed_suffixes={'.py'}, ... excluded_dir_patterns={'*__pycache__'}, ... ) >>> print(f"Hash: {hash_digest}") >>> print(f"Based on {len(files)} files")