Almost the complete libudev functionality is exposed. You can:
- Enumerate devices, filtered by specific criteria (pyudev.Context)
- Query device information, properties and attributes,
- Monitor devices, both synchronously and asynchronously with background threads, or within the event loops of Qt (pyudev.pyqt4, pyudev.pyside), glib (pyudev.glib) and wxPython (pyudev.wx).
Thanks to the power of libudev, usage of pyudev is very simple. Getting the labels of all partitions just takes a few lines:
>>> import pyudev >>> context = pyudev.Context() >>> for device in context.list_devices(subsystem='block', DEVTYPE='partition'): ... print(device.get('ID_FS_LABEL', 'unlabeled partition')) ... boot swap system
A user guide gives an introduction into common operations and concepts of pyudev, the API documentation provides a detailed reference:
- User guide
- API documentation
Please report issues, bugs and questions to the issue tracker, but respect the following guidelines:
- Check that the issue has not already been reported.
- Check that the issue is not already fixed in the master branch.
- Open issues with clear title and a detailed description in grammatically correct, complete sentences.
- Include the Python version and the udev version (see udevadm --version) in the description of your issue.
The source code is hosted on GitHub:
git clone https://github.com/lunaryorn/pyudev.git
If you want to contribute to pyudev, please read the guidelines for contributions and the testsuite documentation.