Remove use of typing.Dict

Replace all use of typing.Dict with its equivalent Python collection,
dict. This syntax was introduced as part of the Python 3.9 release.

Change-Id: I290211e75c929e4fee48e20c127c32cf09842e2c
Reviewed-on: https://fuchsia-review.googlesource.com/c/antlion/+/890274
Reviewed-by: Hayden Nix <haydennix@google.com>
Commit-Queue: Auto-Submit <auto-submit@fuchsia-infra.iam.gserviceaccount.com>
Fuchsia-Auto-Submit: Sam Balana <sbalana@google.com>
diff --git a/packages/antlion/controllers/access_point.py b/packages/antlion/controllers/access_point.py
index da27d5a..0db1411 100755
--- a/packages/antlion/controllers/access_point.py
+++ b/packages/antlion/controllers/access_point.py
@@ -17,7 +17,7 @@
 import ipaddress
 import time
 from dataclasses import dataclass
-from typing import Any, Dict, FrozenSet, Mapping, Set, Tuple
+from typing import Any, FrozenSet, Mapping, Set, Tuple
 
 from antlion import logger, utils
 from antlion.capabilities.ssh import SSHConfig, SSHProvider
@@ -117,9 +117,9 @@
 
         # A map from network interface name to _ApInstance objects representing
         # the hostapd instance running against the interface.
-        self._aps: Dict[str, _ApInstance] = dict()
+        self._aps: dict[str, _ApInstance] = dict()
         self._dhcp: DhcpServer | None = None
-        self._dhcp_bss: Dict[Any, Subnet] = dict()
+        self._dhcp_bss: dict[Any, Subnet] = dict()
         self._radvd: Radvd | None = None
         self.bridge = BridgeInterface(self)
         self.iwconfig = ApIwconfig(self)
@@ -173,7 +173,7 @@
         radvd_config: RadvdConfig | None = None,
         setup_bridge: bool = False,
         is_nat_enabled: bool = True,
-        additional_parameters: Dict[str, Any] | None = None,
+        additional_parameters: dict[str, Any] | None = None,
     ) -> list[Any]:
         """Starts as an ap using a set of configurations.
 
@@ -383,7 +383,7 @@
             return self._dhcp.get_logs()
         return None
 
-    def get_hostapd_logs(self) -> Dict[str, str]:
+    def get_hostapd_logs(self) -> dict[str, str]:
         """Get hostapd logs for all interfaces on AP object.
 
         This allows consumers of the access point objects to validate hostapd
@@ -391,7 +391,7 @@
 
         Returns: A dict with {interface: log} from hostapd instances.
         """
-        hostapd_logs: Dict[str, str] = dict()
+        hostapd_logs: dict[str, str] = dict()
         for identifier in self._aps:
             hostapd_logs[identifier] = self._aps[identifier].hostapd.pull_logs()
         return hostapd_logs
@@ -590,7 +590,7 @@
         timeout: int = 1000,
         size: int = 56,
         additional_ping_params: Any | None = None,
-    ) -> Dict[str, Any]:
+    ) -> dict[str, Any]:
         """Pings from AP to dest_ip, returns dict of ping stats (see utils.ping)"""
         return utils.ping(
             self.ssh,
@@ -677,7 +677,7 @@
             if isinstance(settings, HostapdConfig):
                 config = settings
                 setup_bridge = False
-                additional_parameters: Dict[str, Any] = {}
+                additional_parameters: dict[str, Any] = {}
 
             elif isinstance(settings, dict):
                 config = settings["hostapd_config"]
@@ -752,7 +752,7 @@
     hidden: bool | None = False,
     security: Security | None = None,
     pmf_support: int | None = None,
-    additional_ap_parameters: Dict[str, Any] | None = None,
+    additional_ap_parameters: dict[str, Any] | None = None,
     password: str | None = None,
     n_capabilities: list[Any] | None = None,
     ac_capabilities: list[Any] | None = None,
diff --git a/packages/antlion/controllers/ap_lib/hostapd.py b/packages/antlion/controllers/ap_lib/hostapd.py
index 3cf0cc4..6e355f2 100644
--- a/packages/antlion/controllers/ap_lib/hostapd.py
+++ b/packages/antlion/controllers/ap_lib/hostapd.py
@@ -17,7 +17,7 @@
 import logging
 import re
 import time
-from typing import Any, Dict, Iterable, Set
+from typing import Any, Iterable, Set
 
 from antlion.controllers.ap_lib import hostapd_constants
 from antlion.controllers.ap_lib.extended_capabilities import ExtendedCapabilities
@@ -65,7 +65,7 @@
         self,
         config: HostapdConfig,
         timeout: int = 60,
-        additional_parameters: Dict[str, Any] | None = None,
+        additional_parameters: dict[str, Any] | None = None,
     ) -> None:
         """Starts hostapd
 
