eReuse.org Workbench
Create a hardware report (JSON) of your computer including components,
serial numbers, testing (SMART and stress test), benchmarking (sysbench),
erasing (using certified tools and well-known standards),
and installing an OS.
You parametrize Workbench to execute the actions you want and then
runs without user interaction, generating a human and machine
friendly report in JSON. This report can be uploaded to the IT Asset
Management System Devicehub.
Check example reports here,
here,
and here.
Workbench can be used in an USB or CD,
or even over the network through PXE,
specially useful when erasing and installing OSes or working
with many computers.
This repository is the stand-alone core version of Workbench.
Workbench uses several well-known Linux packages to perform each
action, avoiding re-inventing the wheel. It is used
professionally by refurbishers and regular companies to register,
prepare, and track their devices, and has great emphasis in data
correctness. Workbench is free software from eReuse.org.
Installation
Workbench is developed and tested in Debian 9, and it should
work in any Debian based OS, even in any Linux as long as the OS
has the debian packages listed below.
- Install the debian packages, like
the following way
cat debian-requirements.txt | sudo xargs apt install -y
. sudo pip3 install ereuse-workbench --pre -U
Note that you need to install this as sudo, as the software can only
be run with root due to the sensitive tools it uses.
Usage
Execute Workbench through the CLI or directly in Python.
To use the CLI check the help for more info: sudo erwb --help
From a python file you can:
from ereuse_workbench.workbench import Workbench
erwb = Workbench()
erwb.run()
Testing
- Clone this repository and go to the repository main folder.
- Install Workbench as
pip3 install -e .[test] -r requirements.txt
. - Run the tests with
python3 setup.py test
.
Note that you do not need to be root to execute tests, and that
they can be executed in Mac and Windows, as they do not use any
of the system tools, but stubs.
Known limitations
We want to overcome them in the future :-)
- Unsupported USB network adaptors.
- It cannot not install Windows OS.