Skip to main content

Hardware report of the computer including components, testing, benchmarking, erasing, and installing an OS.

Project description

# 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](https://github.com/ereuse/devicehub-teal).
Check example reports [here](https://github.com/eReuse/devicehub-teal/blob/master/ereuse_devicehub/dummy/files/asus-eee-1000h.snapshot.11.yaml),
[here](https://github.com/eReuse/devicehub-teal/blob/master/ereuse_devicehub/dummy/files/dell-optiplexgx520.snapshot.11.yaml),
and [here](https://github.com/eReuse/devicehub-teal/blob/master/ereuse_devicehub/dummy/files/lenovo-3493BAG.snapshot.11.yaml).

Workbench can be used in an [USB or CD](https://github.com/ereuse/workbench-live),
or even [over the network through PXE](https://github.com/ereuse/workbench-server),
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](https://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.

1. Install the [debian packages](debian-requirements.txt), like
the following way `cat debian-requirements.txt | sudo xargs apt install -y`.
2. `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:
```python
from ereuse_workbench.workbench import Workbench
erwb = Workbench() # Check the docs of this class for more info
erwb.run()
```

## Testing
1. Clone this repository and go to the repository main folder.
2. Install Workbench as `pip3 install -e .[test] -r requirements.txt`.
3. 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for ereuse-workbench, version 11.0b6
Filename, size File type Python version Upload date Hashes
Filename, size ereuse-workbench-11.0b6.tar.gz (224.0 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page