A TP Link or Belkin smart plug could be controlled locally via REST, removing multiple cloud dependencies.
$ python3
Python 3.12.4 (main, Jun 6 2024, 18:26:44) [Clang 15.0.0 (clang-1500.3.9.4)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import pywemo
>>> d = pywemo.discover_devices()
>>> d
[<WeMo Switch "Guest">, <WeMo Switch "Fireplace">, <WeMo Switch "Bedroom Dresser">]
>>> d[0].model
'Belkin Plugin Socket 1.0'
>>> d[0].toggle()
>>>