Python Ifconfig Wrapper for Unix/Linux/MacOSX
Project description
Ifcfg is a cross-platform (Windows/Unix) library for parsing ifconfig and ipconfig output in Python. It is useful for pulling information such as IP, Netmask, MAC Address, Hostname, etc.
Usage
import ifcfg import json for name, interface in ifcfg.interfaces().items(): # do something with interface print interface['device'] print interface['inet'] # First IPv4 found print interface['inet4'] # List of ips print interface['inet6'] print interface['netmask'] print interface['broadcast'] default = ifcfg.default_interface()
The output of ‘ifcfg.interfaces()’ dumped to JSON looks something like the following:
$ python -m ifcfg.cli | python -mjson.tool { "eth0": { "broadcast": "172.16.217.255", "ether": "00:0c:29:0c:da:5d", "flags": "4163<up,broadcast,running,multicast> ", "hostname": "derks-vm.local", "inet": "172.16.217.10", "inet4": ["172.16.217.10"], "inet6": ["fe80::20c:29ff:fe0c:da5d"], "mtu": "1500", "name": "eth0", "netmask": "255.255.255.0", }, "lo": { "ether": null, "flags": "73<up,loopback,running> ", "hostname": "localhost", "inet": "127.0.0.1", "inet4": ["127.0.0.1"], "inet6": ["::1"], "mtu": "16436", "name": "lo", "netmask": "255.0.0.0", }, "virbr0": { "broadcast": "192.168.122.255", "ether": "52:54:00:5b:70:0d", "flags": "4099<up,broadcast,multicast> ", "hostname": "derks-vm.local", "inet": "192.168.122.1", "inet4": ["192.168.122.1"], "inet6": [], "mtu": "1500", "name": "virbr0", "netmask": "255.255.255.0", } }
Release notes
0.16
Support for multiple IPv4 addresses in the new ‘inet4’ field
Packaging cleanup
0.15
Support for bridged interface names #24
0.14
Replace Python 2 syntax #21
0.13
Further crashes on non-English Windows systems #17
Known issue: Localized non-English Windows parsing does not work #18
0.12
Fix encoding crashes on non-English Windows systems
0.11
After 6 beta releases, we move on from an idea that this is beta software and instead consider it to be stable – we will probably never actually keep up with all the various ways of detecting network properties for different systems. Anything that is incorrectly detected and can be updated, can also be implemented and shipped as a new patch release.
So let’s ship early, ship often instead.
This release seeks to clean up the codebase (sparingly!) and introduce Windows compatibility.
Add Windows compatible parsing of ipconfig output
Handle non-unicode terminals (Windows+Mac especially)
Removing ill-defined encoding keyword arg from ifcfg.get_parser
Removed no-op Linux Kernel 2.x parsing and kernel keyword arg
Removed class ifcfg.IfcfgParser, use UnixParser instead
All strings are UTF-8, also in Py 2.7
Only cross-platform features are now guaranteed to be in the result set: ['inet', 'ether', 'inet6', 'netmask']
IPv6 addresses are now stored in a list.
Removed prefixlen and scopeid, as they should be added for each IPv6 address, not the interface
Allow ifcfg to be imported despite whether or not the OS system is recognized.
Remove ifcfg.exc module
Fix some interface names containing :_- characters on Linux (Sergej Vasiljev)
0.10.1
Fixed encoding issues, preventing default_interface to be detected
0.10
Support for Unix systems w/o ifconfig, for instance newer Ubuntu/Debian
Refactored to use src/ hierarchy
License
The Ifcfg library is Open Source and is distributed under the BSD License (three clause). Please see the LICENSE file included with this software.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file ifcfg-0.16.tar.gz
.
File metadata
- Download URL: ifcfg-0.16.tar.gz
- Upload date:
- Size: 7.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3750203d151ee4febd993b818ffad4648062b5ca4bb81be279989f6a328b5cda |
|
MD5 | 94c5baf73207bf2fea5a976f9792bd25 |
|
BLAKE2b-256 | 298aed63d73168c6a8eb3c41ecf700118fddbfb42db73453571e481c11bcc77c |
File details
Details for the file ifcfg-0.16-py2.py3-none-any.whl
.
File metadata
- Download URL: ifcfg-0.16-py2.py3-none-any.whl
- Upload date:
- Size: 11.1 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 945ec6304b271bde98abb2f1ea6de2e1c0bc9ef80dfd103f371ac070efe33eae |
|
MD5 | 0d8446a706ef9f1283835fc8c6cc508a |
|
BLAKE2b-256 | de5cdc0aa199729a55cfba2c7386539319a5632e6ba15125a7b90d46995c9f7c |