KernelWanderers / OCSysInfo

Basic, high-level and efficient CLI for discovering, outputting and parsing hardware information from the current system.
MIT License
94 stars 14 forks source link
hackintosh hardware hardware-detection opencore system-info
# OCSysInfo
A basic, high-level and efficient CLI for discovering hardware information about the current system.
If you need any help or have any questions, please feel free to let us know over at our [support server](https://discord.gg/PzDzccyDJA)


Example
``` ─ CPU └── Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz ├── Cores: 6 ├── Threads: 6 ├── SSE: SSE4.2 ├── SSSE3: Supported └── Codename: Coffee Lake ─ Motherboard ├── Model: B365M DS3H └── Manufacturer: Gigabyte Technology Co., Ltd. ─ GPU ├── Intel(R) UHD Graphics 630 │ ├── Device ID: 0x3E92 │ ├── Vendor: 0x8086 │ ├── PCI Path: PciRoot(0x0)/Pci(0x2,0x0) │ └── ACPI Path: \_SB.PCI0.GFX0 └── AMD Radeon (TM) R9 390 Series ├── Device ID: 0x67B1 ├── Vendor: 0x1002 ├── PCI Path: PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0) ├── ACPI Path: \_SB.PCI0.PEG0.PEGP └── Codename: Hawaii ─ Memory ├── F4-2400C15-4GRR (Part-Number) │ ├── Type: DDR4 │ ├── Slot │ │ ├── Bank: BANK 0 │ │ └── Channel: ChannelA-DIMM0 │ ├── Frequency (MHz): 2400 MHz │ ├── Manufacturer: 04CD │ └── Capacity: 4096MB ├── F4-2400C15-4GRR (Part-Number) │ ├── Type: DDR4 │ ├── Slot │ │ ├── Bank: BANK 1 │ │ └── Channel: ChannelA-DIMM1 │ ├── Frequency (MHz): 2400 MHz │ ├── Manufacturer: 04CD │ └── Capacity: 4096MB ├── F4-2400C15-4GRR (Part-Number) │ ├── Type: DDR4 │ ├── Slot │ │ ├── Bank: BANK 2 │ │ └── Channel: ChannelB-DIMM0 │ ├── Frequency (MHz): 2400 MHz │ ├── Manufacturer: 04CD │ └── Capacity: 4096MB └── F4-2400C15-4GRR (Part-Number) ├── Type: DDR4 ├── Slot │ ├── Bank: BANK 3 │ └── Channel: ChannelB-DIMM1 ├── Frequency (MHz): 2400 MHz ├── Manufacturer: 04CD └── Capacity: 4096MB ─ Network └── RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller ├── Device ID: 0x8168 ├── Vendor: 0x10EC ├── PCI Path: PciRoot(0x0)/Pci(0x1c,0x4)/Pci(0x0,0x0) └── ACPI Path: \_SB.PCI0.RP05.PXSX ─ Audio ├── Unknown Sound Device │ ├── Device ID: 0x4938 │ └── Vendor: 0x0BDA ├── RV635 HDMI Audio [Radeon HD 3650/3730/3750] │ ├── Device ID: 0xAA01 │ └── Vendor: 0x1002 ├── Intel(R) Display Audio │ ├── Device ID: 0x280B │ └── Vendor: 0x8086 └── Realtek ALC887 ├── Device ID: 0x0887 └── Vendor: 0x10EC ─ Input └── HID Keyboard Device ─ Storage ├── WDC WD2500AAJS-00L7A0 │ ├── Type: Unspecified │ ├── Connector: Serial ATA (SATA) │ └── Location: Internal ├── Kingston DataTraveler 2.0 │ ├── Type: Unspecified │ ├── Connector: USB │ └── Location: External ├── KINGSTON SA400S37240G │ ├── Type: Solid State Drive (SSD) │ ├── Connector: Serial ATA (SATA) │ └── Location: Internal └── LITEON CV3-8D128-HP ├── Type: Solid State Drive (SSD) ├── Connector: Serial ATA (SATA) └── Location: Internal ```


Installation

Warning Firstly, we do not support Python 2 – the only support provided is for Python 3.9 and greater.
So please ensure you have Python 3.9 or greater installed.

In order to install OCSysInfo, you can either download the repository manually via GitHub, or via Git.
Then, run the main.py script located in the project's root. (Do also make sure to install the dependencies as shown below.)

# Clone the repository using Git
git clone https://github.com/KernelWanderers/OCSysInfo.git

# Switch to the repository folder
cd OCSysInfo

# Install dependencies
python3 -m pip install -r requirements.txt
# Run the script
python3 main.py

Implementations

OCSysInfo takes advantage of each platform's native interaction protocol, except for Linux, which uses a pseudo file system & its distros expose no consistent way of obtaining this information via command/API, in order to extract information about the system's hardware manually.

Windows

macOS

Linux

Issues

When opening up issues, please list all hardware information relevant, and the issue you're encountering. Show real outputs, and the expected output, etc.

Credits

The following contains credits to all the people who helped assist in the making, testing, and polishing of this project. This project would be nothing without them.