A device information gatherer for Linux and macOS
Project description
# getdevinfo
This repository holds my new getdevinfo module. This module was originally integreted directly into the source code of Wine Autostart, DDRescue-GUI, and WxFixBoot, but has now been separated for ease of maintenance. Because it’s on GitLab (https://gitlab.com/hamishmb/getdevinfo) and on PyPI (the Python Package Index) (https://pypi.org/project/getdevinfo/), and released under the GPLv3+, this means other people can use it too.
Description of Package
A device information gatherer for Linux and macOS.
Working on both Linux and macOS, this script makes use of lshw, lvdisplay, and blkid (Linux), as well as diskutil (macOS) to get a comprehensive amount of disk information. This information is available in a structured dictionary for ease of use.
Features:
Uses the operating system's built-in tools to gather lots of helpful information about disks connected to the system. This is returned as a hierarchical python dictionary. For the full details on the format, read the documentation here: https://www.hamishmb.com/html/Docs/getdevinfo.php
Dependencies:
On Linux it requires lshw, blkid, lvdisplay, and blockdev to be installed. On Linux, you need the beautifulsoup4 (bs4), and lxml python packages to use this tool. On macOS, nothing beyond a standard python2.x/python3.x install is required, but you still need bs4 and lxml if you want to install using the python wheel/through pip.
Building
Source Distribution
Run:
“python setup.py sdist”
Wheels
Make sure you’ve installed the “wheel” package:
“pip/pip3 install wheel”
Universal Wheel
This tool runs unmodified on both python 3 and 2, so this is the recommended choice.
“python setup.py bdist_wheel –universal”
Pure Python Wheel
Not sure why you’d do this, but you can run:
“python2/python3 setup.py bdist_wheel”
to acheive this if you want.
Distribution Packages
You can find these at https://www.launchpad.net/getdevinfo or https://www.hamishmb.com/html/downloads.php?program_name=getdevinfo.
Documentation
This can be found at https://www.hamishmb.com/html/Docs/getdevinfo.php.
Running The Tests
These have to be run as the superuser, because low-level access to hardware is required to gather information.
The process for running these is the same on both Linux and macOS. It can be done on both Python 2 and Python 3.
Without Coverage Reporting
Change directory to the getdevinfo subfolder, and run:
“sudo python3 ./tests.py”
or:
“sudo python2 ./tests.py”
With Coverage Reporting
Make sure you have installed Coverage.py using pip or your package manager.
Change directory to the getdevinfo subfolder, and run:
“sudo python3 -m coverage run –rcfile=../.coveragerc ./tests.py”
or:
“sudo python2 -m coverage run –rcfile=../.coveragerc ./tests.py”
To run the tests. Then run:
“sudo python3 -m coverage report”
or:
“sudo python2 -m coverage report”
To see the report.
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
Hashes for getdevinfo-1.0.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6e8b1ee2ac180c7b37d3268b3a4d76f0618c41dad922b6ede45fd4d57e8dbfdb |
|
MD5 | b5bcf6afe8328ef23a4202ce6c8f3e73 |
|
BLAKE2b-256 | 43c191bd7eff1c22b3de0f8f58f3c503a3e71e529755fbabba860af7c2b583be |