@@ -357,7 +357,7 @@
         if should_be_up and is_dead:
             raise Error("Hostapd failed to start", self)
 
-    def _write_configs(self, additional_parameters: Dict[str, Any]) -> None:
+    def _write_configs(self, additional_parameters: dict[str, Any]) -> None:
         """Writes the configs to the hostapd config file."""
         self._shell.delete_file(self._config_file)
 
diff --git a/packages/antlion/controllers/ap_lib/hostapd_bss_settings.py b/packages/antlion/controllers/ap_lib/hostapd_bss_settings.py
index 5047069..88cddab 100644
--- a/packages/antlion/controllers/ap_lib/hostapd_bss_settings.py
+++ b/packages/antlion/controllers/ap_lib/hostapd_bss_settings.py
@@ -13,7 +13,7 @@
 # limitations under the License.
 
 import collections
-from typing import Dict, Union
+from typing import Union
 
 from antlion.controllers.ap_lib.hostapd_security import Security
 
@@ -45,9 +45,9 @@
         self.hidden = hidden
         self.bssid = bssid
 
-    def generate_dict(self) -> Dict[str, Union[str, int]]:
+    def generate_dict(self) -> dict[str, Union[str, int]]:
         """Returns: A dictionary of bss settings."""
-        settings: Dict[str, Union[str, int]] = collections.OrderedDict()
+        settings: dict[str, Union[str, int]] = collections.OrderedDict()
         settings["bss"] = self.name
         if self.bssid:
             settings["bssid"] = self.bssid
diff --git a/packages/antlion/controllers/ap_lib/hostapd_config.py b/packages/antlion/controllers/ap_lib/hostapd_config.py
index 9bb7e46..40c7406 100644
--- a/packages/antlion/controllers/ap_lib/hostapd_config.py
+++ b/packages/antlion/controllers/ap_lib/hostapd_config.py
@@ -14,7 +14,7 @@
 
 import collections
 import logging
-from typing import Any, Dict, FrozenSet, Union
+from typing import Any, FrozenSet, Union
 
 from antlion.controllers.ap_lib import hostapd_constants
 from antlion.controllers.ap_lib.hostapd_bss_settings import BssSettings
@@ -107,7 +107,7 @@
         min_streams: int | None = None,
         wnm_features: FrozenSet[hostapd_constants.WnmFeature] = frozenset(),
         bss_settings: list[Any] | None = None,
-        additional_parameters: Dict[str, Any] | None = None,
+        additional_parameters: dict[str, Any] | None = None,
         set_ap_defaults_profile: str = "whirlwind",
     ) -> None:
         """Construct a HostapdConfig.
@@ -267,7 +267,7 @@
         self._wnm_features = wnm_features
         self._additional_parameters = additional_parameters
 
-        self._bss_lookup: Dict[str, BssSettings] = collections.OrderedDict()
+        self._bss_lookup: dict[str, BssSettings] = collections.OrderedDict()
         for bss in bss_settings:
             if bss.name in self._bss_lookup:
                 raise ValueError(
@@ -420,7 +420,7 @@
         self._frequency = value
 
     @property
-    def bss_lookup(self) -> Dict[str, BssSettings]:
+    def bss_lookup(self) -> dict[str, BssSettings]:
         return self._bss_lookup
 
     @property
@@ -619,7 +619,7 @@
         """Removes a bss setting from the config."""
         del self._bss_lookup[bss_name]
 
-    def package_configs(self) -> list[Dict[str, Union[str, int]]]:
+    def package_configs(self) -> list[dict[str, Union[str, int]]]:
         """Package the configs.
 
         Returns:
diff --git a/packages/antlion/controllers/ap_lib/hostapd_security.py b/packages/antlion/controllers/ap_lib/hostapd_security.py
index ac55961..82e96cb 100644
--- a/packages/antlion/controllers/ap_lib/hostapd_security.py
+++ b/packages/antlion/controllers/ap_lib/hostapd_security.py
@@ -15,7 +15,7 @@
 import collections
 import string
 from enum import Enum, unique
