def experimental_set_features(
        self,
        flags: Optional[
            Union[
                Iterable[Union[str, Feature]],
                Mapping[Union[str, Feature], bool],
            ]
        ],
        freeze: bool = False,
    ):
        """Set multiple feature flags.

        If `freeze` is set, the flags will be frozen to the values given.

        Raises:
            ValueError: If any flag is already frozen to a different value than
            provided.
        """
        if is_otel_tracing_enabled():
            self._experimental_feature(
                Feature.OTEL_TRACING, value=True, freeze=True
            )
        if isinstance(flags, dict):
            for flag, val in flags.items():
                self._experimental_feature(flag, value=val, freeze=freeze)
        elif flags is not None:
            for flag in flags:
                self._experimental_feature(flag, value=True, freeze=freeze)
Set multiple feature flags.

        If `freeze` is set, the flags will be frozen to the values given.

        Raises:
            ValueError: If any flag is already frozen to a different value than
            provided.
        
src/core/trulens/core/experimental/__init__.py