62 stable releases

new 2.1.4 Nov 18, 2024
2.0.9 Sep 26, 2024
2.0.2 Jun 22, 2024
1.9.2 Feb 22, 2024
0.5.0 Nov 30, 2023

#191 in Operating systems

Download history 478/week @ 2024-07-29 228/week @ 2024-08-12 293/week @ 2024-08-19 9/week @ 2024-08-26 140/week @ 2024-09-02 72/week @ 2024-09-16 469/week @ 2024-09-23 34/week @ 2024-09-30 295/week @ 2024-10-07 178/week @ 2024-10-14 7/week @ 2024-10-21 126/week @ 2024-10-28 47/week @ 2024-11-04

366 downloads per month

MIT license

10KB
200 lines

This library is a work in progress

A simple Rust crate for host discovery

Basic Usage

use host_discovery::{OSProfile, gpu};

fn main() {
    // linux example
    //let profile = OSProfile::new().distro().build();
    
    // and/or
    //let profile = OSProfile::new().is_wsl().build();
    let profile = OSProfile::new().win_edition().build();
    let arch = profile.arch;
    let os = profile.os;
    let edition = profile.win_edition;
    let gpu = gpu().expect("Unreachable");

    println!(
        " Architecture: {}\n OS: {}\n Edition: {}\n GPU: {}", 
        arch,
        os,
        edition.unwrap(),
        gpu,
    )
}

Roadmap

  • Reduce dependency load by implementing a smaller utility crate for enumerating devices.
    • The implementation should be flexible and cross-platform

Current Features

  • OS
  • Architecture
  • Hostname
  • Windows Edition
  • WSL Detection
  • Linux Distro
  • GPU Enumeration (Crossplatform via Wgpu)
  • CPU Detection (x86/64)

Dependencies

~4–35MB
~534K SLoC