-from typing import Dict, Union
+from typing import Union
 
 from antlion.controllers.ap_lib import hostapd_constants
 from antlion.typing import StrEnum
@@ -354,12 +354,12 @@
                 else:
                     self.password = password
 
-    def generate_dict(self) -> Dict[str, Union[str, int]]:
+    def generate_dict(self) -> dict[str, Union[str, int]]:
         """Returns: an ordered dictionary of settings"""
         if self.security_mode is SecurityMode.OPEN:
             return {}
 
-        settings: Dict[str, Union[str, int]] = collections.OrderedDict()
+        settings: dict[str, Union[str, int]] = collections.OrderedDict()
 
         if self.security_mode is SecurityMode.WEP:
             settings["wep_default_key"] = self.wep_default_key
diff --git a/packages/antlion/controllers/ap_lib/radvd_config.py b/packages/antlion/controllers/ap_lib/radvd_config.py
index 0d0a8c4..d3d6d97 100644
--- a/packages/antlion/controllers/ap_lib/radvd_config.py
+++ b/packages/antlion/controllers/ap_lib/radvd_config.py
@@ -13,7 +13,7 @@
 # limitations under the License.
 
 import collections
-from typing import Any, Dict
+from typing import Any
 
 from antlion.controllers.ap_lib import radvd_constants
 
@@ -240,7 +240,7 @@
         self._adv_rdnss_lifetime = adv_rdnss_lifetime
 
     def package_configs(self):
-        conf: Dict[str, Any] = dict()
+        conf: dict[str, Any] = dict()
         conf["prefix"] = self._prefix
         conf["clients"] = self._clients
         conf["route"] = self._route
diff --git a/packages/antlion/controllers/ap_lib/regulatory_channels.py b/packages/antlion/controllers/ap_lib/regulatory_channels.py
index 66c9fd1..c27d163 100644
--- a/packages/antlion/controllers/ap_lib/regulatory_channels.py
+++ b/packages/antlion/controllers/ap_lib/regulatory_channels.py
@@ -1,11 +1,10 @@
 from dataclasses import dataclass
-from typing import Dict
 
 Channel = int
 Bandwidth = int
 # TODO(http://b/281728764): Add device requirements to each frequency e.g.
 # "MUST be used indoors only" or "MUST be used with DFS".
-ChannelBandwidthMap = Dict[Channel, list[Bandwidth]]
+ChannelBandwidthMap = dict[Channel, list[Bandwidth]]
 
 
 @dataclass
diff --git a/packages/antlion/controllers/fuchsia_device.py b/packages/antlion/controllers/fuchsia_device.py
index 7ebbd31..509d121 100644
--- a/packages/antlion/controllers/fuchsia_device.py
+++ b/packages/antlion/controllers/fuchsia_device.py
@@ -19,7 +19,7 @@
 import re
 import textwrap
 import time
-from typing import Any, Dict, Mapping
+from typing import Any, Mapping
 
 from antlion import context
 from antlion import logger as acts_logger
@@ -239,8 +239,8 @@
         self._generate_ssh_config(self.ssh_config)
 
         # WLAN interface info is populated inside configure_wlan
-        self.wlan_client_interfaces: Dict[str, Any] = {}
-        self.wlan_ap_interfaces: Dict[str, Any] = {}
+        self.wlan_client_interfaces: dict[str, Any] = {}
+        self.wlan_ap_interfaces: dict[str, Any] = {}
         self.wlan_client_test_interface_name = fd_conf_data.get(
             "wlan_client_test_interface", None
         )
diff --git a/packages/antlion/controllers/fuchsia_lib/base_lib.py b/packages/antlion/controllers/fuchsia_lib/base_lib.py
index 3bf0a4b..c361643 100644
--- a/packages/antlion/controllers/fuchsia_lib/base_lib.py
+++ b/packages/antlion/controllers/fuchsia_lib/base_lib.py
@@ -16,7 +16,7 @@
 
 import json
 import logging
-from typing import Any, Dict, Mapping
+from typing import Any, Mapping
 from urllib.request import Request, urlopen
 
 from mobly.logger import PrefixLoggerAdapter
@@ -47,7 +47,7 @@
         cmd: str,
         args: Mapping[str, Any],
         response_timeout: int = DEFAULT_SL4F_RESPONSE_TIMEOUT_SEC,
