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.

Source Distribution

ereuse-workbench-11.0b6.tar.gz (224.0 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page