Almost the complete libudev functionality is exposed. You can:
- Enumerate devices, filtered by specific criteria (
- Query device information, properties and attributes,
- Monitor devices, both synchronously and asynchronously with background
threads, or within the event loops of Qt (
pyudev.pyside), glib (
pyudev.glib) and wxPython (
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
- 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.