-    ) -> Dict[str, Any]:
+    ) -> dict[str, Any]:
         """Builds and sends a JSON command to SL4F server.
 
         Args:
diff --git a/packages/antlion/controllers/fuchsia_lib/device_lib.py b/packages/antlion/controllers/fuchsia_lib/device_lib.py
index b5b560e..7b6768c 100644
--- a/packages/antlion/controllers/fuchsia_lib/device_lib.py
+++ b/packages/antlion/controllers/fuchsia_lib/device_lib.py
@@ -14,7 +14,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-from typing import Any, Dict
+from typing import Any
 
 from antlion.controllers.fuchsia_lib.base_lib import BaseLib
 
@@ -23,17 +23,17 @@
     def __init__(self, addr: str) -> None:
         super().__init__(addr, "device")
 
-    def get_device_name(self) -> Dict[str, Any]:
+    def get_device_name(self) -> dict[str, Any]:
         """Get the device name."""
 
         return self.send_command("device_facade.GetDeviceName", {})
 
-    def get_product_name(self) -> Dict[str, Any]:
+    def get_product_name(self) -> dict[str, Any]:
         """Get the product name."""
 
         return self.send_command("device_facade.GetProduct", {})
 
-    def get_version(self) -> Dict[str, Any]:
+    def get_version(self) -> dict[str, Any]:
         """Get the device version."""
 
         return self.send_command("device_facade.GetVersion", {})
diff --git a/packages/antlion/controllers/fuchsia_lib/ffx.py b/packages/antlion/controllers/fuchsia_lib/ffx.py
index 50543da..256c082 100644
--- a/packages/antlion/controllers/fuchsia_lib/ffx.py
+++ b/packages/antlion/controllers/fuchsia_lib/ffx.py
@@ -21,7 +21,7 @@
 import time
 from pathlib import Path, PurePath
 from shutil import rmtree
-from typing import Any, Dict
+from typing import Any
 
 from antlion import context, logger, signals, utils
 
@@ -177,7 +177,7 @@
         self._ssh_auth_sock_path = str(PurePath(self._sock_dir, "ssh_auth_sock"))
         self._overnet_socket_path = str(PurePath(self._sock_dir, "overnet_socket"))
 
-        config: Dict[str, Any] = {
+        config: dict[str, Any] = {
             "target": {
                 "default": self.mdns_name,
             },
diff --git a/packages/antlion/controllers/fuchsia_lib/lib_controllers/wlan_controller.py b/packages/antlion/controllers/fuchsia_lib/lib_controllers/wlan_controller.py
index 6f4e56d..608a006 100644
--- a/packages/antlion/controllers/fuchsia_lib/lib_controllers/wlan_controller.py
+++ b/packages/antlion/controllers/fuchsia_lib/lib_controllers/wlan_controller.py
@@ -15,7 +15,7 @@
 # limitations under the License.
 
 import time
-from typing import TYPE_CHECKING, Any, Dict
+from typing import TYPE_CHECKING, Any
 
 from antlion import logger, signals, utils
 
@@ -26,7 +26,7 @@
 TIME_TO_WAIT_FOR_COUNTRY_CODE = 10
 
 
-WlanInterfaces = Dict[str, Dict[str, Any]]
+WlanInterfaces = dict[str, dict[str, Any]]
 
 
 class WlanControllerError(signals.ControllerError):
diff --git a/packages/antlion/controllers/fuchsia_lib/lib_controllers/wlan_policy_controller.py b/packages/antlion/controllers/fuchsia_lib/lib_controllers/wlan_policy_controller.py
index aca193c..676a206 100644
--- a/packages/antlion/controllers/fuchsia_lib/lib_controllers/wlan_policy_controller.py
+++ b/packages/antlion/controllers/fuchsia_lib/lib_controllers/wlan_policy_controller.py
@@ -17,7 +17,7 @@
 import multiprocessing
 import time
 from dataclasses import dataclass
-from typing import Any, Dict, Tuple
+from typing import Any, Tuple
 
 from antlion import logger, signals
 from antlion.controllers.ap_lib.hostapd_security import FuchsiaSecurityType
@@ -46,7 +46,7 @@
 
 @dataclass
 class PreservedState:
-    saved_networks: list[Dict[str, Any]] | None
+    saved_networks: list[dict[str, Any]] | None
     client_connections_state: str | None
 
 
@@ -688,7 +688,7 @@
             )
         return phy_ids_response["result"]
 
-    def _get_phy_country_codes(self) -> Dict[str, str]:
+    def _get_phy_country_codes(self) -> dict[str, str]:
         """Get mapping of WLAN interfaces to the country code they are set to."""
         phy_ids = self._get_phy_ids()
         args = [GetCountryCodeFromPhyParams(self.sl4f.wlan_lib, id) for id in phy_ids]
diff --git a/packages/antlion/controllers/openwrt_ap.py b/packages/antlion/controllers/openwrt_ap.py
index 7c1a039..69d778c 100644
--- a/packages/antlion/controllers/openwrt_ap.py
+++ b/packages/antlion/controllers/openwrt_ap.py
@@ -3,7 +3,7 @@
 import random
 import re
 import time
-from typing import Dict, Literal
+from typing import Literal
 
 import yaml
 
@@ -90,7 +90,7 @@
     return [ap.ssh_settings.hostname for ap in aps]
 
 
-BSSIDMap = Dict[Literal["2g", "5g"], Dict[str, str]]
+BSSIDMap = dict[Literal["2g", "5g"], dict[str, str]]
 
 
 class OpenWrtAP(object):
@@ -214,7 +214,7 @@
                     bssid_map["2g"][ssid] = self.get_bssid(ifname)
         return bssid_map
 
-    def get_ifnames_for_ssids(self, radio) -> Dict[str, str]:
+    def get_ifnames_for_ssids(self, radio) -> dict[str, str]:
         """Get interfaces for wifi networks.
 
         Args:
