Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/fedora-python/python-ethtool

Deprecated Python bindings for the ethtool kernel interface
https://github.com/fedora-python/python-ethtool

Last synced: 3 days ago
JSON representation

Deprecated Python bindings for the ethtool kernel interface

Awesome Lists containing this project

README

        

Python ethtool module
=====================

*Python bindings for the ethtool kernel interface*

The Python ``ethtool`` module allows querying and partially controlling network
interfaces, driver, and hardware settings.

.. warning::
This is the new upstream for python-ethtool maintained by Fedora's
Python SIG. We ported it to Python 3 and only maintain it for the current
tools to keep working. **No new development is happening. This is a
deprecated package.** If you are considering to start using this, please
don't. We recommend `netifaces `_ instead. Another alternative is `ethtool parsers `_ from `insights-core `_.

Installation
------------

The easiest way to install ``ethtool`` is to use your distribution packages
repositories. For example:

**Fedora**: ``sudo dnf install python3-ethtool`` or ``sudo dnf install python2-ethtool``

**Ubuntu**: ``sudo apt install python-ethtool``

In order to install ``ethtool`` from source or PyPI install its dependencies first:

**Fedora**: ``sudo dnf install libnl3-devel gcc redhat-rpm-config python3-devel``

**Ubuntu**: ``sudo apt install python3 python3-setuptools libpython3.6-dev libnl-route-3-dev``

And then install ``ethtool``:

**from PyPI**: ``pip3 install ethtool``

**from source**: ``python3 setup.py install``

Usage
-----

``ethtool`` may be used as a Python library::

>>> import ethtool
>>> ethtool.get_active_devices()
['lo', 'enp0s31f6', 'wlp4s0', 'virbr0', 'docker0', 'virbr1', 'eth0', 'tun0']
>>> ethtool.get_ipaddr('lo')
'127.0.0.1'

The ``ethtool`` package also provides the ``pethtool`` and ``pifconfig`` utilities. More example usage may be gathered from their sources,
`pethtool.py `_
and
`pifconfig.py `_.

``pethtool`` mimics behavior of the ``ethtool`` utility, but does not
support all options.

e.g., to get driver information on the ``eth0`` interface::

$ pethtool -i eth0
driver: cdc_ether
bus-info: usb-0000:00:14.0-4.1.3

Analogically, ``pifconfig`` mimics ``ifconfig`` in usage. It may be
used to view information on an interface::

$ pifconfig lo
lo
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope: host
UP LOOPBACK RUNNING

Further usage information may be found in the respective manpages for
`pethtool `_
and
`pifconfig `_.

Tests
-----

Tests may be run by ``tox``.

Authors
-------

* Andy Grover
* Antoni S. Puimedon
* Arnaldo Carvalho de Melo
* Bohuslav Kabrda
* Braňo Náter
* Dave Malcolm
* David S. Miller
* David Sommerseth
* Harald Hoyer
* Charalampos Stratakis
* Jeff Garzik
* Lumir Balhar
* Miro Hrončok
* Miroslav Suchý
* Ruben Kerkhof
* Sanqui
* Yaakov Selkowitz

Current maintainers
-------------------

* Lumír Balhar
* Miro Hrončok
* Charalampos Stratakis

Contributing
------------

Feel free to help us with improving test coverage, porting to Python 3
or anything else.
Issues and PRs `on GitHub `_
are welcome.

License
-------

The Python ``ethtool`` project is free software distributed under the terms of
the GNU General Public License v2.0, see
`COPYING `_.