About OpenDMI
OpenDMI is a cross-platform framework for reading, decoding and checking DMI/SMBIOS data: the description of a computer its firmware provides, from the vendor and the serial number of the system to its processors, memory modules, slots and ports.
The data is binary, and the specification describing it has grown for three decades, along with the extensions every vendor has added of its own. OpenDMI decodes it into structured data instead of text to parse: every value has a stable code, a type and a unit, so that it reads the same way in the terminal, in JSON and through the API, and a program handling it depends on neither the wording nor the layout of what a person is shown.
1. Components
OpenDMI is made of the components listed below, which are built from the same sources and share the decoding done by the library.
| Component | Description | Status |
|---|---|---|
|
C library providing access to DMI/SMBIOS data, and the C++ API built on it |
Usable, API not frozen until 1.0 |
|
Command line tool to query and check DMI/SMBIOS data |
Usable, |
|
Python bindings for |
In progress |
|
D-Bus service providing access to DMI/SMBIOS data |
In progress |
|
Linux kernel module providing DMI/SMBIOS data through SysFS |
Planned |
|
Go bindings for |
Planned |
|
Rust bindings for |
Planned |
Everything which is planned is scheduled for the 1.0 release.
2. License
OpenDMI is free software, distributed under the terms of the BSD 3-Clause License. So is this manual.