@@ -223,7 +223,7 @@
         Returns:
           dictionary of ssid - ifname mappings.
         """
-        ssid_ifname_map: Dict[str, str] = {}
+        ssid_ifname_map: dict[str, str] = {}
         str_output = self.ssh.run(f"wifi status {radio}").stdout
         wifi_status = yaml.load(
             str_output.replace("\t", "").replace("\n", ""), Loader=yaml.SafeLoader
diff --git a/packages/antlion/controllers/utils_lib/ssh/settings.py b/packages/antlion/controllers/utils_lib/ssh/settings.py
index f7da15f..b277045 100644
--- a/packages/antlion/controllers/utils_lib/ssh/settings.py
+++ b/packages/antlion/controllers/utils_lib/ssh/settings.py
@@ -20,7 +20,7 @@
     An instance of SshSettings or None
 """
 
-from typing import Dict, Mapping, Union
+from typing import Mapping, Union
 
 
 class SshSettings(object):
@@ -62,7 +62,7 @@
         self.identity_file = identity_file
         self.ssh_config = ssh_config
 
-    def construct_ssh_options(self) -> Dict[str, Union[str, int, bool]]:
+    def construct_ssh_options(self) -> dict[str, Union[str, int, bool]]:
         """Construct the ssh options.
 
         Constructs a dictionary of option that should be used with the ssh
@@ -71,14 +71,14 @@
         Returns:
             A dictionary of option name to value.
         """
-        current_options: Dict[str, Union[str, int, bool]] = {}
+        current_options: dict[str, Union[str, int, bool]] = {}
         current_options["StrictHostKeyChecking"] = False
         current_options["UserKnownHostsFile"] = self.host_file
         current_options["ConnectTimeout"] = self.connect_timeout
         current_options["ServerAliveInterval"] = self.alive_interval
         return current_options
 
-    def construct_ssh_flags(self) -> Dict[str, Union[None, str, int]]:
+    def construct_ssh_flags(self) -> dict[str, Union[None, str, int]]:
         """Construct the ssh flags.
 
         Constructs what flags should be used in the ssh connection.
@@ -87,7 +87,7 @@
             A dictionary of flag name to value. If value is none then it is
             treated as a binary flag.
         """
-        current_flags: Dict[str, Union[None, str, int]] = {}
+        current_flags: dict[str, Union[None, str, int]] = {}
         current_flags["-a"] = None
         current_flags["-x"] = None
         current_flags["-p"] = self.port
diff --git a/packages/antlion/test_utils/abstract_devices/wlan_device.py b/packages/antlion/test_utils/abstract_devices/wlan_device.py
index 5618d6e..944ab8e 100644
--- a/packages/antlion/test_utils/abstract_devices/wlan_device.py
+++ b/packages/antlion/test_utils/abstract_devices/wlan_device.py
@@ -15,7 +15,7 @@
 # limitations under the License.
 
 import logging
