https://github.com/perrywerneck/dmiget
Cross-platform library and tool to extract detailed system information from SMBIOS (in Python, C & C++).
https://github.com/perrywerneck/dmiget
available-on-pypi dmi dmidecode smbios smbios-information smbios-tables
Last synced: 28 days ago
JSON representation
Cross-platform library and tool to extract detailed system information from SMBIOS (in Python, C & C++).
- Host: GitHub
- URL: https://github.com/perrywerneck/dmiget
- Owner: PerryWerneck
- License: gpl-3.0
- Created: 2021-09-30T19:50:43.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2025-12-26T16:34:52.000Z (3 months ago)
- Last Synced: 2025-12-28T04:19:06.776Z (3 months ago)
- Topics: available-on-pypi, dmi, dmidecode, smbios, smbios-information, smbios-tables
- Language: C++
- Homepage:
- Size: 488 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG
- License: LICENSE
Awesome Lists containing this project
README
# Linux/Windows tool and library to get DMI data
A versatile toolkit for accessing and extracting System Management BIOS (SMBIOS) data, available as a cross-platform Python, C, and C++ library with a convenient command-line interface. This tool provides comprehensive support for parsing and interpreting SMBIOS structures, enabling retrieval of detailed system information such as hardware components, firmware versions, and manufacturer details.

[](https://www.gnu.org/licenses/gpl-3.0)
[](https://github.com/PerryWerneck/dmiget/actions/workflows/codeql.yml)
[](https://build.opensuse.org/package/show/home:PerryWerneck:udjat/dmiget)
[](https://badge.fury.io/py/smbios)
## Installation
### Packages
You can download installation package for supported linux distributions in [Open Build Service](https://software.opensuse.org/download.html?project=home%3APerryWerneck%3Audjat&package=dmiget)
[
](https://software.opensuse.org/download.html?project=home%3APerryWerneck%3Audjat&package=dmiget)
[
](https://github.com/PerryWerneck/dmiget/releases)
[
](https://pypi.org/project/smbios)
## Examples:
### Command line
```shell
dmiget
```
```shell
dmiget dmi:///bios/vendor
```
### Python
```python
import smbios
value = smbios.Value('chassis','serial')
print(value)
```
```python
import smbios
value = smbios.Value('dmi:///chassis/serial')
print(value)
```
```python
import smbios
value = smbios.memsize()
print(value)
print(int(value))
```
```python
import smbios
for node in smbios.nodes():
print(node)
for value in node.values():
print(' {}: {}'.format(value.description,value))
```
### C++
```C
#include
#include
using namespace std;
int main(int argc, char **argv) {
Node node{"chassis"};
cout << node.name() << " - " << node << endl;
cout << node["manufacturer"] << endl;
return 0;
}
```