https://github.com/bkbilly/dbus_networkdevices
https://github.com/bkbilly/dbus_networkdevices
Last synced: 5 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/bkbilly/dbus_networkdevices
- Owner: bkbilly
- License: mit
- Created: 2024-07-31T14:53:36.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-07-31T15:01:47.000Z (almost 2 years ago)
- Last Synced: 2025-07-04T04:39:07.738Z (12 months ago)
- Language: Python
- Size: 4.88 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE.md
Awesome Lists containing this project
README
# DBus Network Devices
[](https://pypi.python.org/pypi/dbus-networkdevices)


The `dbus-networkdevices` library empowers Python applications to get the active network devices that are connected to your network.
## Key Features
* **IP Access:** Retrieve interface name, ip addresses, wifi ssid, etc...
* **Real-time Updates:** Utilizes callback functions to provide instant updates of network changes.
## Requirements
* Python 3.7 or later
* `dasdbus` library
## Installation
Install the library using pip:
```bash
pip install dbus-networkdevices
```
## Usage
This library offers two primary usage approaches:
### Command-Line Interaction
If you prefer a quick way to view information or control playback, you can potentially execute the dbus-networkdevices script directly. For more extensive programmatic control, I would recommend using the library within your Python code.
### Programmatic Control
Import the DBUSNetworkDevices class from your Python code:
```python
import json
from dbus_networkdevices import DBUSNetworkDevices
def callback(devices):
# Handle the list of network devices here
print(json.dumps(devices, indent=2))
# Create an instance of the class
DBUSNetworkDevices(callback)
# Keep the app running
while True:
time.sleep(1)
```
## Inspiration
Most python applications use `iwgetid` and information from `/proc/net/wireless` to get the WiFi status, so I created this library to get the information directly from DBus and also include other interfaces.