-from typing import Any, Dict, Protocol, Union, runtime_checkable
+from typing import Any, Protocol, Union, runtime_checkable
 
 from mobly.records import TestResultRecord
 
@@ -157,7 +157,7 @@
         timeout: int = 1000,
         size: int = 25,
         additional_ping_params: str | None = None,
-    ) -> Dict[str, Any]:
+    ) -> dict[str, Any]:
         """Pings from a device to an IP address or hostname
 
         Args:
@@ -306,7 +306,7 @@
         timeout: int = 1000,
         size: int = 25,
         additional_ping_params: str | None = None,
-    ) -> Dict[str, Any]:
+    ) -> dict[str, Any]:
         raise NotImplementedError("ping is not implemented")
 
     def hard_power_cycle(self, pdus: list[PduDevice]) -> None:
@@ -419,7 +419,7 @@
         timeout: int = 1000,
         size: int = 25,
         additional_ping_params: str | None = None,
-    ) -> Dict[str, Any]:
+    ) -> dict[str, Any]:
         return self.device.ping(
             dest_ip,
             count=count,
diff --git a/packages/antlion/test_utils/wifi/base_test.py b/packages/antlion/test_utils/wifi/base_test.py
index c7c81f0..5693e6e 100644
--- a/packages/antlion/test_utils/wifi/base_test.py
+++ b/packages/antlion/test_utils/wifi/base_test.py
@@ -19,7 +19,7 @@
 
 import copy
 import os
-from typing import Any, Dict, TypedDict, TypeVar, Union
+from typing import Any, TypedDict, TypeVar, Union
 
 from mobly.base_test import STAGE_NAME_TEARDOWN_CLASS
 from mobly.config_parser import TestRunConfig
@@ -68,7 +68,7 @@
     ieee80211w: str | None
 
 
-NetworkList = Dict[str, Network]
+NetworkList = dict[str, Network]
 
 
 class WifiBaseTest(AntlionBaseTest):
@@ -78,7 +78,7 @@
         self.packet_log_2g = hostapd_constants.AP_DEFAULT_CHANNEL_2G
         self.packet_log_5g = hostapd_constants.AP_DEFAULT_CHANNEL_5G
         self.tcpdump_proc: list[Any] = []
-        self.packet_log_pid: Dict[str, Any] = {}
+        self.packet_log_pid: dict[str, Any] = {}
 
     def setup_class(self) -> None:
         T = TypeVar("T")
@@ -480,9 +480,9 @@
         owe_network: bool = False,
         sae_network: bool = False,
         saemixed_network: bool = False,
-        radius_conf_2g: Dict[str, Any] | None = None,
-        radius_conf_5g: Dict[str, Any] | None = None,
-        radius_conf_pwd: Dict[str, Any] | None = None,
+        radius_conf_2g: dict[str, Any] | None = None,
+        radius_conf_5g: dict[str, Any] | None = None,
+        radius_conf_pwd: dict[str, Any] | None = None,
         ap_count: int = 1,
         ieee80211w: int | None = None,
     ) -> None:
diff --git a/packages/antlion/utils.py b/packages/antlion/utils.py
index 7af17c4..222a31d 100755
--- a/packages/antlion/utils.py
+++ b/packages/antlion/utils.py
@@ -35,7 +35,7 @@
 import traceback
 import zipfile
 from concurrent.futures import ThreadPoolExecutor
-from typing import TYPE_CHECKING, Any, Dict, Union
+from typing import TYPE_CHECKING, Any, Union
 
 import mobly.keys as mobly_keys
 import yaml
@@ -1495,7 +1495,7 @@
 def get_interface_ip_addresses(
     comm_channel: Union["AndroidDevice", "SshConnection", "FuchsiaDevice"],
     interface: str,
-) -> Dict[str, list[str]]:
+) -> dict[str, list[str]]:
     """Gets all of the ip addresses, ipv4 and ipv6, associated with a
        particular interface name.
 
diff --git a/tests/dhcp/Dhcpv4InteropCombinatorialOptionsTest.py b/tests/dhcp/Dhcpv4InteropCombinatorialOptionsTest.py
index 042481c..6eb321f 100644
--- a/tests/dhcp/Dhcpv4InteropCombinatorialOptionsTest.py
+++ b/tests/dhcp/Dhcpv4InteropCombinatorialOptionsTest.py
@@ -16,7 +16,7 @@
 
 import random
 from collections import namedtuple
