devices
is a cross-platform library for retrieving information about connected devices.
Combined with a library like sysinfo, a more or less complete description of a system's hardware can be gathered.
lspci
and lsusb
required)On Linux, this library works by creating a subprocess to gather device information and parsing the result.
Pulling device information from a platform-specific API would be preferred. PRs welcome.