% poetry show |egrep "(corewlan|corelocation)" 
pyobjc-framework-corelocation  9.2            Wrappers for the framework Co...
pyobjc-framework-corewlan      9.2            Wrappers for the framework Co...

% poetry run python3 --version
Python 3.11.8

% sw_vers
ProductName:		macOS
ProductVersion:		14.4.1
BuildVersion:		23E224
% poetry run python3
Python 3.11.8 (main, Feb  6 2024, 21:21:21) [Clang 15.0.0 (clang-1500.1.0.2.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import CoreLocation
>>> from CoreWLAN import CWInterface, CWWiFiClient
>>> wifi_client: CWWiFiClient = CWWiFiClient.sharedWiFiClient()
>>> interface = wifi_client.interface()
>>> location_manager = CoreLocation.CLLocationManager.alloc().init()
>>> location_manager.startUpdatingLocation()
>>> networks, error = interface.scanForNetworksWithName_error_( None, None )
>>> print(networks)
{(
    <CWNetwork: 0x60000289c620> [ssid=Almacen Yuniko, bssid=<redacted>, security=WPA2 Personal, rssi=-88, channel=<CWChannel: 0x60000289cb20> [channelNumber=10(2GHz), channelWidth={40MHz(-1)}], ibss=0],
    <CWNetwork: 0x60000289c6a0> [ssid=lar 2, bssid=<redacted>, security=WPA/WPA2 Personal, rssi=-87, channel=<CWChannel: 0x60000289cb50> [channelNumber=7(2GHz), channelWidth={40MHz(+1)}], ibss=0],
    <CWNetwork: 0x60000289c780> [ssid=DIR-615-0914, bssid=<redacted>, security=WPA2 Personal, rssi=-87, channel=<CWChannel: 0x60000289cb80> [channelNumber=13(2GHz), channelWidth={40MHz(-1)}], ibss=0],
    <CWNetwork: 0x60000289c690> [ssid=LAR1, bssid=<redacted>, security=WPA2 Personal, rssi=-50, channel=<CWChannel: 0x60000289cbb0> [channelNumber=2(2GHz), channelWidth={40MHz(+1)}], ibss=0],
    <CWNetwork: 0x60000289c860> [ssid=Lar13, bssid=<redacted>, security=WPA/WPA2 Personal, rssi=-74, channel=<CWChannel: 0x60000289cbe0> [channelNumber=1(2GHz), channelWidth={40MHz(+1)}], ibss=0],
    <CWNetwork: 0x60000289c920> [ssid=NETGEAR71, bssid=<redacted>, security=WPA2 Personal, rssi=-91, channel=<CWChannel: 0x60000289cc10> [channelNumber=9(2GHz), channelWidth={20MHz}], ibss=0],
    <CWNetwork: 0x60000289c9b0> [ssid=Tara, bssid=<redacted>, security=WPA/WPA2 Personal, rssi=-94, channel=<CWChannel: 0x60000289cc40> [channelNumber=6(2GHz), channelWidth={40MHz(+1)}], ibss=0],
    <CWNetwork: 0x60000289ca90> [ssid=Administración, bssid=<redacted>, security=WPA2 Personal, rssi=-84, channel=<CWChannel: 0x60000289cc70> [channelNumber=8(2GHz), channelWidth={20MHz}], ibss=0]
)}
% sw_vers
ProductName:		macOS
ProductVersion:		14.4.1
BuildVersion:		23E224

% python3 -m venv /tmp/scantest
% /tmp/scantest/bin/pip3 install pyobjc

% /tmp/scantest/bin/pip3 list |egrep "(CoreWLAN|CoreLocation)" 
pyobjc-framework-CoreLocation                     10.2
pyobjc-framework-CoreWLAN                         10.2

% /tmp/scantest/bin/python3
Python 3.9.6 (default, Feb  3 2024, 15:58:28) 
[Clang 15.0.0 (clang-1500.3.9.4)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import CoreLocation
>>> from CoreWLAN import CWInterface, CWWiFiClient
>>> wifi_client: CWWiFiClient = CWWiFiClient.sharedWiFiClient()
>>> interface = wifi_client.interface()
>>> location_manager = CoreLocation.CLLocationManager.alloc().init()
>>> location_manager.startUpdatingLocation()
>>> networks, error = interface.scanForNetworksWithName_error_( None, None )
>>> print(networks)
{(
    <CWNetwork: 0x600002080200> [ssid=lar 2, bssid=(null), security=WPA/WPA2 Personal, rssi=-84, channel=<CWChannel: 0x600002088000> [channelNumber=7(2GHz), channelWidth={40MHz(+1)}], ibss=0],
    <CWNetwork: 0x6000020802d0> [ssid=LAR14, bssid=(null), security=WPA/WPA2 Personal, rssi=-91, channel=<CWChannel: 0x600002095300> [channelNumber=5(2GHz), channelWidth={40MHz(-1)}], ibss=0],
    <CWNetwork: 0x600002080380> [ssid=ETAZLA, bssid=(null), security=WPA2 Personal, rssi=-85, channel=<CWChannel: 0x600002095330> [channelNumber=4(2GHz), channelWidth={40MHz(+1)}], ibss=0],
    <CWNetwork: 0x6000020802c0> [ssid=LAR1, bssid=(null), security=WPA2 Personal, rssi=-55, channel=<CWChannel: 0x600002095360> [channelNumber=2(2GHz), channelWidth={40MHz(+1)}], ibss=0],
    <CWNetwork: 0x600002080460> [ssid=DIR-615-0914, bssid=(null), security=WPA2 Personal, rssi=-84, channel=<CWChannel: 0x600002095390> [channelNumber=13(2GHz), channelWidth={40MHz(-1)}], ibss=0]
)}