-from typing import Dict, Union
+from typing import Union
 
 from mobly import asserts, test_runner
 
@@ -86,7 +86,7 @@
             ],
         )
 
-    def _generate_max_sized_message_dhcp_options(self) -> Dict[str, Union[int, str]]:
+    def _generate_max_sized_message_dhcp_options(self) -> dict[str, Union[int, str]]:
         """Generates the DHCP options for max sized message test.
 
         The RFC limits DHCP payloads to 576 bytes unless the client signals it
diff --git a/tests/wlan/functional/SoftApTest.py b/tests/wlan/functional/SoftApTest.py
index 2c01159..4b38333 100644
--- a/tests/wlan/functional/SoftApTest.py
+++ b/tests/wlan/functional/SoftApTest.py
@@ -20,7 +20,7 @@
 import time
 from dataclasses import dataclass
 from enum import Enum, auto, unique
-from typing import Any, Dict, Mapping, Type, TypeVar, Union
+from typing import Any, Mapping, Type, TypeVar, Union
 
 from mobly import asserts, signals, test_runner
 from mobly.config_parser import TestRunConfig
@@ -57,7 +57,7 @@
 STATE_DOWN = False
 
 ConfigValue = Union[str, int, bool, list["ConfigValue"], "Config"]
-Config = Dict[str, ConfigValue]
+Config = dict[str, ConfigValue]
 
 T = TypeVar("T")
 
@@ -102,7 +102,7 @@
     password: str
 
     @staticmethod
-    def from_dict(d: Dict[str, Any]) -> "APParams":
+    def from_dict(d: dict[str, Any]) -> "APParams":
         security_mode_str = get_typed(d, "security_mode", str, SecurityMode.OPEN.value)
         security_mode = SecurityMode.from_str(security_mode_str)
         password = get_typed(
@@ -171,7 +171,7 @@
         return f'{band}_{self.security_type.replace("/", "_")}_{self.connectivity_mode}'
 
     @staticmethod
-    def from_dict(d: Dict[str, Any]) -> "SoftAPParams":
+    def from_dict(d: dict[str, Any]) -> "SoftAPParams":
         security_type = get_typed(d, "security_type", str, SecurityMode.OPEN.value)
         security_mode = SecurityMode.from_str(security_type)
 
@@ -216,7 +216,7 @@
         return f"{self.soft_ap_params}_{self.test_type}_{self.iterations}_iterations"
 
     @staticmethod
-    def from_dict(d: Dict[str, Any]) -> "AssociationStressTestParams":
+    def from_dict(d: dict[str, Any]) -> "AssociationStressTestParams":
         test_type = get_typed(
             d, "test_type", str, TestType.ASSOCIATE_AND_PASS_TRAFFIC.value
         )
@@ -241,7 +241,7 @@
         )
 
     @staticmethod
-    def from_dict(d: Dict[str, Any]) -> "ClientModeAlternatingTestParams":
+    def from_dict(d: dict[str, Any]) -> "ClientModeAlternatingTestParams":
         return ClientModeAlternatingTestParams(
             ap_params=APParams.from_dict(d.get("ap_params", {})),
             soft_ap_params=SoftAPParams.from_dict(d.get("soft_ap_params", {})),
@@ -258,7 +258,7 @@
         return f"{self.soft_ap_params}_{self.iterations}_iterations"
 
     @staticmethod
-    def from_dict(d: Dict[str, Any]) -> "ToggleTestParams":
+    def from_dict(d: dict[str, Any]) -> "ToggleTestParams":
         return ToggleTestParams(
             soft_ap_params=SoftAPParams.from_dict(d.get("soft_ap_params", {})),
             iterations=get_typed(d, "iterations", int, 10),
@@ -274,7 +274,7 @@
         return f"{self.ap_params}_{self.iterations}_iterations"
 
     @staticmethod
-    def from_dict(d: Dict[str, Any]) -> "ClientModeToggleTestParams":
+    def from_dict(d: dict[str, Any]) -> "ClientModeToggleTestParams":
         return ClientModeToggleTestParams(
             ap_params=APParams.from_dict(d.get("ap_params", {})),
             iterations=get_typed(d, "iterations", int, 10),
@@ -368,7 +368,7 @@
         # TODO(fxb/51313): Add in device agnosticity for clients
         # Create a wlan device and iperf client for each Android client
         self.clients: list[SupportsWLAN] = []
-        self.iperf_clients_map: Dict[Any, Any] = {}
+        self.iperf_clients_map: dict[Any, Any] = {}
         for device in self.android_devices:
             client_wlan_device = create_wlan_device(device)
             self.clients.append(client_wlan_device)
@@ -1126,7 +1126,7 @@
 
         self.start_soft_ap(soft_ap_params)
 
-        associated: list[Dict[str, Any]] = []
+        associated: list[dict[str, Any]] = []
 
         for client in self.clients:
             # Associate new client
@@ -1311,7 +1311,7 @@
               operating_band: "only_2_4_ghz"
             iterations: 10
         """
