pyhw 0.12.2__py3-none-any.whl → 0.12.4__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pyhw/__init__.py +1 -1
- pyhw/backend/__init__.py +1 -0
- pyhw/backend/cpu/linux.py +0 -2
- pyhw/backend/cpu/windows.py +0 -3
- pyhw/backend/gpu/bsd.py +0 -1
- pyhw/backend/gpu/linux.py +38 -4
- pyhw/backend/gpu/windows.py +0 -4
- pyhw/backend/host/bsd.py +0 -1
- pyhw/backend/host/hostInfo.py +0 -1
- pyhw/backend/kernel/unix.py +0 -1
- pyhw/backend/kernel/windows.py +0 -4
- pyhw/backend/memory/bsd.py +0 -1
- pyhw/backend/memory/linux.py +0 -1
- pyhw/backend/memory/windows.py +0 -7
- pyhw/backend/nic/bsd.py +0 -1
- pyhw/backend/nic/linux.py +0 -2
- pyhw/backend/nic/macos.py +0 -2
- pyhw/backend/nic/windows.py +0 -6
- pyhw/backend/npu/__init__.py +1 -2
- pyhw/backend/npu/macos.py +1 -3
- pyhw/backend/npu/npuInfo.py +0 -2
- pyhw/backend/npu/windows.py +0 -2
- pyhw/backend/os/__init__.py +1 -0
- pyhw/backend/os/bsd.py +0 -1
- pyhw/backend/os/linux.py +0 -3
- pyhw/backend/os/macos.py +0 -1
- pyhw/backend/os/windows.py +0 -1
- pyhw/backend/shell/__init__.py +1 -0
- pyhw/backend/shell/unix.py +0 -10
- pyhw/backend/shell/windows.py +0 -3
- pyhw/backend/title/__init__.py +1 -0
- pyhw/backend/title/unix.py +0 -5
- pyhw/backend/title/windows.py +0 -3
- pyhw/backend/uptime/__init__.py +1 -0
- pyhw/backend/uptime/bsd.py +0 -1
- pyhw/backend/uptime/linux.py +0 -3
- pyhw/backend/uptime/macos.py +0 -1
- pyhw/backend/uptime/windows.py +0 -2
- pyhw/frontend/__init__.py +1 -0
- pyhw/frontend/color/__init__.py +1 -0
- pyhw/frontend/frontendBase.py +0 -3
- pyhw/frontend/logo/__init__.py +1 -0
- pyhw/frontend/logo/logoBase.py +0 -1
- pyhw/library/lib/nvmlGPULib_amd64.so +0 -0
- pyhw/library/lib/nvmlGPULib_arm64.so +0 -0
- pyhw/library/test/nvmlGPULibTest.py +25 -0
- pyhw/pyhwException/__init__.py +1 -0
- pyhw/pyhwUtil/__init__.py +1 -0
- pyhw/pyhwUtil/cliUtil.py +0 -2
- pyhw/pyhwUtil/pyhwUtil.py +5 -1
- {pyhw-0.12.2.dist-info → pyhw-0.12.4.dist-info}/METADATA +7 -1
- {pyhw-0.12.2.dist-info → pyhw-0.12.4.dist-info}/RECORD +56 -54
- pyhw/backend/metal/t.py +0 -19
- {pyhw-0.12.2.dist-info → pyhw-0.12.4.dist-info}/WHEEL +0 -0
- {pyhw-0.12.2.dist-info → pyhw-0.12.4.dist-info}/entry_points.txt +0 -0
- {pyhw-0.12.2.dist-info → pyhw-0.12.4.dist-info}/licenses/LICENSE +0 -0
- {pyhw-0.12.2.dist-info → pyhw-0.12.4.dist-info}/top_level.txt +0 -0
pyhw/__init__.py
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
__version__ = '0.12.
|
1
|
+
__version__ = '0.12.4'
|
2
2
|
__author__ = 'xiaoran007'
|
pyhw/backend/__init__.py
CHANGED
pyhw/backend/cpu/linux.py
CHANGED
pyhw/backend/cpu/windows.py
CHANGED
@@ -1,5 +1,3 @@
|
|
1
|
-
import re
|
2
|
-
import os
|
3
1
|
import subprocess
|
4
2
|
from .cpuInfo import CPUInfo
|
5
3
|
import json
|
@@ -45,4 +43,3 @@ class CPUDetectWindows:
|
|
45
43
|
self.__cpuInfo.model = self.__cpuInfo.model.replace("(R)", "")
|
46
44
|
self.__cpuInfo.model = self.__cpuInfo.model.replace("(TM)", "")
|
47
45
|
self.__cpuInfo.model = self.__cpuInfo.model.replace("CPU ", "")
|
48
|
-
|
pyhw/backend/gpu/bsd.py
CHANGED
pyhw/backend/gpu/linux.py
CHANGED
@@ -1,13 +1,15 @@
|
|
1
|
-
import subprocess
|
2
1
|
from .gpuInfo import GPUInfo
|
3
2
|
from ..cpu import CPUDetect
|
4
3
|
from ...pyhwUtil import getArch
|
4
|
+
from pathlib import Path
|
5
5
|
import pypci
|
6
|
+
import ctypes
|
6
7
|
|
7
8
|
|
8
9
|
class GPUDetectLinux:
|
9
10
|
def __init__(self):
|
10
11
|
self.__gpuInfo = GPUInfo()
|
12
|
+
self.__arch = self.__setArch()
|
11
13
|
|
12
14
|
def getGPUInfo(self):
|
13
15
|
self.__getGPUInfo()
|
@@ -19,14 +21,39 @@ class GPUDetectLinux:
|
|
19
21
|
if len(gpu_devices) == 0:
|
20
22
|
self.__handleNonePciDevices()
|
21
23
|
else:
|
24
|
+
core_map = dict()
|
22
25
|
for device in gpu_devices:
|
26
|
+
record_cores = core_map.get(device.device_id, 0)
|
27
|
+
if record_cores != 0:
|
28
|
+
pass
|
29
|
+
else:
|
30
|
+
cores = self.__getGPUInfoNvidia(device)
|
31
|
+
core_map[device.device_id] = cores
|
32
|
+
for device in gpu_devices:
|
33
|
+
core = core_map.get(device.device_id, 0)
|
34
|
+
if core == 0:
|
35
|
+
core_print = ""
|
36
|
+
else:
|
37
|
+
core_print = f"({core} Cores)"
|
23
38
|
if device.subsystem_device_name != "":
|
24
|
-
device_name = f"{device.vendor_name} {device.device_name}
|
39
|
+
device_name = f"{device.vendor_name} {device.device_name} [{device.subsystem_device_name}] {core_print}"
|
25
40
|
else:
|
26
|
-
device_name = f"{device.vendor_name} {device.device_name}"
|
41
|
+
device_name = f"{device.vendor_name} {device.device_name} {core_print}"
|
27
42
|
self.__gpuInfo.gpus.append(self.__gpuNameClean(device_name))
|
28
43
|
self.__gpuInfo.number += 1
|
29
44
|
|
45
|
+
def __getGPUInfoNvidia(self, device):
|
46
|
+
try:
|
47
|
+
package_root = Path(__file__).resolve().parent.parent.parent
|
48
|
+
lib = ctypes.CDLL(f"{package_root}/library/lib/nvmlGPULib_{self.__arch}.so")
|
49
|
+
lib.GetGPUCoreCountByPciBusId.argtypes = [ctypes.c_char_p]
|
50
|
+
lib.GetGPUCoreCountByPciBusId.restype = ctypes.c_uint
|
51
|
+
cores = lib.GetGPUCoreCountByPciBusId(f'00000000:{device.bus}'.encode())
|
52
|
+
return cores
|
53
|
+
except Exception as e:
|
54
|
+
print(f"An error occurred while getting GPU info using nvml: {e}")
|
55
|
+
return 0
|
56
|
+
|
30
57
|
def __handleNonePciDevices(self):
|
31
58
|
# if detector can't find any VGA/Display/3D GPUs, assume the host is a sbc device, this function is a placeholder for a more advanced method.
|
32
59
|
if getArch() in ["aarch64", "arm32", "riscv64"]:
|
@@ -41,6 +68,13 @@ class GPUDetectLinux:
|
|
41
68
|
gpu_name_clean = gpu_name.replace("Corporation ", "")
|
42
69
|
return gpu_name_clean
|
43
70
|
|
71
|
+
@staticmethod
|
72
|
+
def __setArch():
|
73
|
+
arch = getArch()
|
74
|
+
if arch == "aarch64":
|
75
|
+
return "arm64"
|
76
|
+
elif arch == "x86_64":
|
77
|
+
return "amd64"
|
78
|
+
|
44
79
|
def __sortGPUList(self):
|
45
80
|
self.__gpuInfo.gpus.sort()
|
46
|
-
|
pyhw/backend/gpu/windows.py
CHANGED
pyhw/backend/host/bsd.py
CHANGED
pyhw/backend/host/hostInfo.py
CHANGED
pyhw/backend/kernel/unix.py
CHANGED
pyhw/backend/kernel/windows.py
CHANGED
pyhw/backend/memory/bsd.py
CHANGED
pyhw/backend/memory/linux.py
CHANGED
pyhw/backend/memory/windows.py
CHANGED
pyhw/backend/nic/bsd.py
CHANGED
pyhw/backend/nic/linux.py
CHANGED
pyhw/backend/nic/macos.py
CHANGED
pyhw/backend/nic/windows.py
CHANGED
@@ -1,9 +1,5 @@
|
|
1
|
-
import subprocess
|
2
1
|
from .nicInfo import NICInfo
|
3
|
-
from ...pyhwUtil import getArch
|
4
|
-
from ...pyhwException import BackendException
|
5
2
|
import pypci
|
6
|
-
import os
|
7
3
|
|
8
4
|
|
9
5
|
class NICDetectWindows:
|
@@ -40,5 +36,3 @@ class NICDetectWindows:
|
|
40
36
|
|
41
37
|
def _sortNICList(self):
|
42
38
|
return self._nicInfo.nics.sort()
|
43
|
-
|
44
|
-
|
pyhw/backend/npu/__init__.py
CHANGED
pyhw/backend/npu/macos.py
CHANGED
@@ -1,7 +1,5 @@
|
|
1
1
|
from .npuInfo import NPUInfo
|
2
2
|
from ...pyhwUtil import getArch, getOS
|
3
|
-
import json
|
4
|
-
import subprocess
|
5
3
|
from ..cpu import CPUDetect
|
6
4
|
|
7
5
|
|
@@ -57,9 +55,9 @@ class NPUDetectMacOS:
|
|
57
55
|
"Apple M3": "Apple Neural Engine 16 Cores (3nm) [SOC Integrated]",
|
58
56
|
"Apple M3 Pro": "Apple Neural Engine 16 Cores (3nm) [SOC Integrated]",
|
59
57
|
"Apple M3 Max": "Apple Neural Engine 16 Cores (3nm) [SOC Integrated]",
|
58
|
+
"Apple M3 Ultra": "Apple Neural Engine 32 Cores (3nm) [SOC Integrated]",
|
60
59
|
"Apple M4": "Apple Neural Engine 16 Cores (3nm) [SOC Integrated]",
|
61
60
|
"Apple M4 Pro": "Apple Neural Engine 16 Cores (3nm) [SOC Integrated]",
|
62
61
|
"Apple M4 Max": "Apple Neural Engine 16 Cores (3nm) [SOC Integrated]"
|
63
62
|
}
|
64
63
|
return npu.get(model_name, "Not Found")
|
65
|
-
|
pyhw/backend/npu/npuInfo.py
CHANGED
pyhw/backend/npu/windows.py
CHANGED
pyhw/backend/os/__init__.py
CHANGED
pyhw/backend/os/bsd.py
CHANGED
pyhw/backend/os/linux.py
CHANGED
pyhw/backend/os/macos.py
CHANGED
pyhw/backend/os/windows.py
CHANGED
pyhw/backend/shell/__init__.py
CHANGED
pyhw/backend/shell/unix.py
CHANGED
@@ -1,6 +1,3 @@
|
|
1
|
-
"""
|
2
|
-
In dev.
|
3
|
-
"""
|
4
1
|
from ...pyhwUtil import getDocker
|
5
2
|
from .shellInfo import ShellInfo
|
6
3
|
import os
|
@@ -57,10 +54,3 @@ class ShellDetectUnix:
|
|
57
54
|
self.__shellInfo.version = result.stdout.strip()
|
58
55
|
except subprocess.SubprocessError:
|
59
56
|
pass
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
pyhw/backend/shell/windows.py
CHANGED
pyhw/backend/title/__init__.py
CHANGED
pyhw/backend/title/unix.py
CHANGED
pyhw/backend/title/windows.py
CHANGED
pyhw/backend/uptime/__init__.py
CHANGED
pyhw/backend/uptime/bsd.py
CHANGED
pyhw/backend/uptime/linux.py
CHANGED
pyhw/backend/uptime/macos.py
CHANGED
pyhw/backend/uptime/windows.py
CHANGED
pyhw/frontend/__init__.py
CHANGED
pyhw/frontend/color/__init__.py
CHANGED
pyhw/frontend/frontendBase.py
CHANGED
@@ -52,7 +52,6 @@ class Printer:
|
|
52
52
|
else:
|
53
53
|
pass
|
54
54
|
|
55
|
-
|
56
55
|
@staticmethod
|
57
56
|
def __getColumns() -> int:
|
58
57
|
if getOS() == "linux":
|
@@ -105,5 +104,3 @@ class Printer:
|
|
105
104
|
print(data_line)
|
106
105
|
raise BackendException("Invalid data format")
|
107
106
|
self.__processed_data_lines.append(colorPrefix(ColorSet.COLOR_MODE_BOLD) + colorPrefix(keys_color) + name + ": " + colorSuffix() + value)
|
108
|
-
|
109
|
-
|
pyhw/frontend/logo/__init__.py
CHANGED
pyhw/frontend/logo/logoBase.py
CHANGED
Binary file
|
Binary file
|
@@ -0,0 +1,25 @@
|
|
1
|
+
import ctypes
|
2
|
+
import pypci
|
3
|
+
|
4
|
+
|
5
|
+
def main():
|
6
|
+
lib = ctypes.CDLL(f"../lib/nvmlGPULib_amd64.so")
|
7
|
+
lib.GetGPUCoreCount.argtypes = [ctypes.c_uint]
|
8
|
+
lib.GetGPUCoreCount.restype = ctypes.c_uint
|
9
|
+
cuda_cores = lib.GetGPUCoreCount(0)
|
10
|
+
print("CUDA Cores:", cuda_cores)
|
11
|
+
lib.GetGPUCoreCountByPciBusId.argtypes = [ctypes.c_char_p]
|
12
|
+
lib.GetGPUCoreCountByPciBusId.restype = ctypes.c_uint
|
13
|
+
pci_bus_id = b"00000000:99:00.0"
|
14
|
+
cuda_cores = lib.GetGPUCoreCountByPciBusId(pci_bus_id)
|
15
|
+
print("CUDA Cores by PCI Bus ID:", cuda_cores)
|
16
|
+
|
17
|
+
gpu_devices = pypci.PCI().FindAllVGA()
|
18
|
+
for gpu in gpu_devices:
|
19
|
+
print(f"id: {gpu.bus}")
|
20
|
+
print(f"cuda cores: {lib.GetGPUCoreCountByPciBusId(f'00000000:{gpu.bus}'.encode())}")
|
21
|
+
|
22
|
+
|
23
|
+
|
24
|
+
if __name__ == "__main__":
|
25
|
+
main()
|
pyhw/pyhwException/__init__.py
CHANGED
pyhw/pyhwUtil/__init__.py
CHANGED
@@ -2,4 +2,5 @@ from .pyhwUtil import getOS, getArch, getDocker, getWSL, createDataString, selec
|
|
2
2
|
from .sysctlUtil import sysctlGetString, sysctlGetInt
|
3
3
|
from .cliUtil import ReleaseChecker
|
4
4
|
|
5
|
+
|
5
6
|
__all__ = ["getOS", "getArch", "getDocker", "getWSL", "createDataString", "selectOSLogo", "sysctlGetString", "sysctlGetInt", "ReleaseChecker"]
|
pyhw/pyhwUtil/cliUtil.py
CHANGED
pyhw/pyhwUtil/pyhwUtil.py
CHANGED
@@ -26,7 +26,7 @@ def getOS():
|
|
26
26
|
def getArch():
|
27
27
|
"""
|
28
28
|
Get the machine architecture.
|
29
|
-
:return: str, value in [x86_64, x86, aarch64, arm32, riscv64].
|
29
|
+
:return: str, value in [x86_64, x86, aarch64, arm32, riscv64, s390x, ppc64le].
|
30
30
|
"""
|
31
31
|
arch = platform.machine()
|
32
32
|
if arch == "x86_64" or arch == "AMD64" or arch == "amd64":
|
@@ -39,6 +39,10 @@ def getArch():
|
|
39
39
|
return "arm32"
|
40
40
|
elif arch == "riscv64":
|
41
41
|
return "riscv64"
|
42
|
+
elif arch == "s390x":
|
43
|
+
return "s390x"
|
44
|
+
elif arch == "ppc64le":
|
45
|
+
return "ppc64le"
|
42
46
|
else:
|
43
47
|
return "unknown"
|
44
48
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: pyhw
|
3
|
-
Version: 0.12.
|
3
|
+
Version: 0.12.4
|
4
4
|
Summary: PyHw, a neofetch-like command line tool for fetching system information but written mostly in python.
|
5
5
|
Author: Xiao Ran
|
6
6
|
Maintainer-email: Xiao Ran <xiaoran.007@icloud.com>
|
@@ -127,6 +127,12 @@ Make sure the following Python build tools are already installed.
|
|
127
127
|
* build
|
128
128
|
* twine
|
129
129
|
|
130
|
+
Newer versions of twine requires the following dependencies are up to date:
|
131
|
+
* setuptools
|
132
|
+
* build
|
133
|
+
* twine
|
134
|
+
* packaging
|
135
|
+
|
130
136
|
### 4.3 Build package
|
131
137
|
clone the project, and run:
|
132
138
|
```shell
|
@@ -1,87 +1,86 @@
|
|
1
|
-
pyhw/__init__.py,sha256=
|
1
|
+
pyhw/__init__.py,sha256=cLvhuwktXvGfep0EXHlrozCFkIUDtlLNuQfhDaI-qQM,49
|
2
2
|
pyhw/__main__.py,sha256=oZpFtvSyYTM8cMsulvi51zJV0gtmw3OCQVdgoaHbtxc,4977
|
3
|
-
pyhw/backend/__init__.py,sha256=
|
3
|
+
pyhw/backend/__init__.py,sha256=X1D1D28lSojDrUzUolgJvmbuctwBh_UxG3FwUeL8adA,51
|
4
4
|
pyhw/backend/backendBase.py,sha256=mloo8mPEbgbIdmyQ3I4vdEXMSSjxWi_wnwACmzvHbEo,506
|
5
5
|
pyhw/backend/cpu/__init__.py,sha256=5YfANJVRwNwTRodG0ENOgusrdN592aaSnfq5ok4dKTo,56
|
6
6
|
pyhw/backend/cpu/bsd.py,sha256=Ls97NAsvZGVJj3_fBUcYXjY2gsZvFKhXYtkTHxVVXSs,288
|
7
7
|
pyhw/backend/cpu/cpuBase.py,sha256=2YAOz1K8VLKtLY7iYBxUV9Ikuf4I4d4YivocvZDrdUU,748
|
8
8
|
pyhw/backend/cpu/cpuInfo.py,sha256=A_nNGElq9W7oZ5DFJowLdFBE0ZvXKr5h29E6TGAvbRc,251
|
9
|
-
pyhw/backend/cpu/linux.py,sha256=
|
9
|
+
pyhw/backend/cpu/linux.py,sha256=6xvRASlykSA3KzlK3CLK8JPT9NS6XMWj1gxIgVItkRE,3492
|
10
10
|
pyhw/backend/cpu/macos.py,sha256=Mzo-4xBebu-o0p92CYCfdu_k93oLafvs6QExhosywko,3112
|
11
|
-
pyhw/backend/cpu/windows.py,sha256=
|
11
|
+
pyhw/backend/cpu/windows.py,sha256=j9lkOL_zrnOAzr--GoFwMHEVqlE_vuO_wKnE0CgISdw,1702
|
12
12
|
pyhw/backend/gpu/__init__.py,sha256=EpMjPvUaXt0LTNMvGmB8WgXbUB9keCxuOhu8NT3Re6o,56
|
13
|
-
pyhw/backend/gpu/bsd.py,sha256=
|
13
|
+
pyhw/backend/gpu/bsd.py,sha256=ladMMIlTwb6Z1ETCLFII--lkeLCp50Wb7WFrlOXa5DQ,123
|
14
14
|
pyhw/backend/gpu/gpuBase.py,sha256=ZPT9o7PhYpzlwign0GsCT519F9DGx-1UEMVVOM8MV_k,748
|
15
15
|
pyhw/backend/gpu/gpuInfo.py,sha256=d_z_z5DiZAg85wP0VOBQEU0QHdaK3qFqA2Tp9Eq8-Zs,133
|
16
|
-
pyhw/backend/gpu/linux.py,sha256=
|
16
|
+
pyhw/backend/gpu/linux.py,sha256=FPWu7-8k7P1L7bw8ey9hVdpxF63O5hZg8Q4lKzaPukI,3008
|
17
17
|
pyhw/backend/gpu/macos.py,sha256=s-GZk_Q7K58nSOYuOIAYLRvLafwHyQtsWrPVe3CuXac,4068
|
18
|
-
pyhw/backend/gpu/windows.py,sha256=
|
18
|
+
pyhw/backend/gpu/windows.py,sha256=9VlObAdcOXJyFFxHKHSnFdL07xiGZHNHwn6C843TfNg,1170
|
19
19
|
pyhw/backend/host/__init__.py,sha256=Efaj7-Oya7H8HdpZHQCLrwn-mcfPb-d6yfh4dzsE_7I,58
|
20
|
-
pyhw/backend/host/bsd.py,sha256=
|
20
|
+
pyhw/backend/host/bsd.py,sha256=xePlHfVYv7PSWMU1a7mTbMK3mzl2ssttkI13Xi5s00w,381
|
21
21
|
pyhw/backend/host/hostBase.py,sha256=gM49SY6rEaxec_0bUOMk7QlEfR7vjfWp3BXEUqgdncc,762
|
22
|
-
pyhw/backend/host/hostInfo.py,sha256=
|
22
|
+
pyhw/backend/host/hostInfo.py,sha256=YUISVT-tumsU4M_b6tmeAq5-RBrW0K0c4_WoyR7xTeA,451
|
23
23
|
pyhw/backend/host/linux.py,sha256=xvbZrwlKN--tKMf4_YyN20cGTSIcV5yLG3Gez7M15Pk,3157
|
24
24
|
pyhw/backend/host/macos.py,sha256=RgDjvi8RsAs9i-bHkcSdK--TaeyaxYzLXFZFMl8T6Eo,16295
|
25
25
|
pyhw/backend/host/windows.py,sha256=qn2QiTK2wIijyyw_QKdiSizY3teyS-9RNBu5RxEPRSw,1185
|
26
26
|
pyhw/backend/kernel/__init__.py,sha256=fGjwjpOhwA_PnsWbwoq102hwhTay2ufYKaTqxjSV2-I,65
|
27
27
|
pyhw/backend/kernel/kernelBase.py,sha256=3ZmkRkvwoWk3R-by2cgBlZnMSQzVjTC8Owmv53Pm4II,539
|
28
28
|
pyhw/backend/kernel/kernelInfo.py,sha256=Nkumd0McbimCjc7yJrvz6bcwpWu1Tdo_LKomjZr7Jgk,341
|
29
|
-
pyhw/backend/kernel/unix.py,sha256=
|
30
|
-
pyhw/backend/kernel/windows.py,sha256=
|
29
|
+
pyhw/backend/kernel/unix.py,sha256=opG4xTO_l4-boX8FeJmnPa2RJB9dFOfhsuPAf3SQAxg,1191
|
30
|
+
pyhw/backend/kernel/windows.py,sha256=kFGnIXIgTp3endyVIoxmUgYh3RrvIqbMHmbWwqlyZro,1180
|
31
31
|
pyhw/backend/memory/__init__.py,sha256=zGBWxfPAAk8ivCBWPLJIpuD-lB7wUJT3x8u2jHiAoCY,65
|
32
|
-
pyhw/backend/memory/bsd.py,sha256=
|
33
|
-
pyhw/backend/memory/linux.py,sha256=
|
32
|
+
pyhw/backend/memory/bsd.py,sha256=0sQrdeaxmR-jEtGbcBQLjUVpACU3LIULlJwdP4jVu08,1013
|
33
|
+
pyhw/backend/memory/linux.py,sha256=_4wsyz-C8pElIG_xcjQQrnhHueRWfg8JUWggVZQaPhc,916
|
34
34
|
pyhw/backend/memory/macos.py,sha256=ur2HxmmmVkXmaxEcw_otphifVp_csfNMJdgt-idCq7M,2770
|
35
35
|
pyhw/backend/memory/memoryBase.py,sha256=trubcJ_7JD_FnrKefUycPFd4OZMFj3Rk75ih5YVsSXg,790
|
36
36
|
pyhw/backend/memory/memoryInfo.py,sha256=OQF165uEyuapAsi7cKacQYDRnKdrQHeldfyFwzS9N2g,186
|
37
|
-
pyhw/backend/memory/windows.py,sha256=
|
38
|
-
pyhw/backend/metal/t.py,sha256=52yv-JoXNfaIOfcxEEidIg0MoyFtzWvTRm550kQKPZA,391
|
37
|
+
pyhw/backend/memory/windows.py,sha256=ISihGHBnV8iD4Xj8_kelFSCydPu05CYKxG5q_wM5ZbA,1201
|
39
38
|
pyhw/backend/nic/__init__.py,sha256=eP4eOYIvMF3LcTf954hJa6TnB8R4Qahss2g-UcgypKY,57
|
40
|
-
pyhw/backend/nic/bsd.py,sha256=
|
41
|
-
pyhw/backend/nic/linux.py,sha256=
|
42
|
-
pyhw/backend/nic/macos.py,sha256=
|
39
|
+
pyhw/backend/nic/bsd.py,sha256=6nj7XXII5dRz3FGRYAXVgTt0vSgyQo0Re9JA1vlcnuw,134
|
40
|
+
pyhw/backend/nic/linux.py,sha256=99k_AJI46wRZ2TQOike2suOeI3eiVEfAve_G4Pyyq5s,1967
|
41
|
+
pyhw/backend/nic/macos.py,sha256=J1hO7FxpQpi98Kx9EmUf5Q4_GxE8xMvb6R5Ok861V8E,853
|
43
42
|
pyhw/backend/nic/nicBase.py,sha256=Kng5qoe7FHcnQaf6S-LUe_HyOaBJe0L1SVstdIQ_WJY,962
|
44
43
|
pyhw/backend/nic/nicInfo.py,sha256=wuBuL-aIzD441IUDPGz5e0xctcZ-opdpgqkVxgbvZLg,133
|
45
|
-
pyhw/backend/nic/windows.py,sha256=
|
46
|
-
pyhw/backend/npu/__init__.py,sha256=
|
44
|
+
pyhw/backend/nic/windows.py,sha256=78a-7SsZFaXgNZ29QAMzDWYBIOZMLVsM5bAaX6Bs5hs,1189
|
45
|
+
pyhw/backend/npu/__init__.py,sha256=GP8IxlDyt0NWg70S8w-WWej4uVXY6eQwE0fMWFSVZPU,57
|
47
46
|
pyhw/backend/npu/bsd.py,sha256=eKkOWZ4MBybR_KOGGcsWUpzCGgghhvuBy5VNsnEE8cI,134
|
48
47
|
pyhw/backend/npu/linux.py,sha256=fPsaXClSC-Py2kHRi17y4eGWrjwRDmjsIX4lgMxRVPc,1806
|
49
|
-
pyhw/backend/npu/macos.py,sha256=
|
48
|
+
pyhw/backend/npu/macos.py,sha256=JBmqZAbGTPzCxpUVmlPBNoluLClXnQDHJwhC2Qqp3v4,2665
|
50
49
|
pyhw/backend/npu/npuBase.py,sha256=1cVWRmr8g-mDXrJAx2cUO4qWZft2TtT7L2-HzRot2nI,748
|
51
|
-
pyhw/backend/npu/npuInfo.py,sha256=
|
52
|
-
pyhw/backend/npu/windows.py,sha256=
|
53
|
-
pyhw/backend/os/__init__.py,sha256=
|
54
|
-
pyhw/backend/os/bsd.py,sha256=
|
55
|
-
pyhw/backend/os/linux.py,sha256=
|
56
|
-
pyhw/backend/os/macos.py,sha256=
|
50
|
+
pyhw/backend/npu/npuInfo.py,sha256=WCr8y1zVrIk1rVgU6PG509nn0wxxRPV14F9_VRngT3k,133
|
51
|
+
pyhw/backend/npu/windows.py,sha256=jyTZiSqKzfyKRbzS-SgGxx0dKoHwo8gr8BlwBlxR58o,1194
|
52
|
+
pyhw/backend/os/__init__.py,sha256=RMKN332tsAhn_EiReoCq9NOmp4po5uZyaGNzpKS_ZZs,54
|
53
|
+
pyhw/backend/os/bsd.py,sha256=RtRh_8tKHCVikGwhKGXSDqM9sqbCJJQehJMEmZ9kJOs,130
|
54
|
+
pyhw/backend/os/linux.py,sha256=SbwNLMAUr3exJY54nmSuVkZAtOxWDVFNsS55pAO8x4k,1937
|
55
|
+
pyhw/backend/os/macos.py,sha256=WsB0y1Q5cmT4RMLyMGffJFoHHIkdQ6ZKZM09_rMC854,1905
|
57
56
|
pyhw/backend/os/osBase.py,sha256=2zaOGhaXLrNJS9-9qR4hH9_uFTgA2Sv4ab7YZvNVFaE,744
|
58
57
|
pyhw/backend/os/osInfo.py,sha256=NEr76aicI9N3SFrwi1skcpUEjzsyCryTjdE9X1nBjBM,536
|
59
|
-
pyhw/backend/os/windows.py,sha256=
|
60
|
-
pyhw/backend/shell/__init__.py,sha256=
|
58
|
+
pyhw/backend/os/windows.py,sha256=4qTYaQY19BiCIpmtHkp53yvChuYzlDmynbgICwHyfl8,1468
|
59
|
+
pyhw/backend/shell/__init__.py,sha256=AwQP09JBRaC_nAkaaplFIc9dWqfoSSGI60ED16B6hpU,63
|
61
60
|
pyhw/backend/shell/shellBase.py,sha256=829rchiqXfyA-oKT81mkGGoKBjZflM5NHIRs0_ZSwaY,531
|
62
61
|
pyhw/backend/shell/shellInfo.py,sha256=8Z2geV-2agtpKQl1OJ58cdiEiyVsCbC59AL3MgYnY_E,261
|
63
|
-
pyhw/backend/shell/unix.py,sha256=
|
64
|
-
pyhw/backend/shell/windows.py,sha256=
|
65
|
-
pyhw/backend/title/__init__.py,sha256=
|
62
|
+
pyhw/backend/shell/unix.py,sha256=kpw1eT3bwgbAgeDtykSwe8P0u7SGAxEQvTHgqSZcDbg,1983
|
63
|
+
pyhw/backend/shell/windows.py,sha256=Bcma2hMMgUh53e45nLa54uvkJDGrMZcAr5cnns_1Bsw,1619
|
64
|
+
pyhw/backend/title/__init__.py,sha256=QDlB894-Z70615FYamu8ZBx-9GszSwiUfpaVefWOC9U,63
|
66
65
|
pyhw/backend/title/titleBase.py,sha256=RVWwtTea8G1MutrN3Ttkjky9wwVtRxnHIsOJKpBbvF8,519
|
67
66
|
pyhw/backend/title/titleInfo.py,sha256=lUsbQNx80MLHuSCgMzWhc72mj0ykcRuWngn9wydYSos,166
|
68
|
-
pyhw/backend/title/unix.py,sha256=
|
69
|
-
pyhw/backend/title/windows.py,sha256=
|
70
|
-
pyhw/backend/uptime/__init__.py,sha256=
|
71
|
-
pyhw/backend/uptime/bsd.py,sha256=
|
72
|
-
pyhw/backend/uptime/linux.py,sha256=
|
73
|
-
pyhw/backend/uptime/macos.py,sha256=
|
67
|
+
pyhw/backend/title/unix.py,sha256=gFbB5rCNeX5cc9huedBW9dLzMqMlvw3saUwBKHNDbWM,728
|
68
|
+
pyhw/backend/title/windows.py,sha256=iRNf7UM5kbBw4Y6oDOGoNtXYcHjJjS3j6dWiS4fxlKg,410
|
69
|
+
pyhw/backend/uptime/__init__.py,sha256=XvsmFMCAEl92zyOBWuquO-7qrhknYeNnSqzWK1vfc6M,66
|
70
|
+
pyhw/backend/uptime/bsd.py,sha256=LITpF2CKbnHUzv8a3xg5_nZnsymC3sZ_E0OblswrjHc,146
|
71
|
+
pyhw/backend/uptime/linux.py,sha256=i4F69P5Na3i-KPPbhdpqtqhRGdi09CslSthYiqWCdws,1013
|
72
|
+
pyhw/backend/uptime/macos.py,sha256=4T3wvmh2jIEhdW9PtNx3GmyE2VOwl7IeF2L1Y6tKxZw,1298
|
74
73
|
pyhw/backend/uptime/uptimeBase.py,sha256=HVRFZHO-2F_UKH0ti9wR16iHCH7Q8dga0HfxFxUEUck,959
|
75
74
|
pyhw/backend/uptime/uptimeInfo.py,sha256=TobPEV3MBT3Fiv3W6TOzD3a4MNW-vz2Oi_Trlcihu7k,114
|
76
|
-
pyhw/backend/uptime/windows.py,sha256=
|
77
|
-
pyhw/frontend/__init__.py,sha256=
|
78
|
-
pyhw/frontend/frontendBase.py,sha256=
|
79
|
-
pyhw/frontend/color/__init__.py,sha256=
|
75
|
+
pyhw/backend/uptime/windows.py,sha256=JP6Co-V_fljOEMEkydNKDJ7OY7LGhtWf8IRLuIb6F4I,1742
|
76
|
+
pyhw/frontend/__init__.py,sha256=jKkL3EvL069POGesru6FUlsMhW8AxiaVAErubWRFXE8,58
|
77
|
+
pyhw/frontend/frontendBase.py,sha256=qRZOF5iTVgnzKBEKr4Kat1-Oowy-bRa6oOZu40ADUxo,5032
|
78
|
+
pyhw/frontend/color/__init__.py,sha256=uPtOM76b_b9F85AgYDyoOGNKeUHGpZnT752g_kCUVng,192
|
80
79
|
pyhw/frontend/color/colorConfig.py,sha256=ReCR3IR6K1c28Tkf3uFg74mSzCMqXmUniegRiyGeq_w,7752
|
81
80
|
pyhw/frontend/color/colorSet.py,sha256=spH8PlRu7capouf-yUgDHgoPCnM5aJ_ncascISZfz2g,1421
|
82
81
|
pyhw/frontend/color/colorUtil.py,sha256=VhcPmAJmXGIiRBfVZE2jg_iy-SfbxqwOSvkRz-nbUOQ,94
|
83
|
-
pyhw/frontend/logo/__init__.py,sha256=
|
84
|
-
pyhw/frontend/logo/logoBase.py,sha256=
|
82
|
+
pyhw/frontend/logo/__init__.py,sha256=RQS1YxPed_dEOtYg0Z1IHrbA0vkfqQpKJr8zRu-nrFY,48
|
83
|
+
pyhw/frontend/logo/logoBase.py,sha256=Y1MtxxC1AKWONpegnfEeNah_1-uD1bENyInqMo1wbzk,633
|
85
84
|
pyhw/frontend/logo/ascii/alpine.pyhw,sha256=uolPBXOkWOtBDmfzTSD9NZLaJN-qGFymIn_NQQbzl_U,65
|
86
85
|
pyhw/frontend/logo/ascii/arch.pyhw,sha256=tnDJqb0-cUw6EujObkjhRTtTlD51pTSEYJwowbhEvKE,1078
|
87
86
|
pyhw/frontend/logo/ascii/armbian.pyhw,sha256=Cg8tFIMdHdHLMlQrKm902C4OStKKHnCkDykNxbaSpfA,773
|
@@ -106,16 +105,19 @@ pyhw/frontend/logo/ascii/windows_2025.pyhw,sha256=o8eWsiyhNpDoEjiWFiBMfkd-8MdIsl
|
|
106
105
|
pyhw/frontend/logo/ascii/windows_old.pyhw,sha256=AMsvWAZ50HM8lweWEmzDWbRNDGkKFJo9qLY_VRKrciY,580
|
107
106
|
pyhw/library/lib/iokitGPULib.dylib,sha256=1T6nWbzwmDwH4Tu7U2Pka_7ikjIz6xfGBBvC5ejv0SQ,154552
|
108
107
|
pyhw/library/lib/iokitHostLib.dylib,sha256=0sdPRA-dtogsgPEgb-VN32on6oIJMT9PmRZ0whRpQE0,149256
|
108
|
+
pyhw/library/lib/nvmlGPULib_amd64.so,sha256=lrkxeJjChUs8oVhaw_uMeXKbUJp24KroQ_hhcLtHfTg,12784
|
109
|
+
pyhw/library/lib/nvmlGPULib_arm64.so,sha256=DFIYqNcuRxiZ8_jrYoaRB3Dx9GrY7UBXscwXQvV4k3I,13528
|
109
110
|
pyhw/library/test/iokitHostLibTest.py,sha256=oz5x1g4WMdoikU3Eo6zoxcHZ4e-UMRhXg0C0Lflo-ac,272
|
110
|
-
pyhw/
|
111
|
+
pyhw/library/test/nvmlGPULibTest.py,sha256=F4AjQGZDNj29fRtxvy41zCSFi2Eirp0CQSYuxuw0n60,785
|
112
|
+
pyhw/pyhwException/__init__.py,sha256=juw4PdgPa-eLy0y678BQ7_Ck-BJa-P0LHyKCGePazb8,221
|
111
113
|
pyhw/pyhwException/pyhwException.py,sha256=wxuzFQa9g7XB1q9TUKO_55lw7wMEJMpzG8w1GVTFVa0,197
|
112
|
-
pyhw/pyhwUtil/__init__.py,sha256=
|
113
|
-
pyhw/pyhwUtil/cliUtil.py,sha256=
|
114
|
-
pyhw/pyhwUtil/pyhwUtil.py,sha256=
|
114
|
+
pyhw/pyhwUtil/__init__.py,sha256=n3jWo-q-jSouXvUHMg45DOHS5xLRG64E02A9rDQb44M,323
|
115
|
+
pyhw/pyhwUtil/cliUtil.py,sha256=_zNrhzQvrtqUp6xyZ0JTs_KyL1wvLji-nBmU65XA1aI,2342
|
116
|
+
pyhw/pyhwUtil/pyhwUtil.py,sha256=_eUOHcuUqPHYuecDf0nEdF2GRuRJhW99MqYSJyZ4KUA,8270
|
115
117
|
pyhw/pyhwUtil/sysctlUtil.py,sha256=S-rUvqi7ZrMyMouIhxlyHEQ4agM7sCT1Y7uzs3Hu5-o,841
|
116
|
-
pyhw-0.12.
|
117
|
-
pyhw-0.12.
|
118
|
-
pyhw-0.12.
|
119
|
-
pyhw-0.12.
|
120
|
-
pyhw-0.12.
|
121
|
-
pyhw-0.12.
|
118
|
+
pyhw-0.12.4.dist-info/licenses/LICENSE,sha256=hJs6RBqSVCexbTsalkMLNFI5t06kekQEsSVaOt_-yLs,1497
|
119
|
+
pyhw-0.12.4.dist-info/METADATA,sha256=FW756VzCh8TiNnpFspu1ZAuCp9AMXZ1CtVT-nSXMLSI,6893
|
120
|
+
pyhw-0.12.4.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
|
121
|
+
pyhw-0.12.4.dist-info/entry_points.txt,sha256=q-AB8im_QahpmNrmy4aPTJRGi0LlbNlnI3kF7s6pKss,44
|
122
|
+
pyhw-0.12.4.dist-info/top_level.txt,sha256=7Inxvxt1TngEricKZEex9_WJZS3DbKYFUXDz4v5WHYU,5
|
123
|
+
pyhw-0.12.4.dist-info/RECORD,,
|
pyhw/backend/metal/t.py
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
import ctypes
|
2
|
-
|
3
|
-
|
4
|
-
mylib = ctypes.CDLL('./metalGPULib.dylib')
|
5
|
-
|
6
|
-
mylib.backend_init.argtypes = []
|
7
|
-
mylib.backend_init.restype = None
|
8
|
-
|
9
|
-
mylib.get_default_device_name.argtypes = []
|
10
|
-
mylib.get_default_device_name.restype = ctypes.c_char_p
|
11
|
-
|
12
|
-
|
13
|
-
# Call the function
|
14
|
-
mylib.backend_init()
|
15
|
-
device_name = mylib.get_default_device_name()
|
16
|
-
|
17
|
-
# Print the result
|
18
|
-
print(f"Device Name: {device_name.decode('utf-8')}")
|
19
|
-
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|