code: def add_all_namespaced_packages(
      walkable_paths_and_prefixes: dict[str, str],
      provider_path: str,
      provider_prefix: str,
  ):
      """Find namespace packages.
  
      This needs to be done manually as ``walk_packages`` does not support
      namespaced packages and PEP 420.
  
      :param walkable_paths_and_prefixes: pats
      :param provider_path:
      :param provider_prefix:
      """
      main_path = Path(provider_path).resolve()
      for candidate_path in main_path.rglob("*"):
          if candidate_path.name == "__pycache__":
              continue
          if (
              candidate_path.is_dir()
              and not (candidate_path / "__init__.py").exists()
          ):
              subpackage = str(
                  candidate_path.relative_to(main_path)
              ).replace(os.sep, ".")
              walkable_paths_and_prefixes[str(candidate_path)] = (
                  provider_prefix + subpackage + "."
              )
  
imports: from __future__ import annotations
  import importlib
  import json
  import logging
  import os
  import pkgutil
  import re
  import subprocess
  import sys
  import traceback
  import warnings
  from enum import Enum
  from inspect import isclass
  from pathlib import Path
  from typing import NamedTuple
  from rich.console import Console
  from airflow.exceptions import AirflowOptionalProviderFeatureException
  from airflow.secrets import BaseSecretsBackend
label_desc: Use image node_id 22 for calling a global function with example usage: add_all_namespaced_packages(walkable_paths_and_prefixes, provider_path, provider_prefix) without return types