-        test_specs: list[Dict[str, Any]] = self.soft_ap_test_params.get(
+        test_specs: list[dict[str, Any]] = self.soft_ap_test_params.get(
             "test_soft_ap_association_stress",
             [],
         )
@@ -1357,7 +1357,7 @@
               operating_band: "only_2_4_ghz"
             iterations: 5
         """
-        test_specs: list[Dict[str, Any]] = self.soft_ap_test_params.get(
+        test_specs: list[dict[str, Any]] = self.soft_ap_test_params.get(
             "toggle_soft_ap_and_client_tests",
             [],
         )
@@ -1397,7 +1397,7 @@
               operating_band: "only_2_4_ghz"
             iterations: 5
         """
-        test_specs: list[Dict[str, Any]] = self.soft_ap_test_params.get(
+        test_specs: list[dict[str, Any]] = self.soft_ap_test_params.get(
             "test_soft_ap_toggle_stress",
             [],
         )
@@ -1437,7 +1437,7 @@
               operating_band: "only_2_4_ghz"
             iterations: 10
         """
-        test_specs: list[Dict[str, Any]] = self.soft_ap_test_params.get(
+        test_specs: list[dict[str, Any]] = self.soft_ap_test_params.get(
             "test_client_mode_toggle_stress",
             [],
         )
@@ -1461,7 +1461,7 @@
         """Same as test_soft_ap_toggle_stress, but client mode is set up
         at test start and verified after every toggle."""
 
-        test_specs: list[Dict[str, Any]] = self.soft_ap_test_params.get(
+        test_specs: list[dict[str, Any]] = self.soft_ap_test_params.get(
             "test_soft_ap_toggle_stress_with_client_mode",
             [],
         )
@@ -1484,7 +1484,7 @@
     def generate_client_mode_toggle_stress_with_soft_ap_tests(self):
         """Same as test_client_mode_toggle_stress, but softap is set up at
         test start and verified after every toggle."""
-        test_specs: list[Dict[str, Any]] = self.soft_ap_test_params.get(
+        test_specs: list[dict[str, Any]] = self.soft_ap_test_params.get(
             "test_client_mode_toggle_stress_with_soft_ap",
             [],
         )
@@ -1507,7 +1507,7 @@
     def generate_soft_ap_and_client_mode_random_toggle_stress_tests(self):
         """Same as above toggle stres tests, but each iteration, either softap,
         client mode, or both are toggled, then states are verified."""
-        test_specs: list[Dict[str, Any]] = self.soft_ap_test_params.get(
+        test_specs: list[dict[str, Any]] = self.soft_ap_test_params.get(
             "test_soft_ap_and_client_mode_random_toggle_stress",
             [],
         )
diff --git a/tests/wlan/performance/ChannelSweepTest.py b/tests/wlan/performance/ChannelSweepTest.py
index 67fc66d..b8c6912 100644
--- a/tests/wlan/performance/ChannelSweepTest.py
+++ b/tests/wlan/performance/ChannelSweepTest.py
@@ -20,7 +20,7 @@
 from dataclasses import dataclass
 from pathlib import Path
 from statistics import pstdev
-from typing import Dict, Tuple
+from typing import Tuple
 
 from mobly import asserts, test_runner
 from mobly.config_parser import TestRunConfig
@@ -95,7 +95,7 @@
     rx_throughput_mbps: float | None
 
 
-ChannelThroughputMap = Dict[ThroughputKey, list[ThroughputValue]]
+ChannelThroughputMap = dict[ThroughputKey, list[ThroughputValue]]
 
 
 class ChannelSweepTest(base_test.WifiBaseTest):