python-networkmanager (1) Linux Manual Page
NAME
python-networkmanager – python-networkmanager Documentation
NetworkManager provides a detailed and capable D-Bus interface on the system bus. You can use this interface to query NetworkManager about the overall state of the network and details of network devices like current IP addresses or DHCP options, and to activate and deactivate network connections.
python-networkmanager takes this D-Bus interface and wraps D-Bus interfaces in classes and D-Bus properties in python properties. It also provides a command-line utility to inspect the configuration and (de-)activate connections.
THE NETWORKMANAGER MODULE
All the code is contained in one module: NetworkManager. Using it is as simple as you think it is:
>>> import NetworkManager >>> NetworkManager.NetworkManager.Version '1.2.0'
NetworkManager exposes a lot of information via D-Bus and also allows full control of network settings. The full D-Bus API can be found on NetworkManager project website. All interfaces listed there have been wrapped in classes as listed below. With a few exceptions, they behave exactly like the D-Bus methods. These exceptions are for convenience and limited to this list:
- •
- IP addresses are returned as strings of the form
1.2.3.4instead of network byte ordered integers. - •
- Route metrics are returned in host byte order, so you can use them as integers.
- •
- Mac addresses and BSSIDs are always returned as strings of the form
00:11:22:33:44:55instead of byte sequences. - •
- Wireless SSID’s are returned as strings instead of byte sequences. They will be decoded as UTF-8 data, so using any other encoding for your SSID will result in errors.
class NetworkManager.NMDbusInterface-
This is the base class for all interface wrappers. It adds a few useful features to standard D-Bus interfaces:
- •
- All D-Bus properties are exposed as python properties
- •
- Return values are automatically converted to python basic types (so no more
dbus.String, but simplestr(python 3) orunicode(python 2)) - •
- Object paths in return values are automatically replaced with proxy objects, so you don’t need to do that manually
- •
- …and vice versa when sending
- •
- And also when receiving signals
NetworkManager.const(prefix, value)-
Many of NetworkManagers D-Bus methods expect or return numeric constants, for which there are enums in the C source code. These constants, such as
NM_STATE_CONNECTED_GLOBAL, can all be found in the NetworkManager module as well. The const() function can help you translate them to text. For example:>>> NetworkManager.const('state', 40) 'connecting' >>> NetworkManager.const('device_type', 2) 'wifi'
LIST OF CLASSES
class NetworkManager.NetworkManager-
This class represents the
org.freedesktop.NetworkManagerinterface. Note that NetworkManager.NetworkManager actually is the singleton instance of this class. NetworkManager.auto_reconnect()-
Call this method to automatically update D-Bus paths and reconnect signals when NetworkManager restarts.
class NetworkManager.Settings-
This class represents the
org.freedesktop.NetworkManager.Settingsinterface. Note that NetworkManager.Settings actually is the singleton instance of this class. class NetworkManager.Connection-
This class represents the
org.freedesktop.NetworkManager.Settings.Connectioninterface. class NetworkManager.ActiveConnection-
This class represents the
org.freedesktop.NetworkManager.Connection.Activeinterface. class NetworkManager.AccessPoint-
This class represents the
org.freedesktop.NetworkManager.AccessPointinterface. class NetworkManager.Deviceclass NetworkManager.Adslclass NetworkManager.Bluetoothclass NetworkManager.Bondclass NetworkManager.Bridgeclass NetworkManager.Genericclass NetworkManager.Infinibandclass NetworkManager.IPTunnelclass NetworkManager.Macvlanclass NetworkManager.Modemclass NetworkManager.OlpcMeshclass NetworkManager.Teamclass NetworkManager.Tunclass NetworkManager.Vethclass NetworkManager.Vlanclass NetworkManager.Vxlanclass NetworkManager.Wimaxclass NetworkManager.Wiredclass NetworkManager.Wireless-
These classes represent D-Bus interfaces for various types of hardware. Note that methods such as
NetworkManager.GetDevices()will only return Device instances. To get the hardware-specific class, you can call theDevice.SpecificDevice()method.>>> [(dev.Interface, dev.SpecificDevice().__class__.__name__) ... for dev in NetworkManager.NetworkManager.GetDevices()] [('eth0', 'Wired'), ('wlan0', 'Wireless'), ('wwan0', 'Modem')] class NetworkManager.IP4Configclass NetworkManager.IP6Configclass NetworkManager.DHCP4Configclass NetworkManager.DHCP6Config-
These classes represent the various IP configuration interfaces.
class NetworkManager.AgentManagerclass NetworkManager.SecretAgent-
Classes that can be used to handle and store secrets. Note that these are not for querying NetworkManager’s exisiting secret stores. For that the
GetSecrets()method of the Connection class can be used. class NetworkManager.VPNConnection-
This class represents the
org.freedesktop.NetworkManager.VPN.Connectioninterface. class NetworkManager.VPNPlugin-
A class that can be used to query VPN plugins.
AUTHOR
Dennis Kaarsemaker
COPYRIGHT
2011-2016, Dennis Kaarsemaker
