Source code for gfw.common.dictionaries

"""Utility functions for dictionary and mapping operations.

This module provides general-purpose helpers for working with dictionaries
and other mapping types, such as filtering entries or transforming data.
"""

from typing import Any, Dict, Mapping, TypeVar


K = TypeVar("K")
V = TypeVar("V")


[docs] def filter_none_values(mapping: Mapping[K, V]) -> Dict[K, V]: """Return a new dictionary excluding keys with None values. Args: mapping: Input mapping. Returns: A new dictionary with all keys having non-None values. """ return {k: v for k, v in mapping.items() if v is not None}
[docs] def copy_dict_without(dictionary: Mapping[K, V], keys: list[Any]) -> Dict[Any, Any]: """Returns a shallow copy of the given dictionary excluding specified keys. Args: dictionary: The source dictionary to copy. keys: A list of keys to remove from the resulting dictionary. Returns: A new dictionary with the specified keys removed. """ return {k: v for k, v in dictionary.items() if k not in keys}