pyhw 0.13.4__py3-none-any.whl → 0.14.1__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 CHANGED
@@ -1,2 +1,2 @@
1
- __version__ = '0.13.4'
1
+ __version__ = '0.14.1'
2
2
  __author__ = 'xiaoran007'
pyhw/__main__.py CHANGED
@@ -17,6 +17,26 @@ from .pyhwUtil import ReleaseChecker
17
17
  from .frontend.color import colorPrefix, colorSuffix, ColorSet
18
18
  import multiprocessing
19
19
  import argparse
20
+ import time
21
+ import functools
22
+
23
+
24
+ def timed_function(func):
25
+ @functools.wraps(func)
26
+ def wrapper(debug_info, os, result_dict):
27
+ if not debug_info.get('debug', False):
28
+ return func(debug_info, os, result_dict)
29
+
30
+ start_time = time.time()
31
+ result = func(debug_info, os, result_dict)
32
+ elapsed = time.time() - start_time
33
+ debug_dict = debug_info.get('debug_dict', {})
34
+ if debug_dict is not None:
35
+ debug_dict[func.__name__] = elapsed
36
+ return result
37
+
38
+ wrapper.__module__ = func.__module__
39
+ return wrapper
20
40
 
21
41
 
22
42
  def check_release(release_dict):
@@ -27,64 +47,83 @@ def check_release(release_dict):
27
47
  release_dict["is_in_pipx"] = releaseChecker.isInPIPX
28
48
 
29
49
 
30
- def detect_title(os, result_dict):
50
+ @timed_function
51
+ def detect_title(debug_info, os, result_dict):
31
52
  result_dict["title"] = TitleDetect(os=os).getTitle().title
32
53
 
33
54
 
34
- def detect_host(os, result_dict):
55
+ @timed_function
56
+ def detect_host(debug_info, os, result_dict):
35
57
  result_dict["Host"] = HostDetect(os=os).getHostInfo().model
36
58
 
37
59
 
38
- def detect_kernel(os, result_dict):
60
+ @timed_function
61
+ def detect_kernel(debug_info, os, result_dict):
39
62
  result_dict["Kernel"] = KernelDetect(os=os).getKernelInfo().kernel
40
63
 
41
64
 
42
- def detect_shell(os, result_dict):
65
+ @timed_function
66
+ def detect_shell(debug_info, os, result_dict):
43
67
  result_dict["Shell"] = ShellDetect(os=os).getShellInfo().info
44
68
 
45
69
 
46
- def detect_uptime(os, result_dict):
70
+ @timed_function
71
+ def detect_uptime(debug_info, os, result_dict):
47
72
  result_dict["Uptime"] = UptimeDetect(os=os).getUptime().uptime
48
73
 
49
74
 
50
- def detect_os(os, result_dict):
75
+ @timed_function
76
+ def detect_os(debug_info, os, result_dict):
51
77
  result_dict["OS"] = OSDetect(os=os).getOSInfo().prettyName
52
78
 
53
79
 
54
- def detect_cpu(os, result_dict):
80
+ @timed_function
81
+ def detect_cpu(debug_info, os, result_dict):
55
82
  result_dict["CPU"] = CPUDetect(os=os).getCPUInfo().cpu
56
83
 
57
84
 
58
- def detect_gpu(os, result_dict):
85
+ @timed_function
86
+ def detect_gpu(debug_info, os, result_dict):
59
87
  gpu_info = GPUDetect(os=os).getGPUInfo()
60
88
  if gpu_info.number > 0:
61
89
  result_dict["GPU"] = gpu_info.gpus
62
90
 
63
91
 
64
- def detect_memory(os, result_dict):
92
+ @timed_function
93
+ def detect_memory(debug_info, os, result_dict):
65
94
  result_dict["Memory"] = MemoryDetect(os=os).getMemoryInfo().memory
66
95
 
67
96
 
68
- def detect_nic(os, result_dict):
97
+ @timed_function
98
+ def detect_nic(debug_info, os, result_dict):
69
99
  nic_info = NICDetect(os=os).getNICInfo()
70
100
  if nic_info.number > 0:
71
101
  result_dict["NIC"] = nic_info.nics
72
102
 
73
103
 
74
- def detect_npu(os, result_dict):
104
+ @timed_function
105
+ def detect_npu(debug_info, os, result_dict):
75
106
  npu_info = NPUDetect(os=os).getNPUInfo()
76
107
  if npu_info.number > 0:
77
108
  result_dict["NPU"] = npu_info.npus
78
109
 
79
110
 
111
+ @timed_function
112
+ def detect_pci_related(debug_info, os, result_dict):
113
+ detect_gpu(debug_info, os, result_dict)
114
+ detect_nic(debug_info, os, result_dict)
115
+ detect_npu(debug_info, os, result_dict)
116
+
117
+
80
118
  def print_version():
81
- releaseChecker = ReleaseChecker()
119
+ releaseChecker = ReleaseChecker(only_local=True)
82
120
  print(f"pyhw v{releaseChecker.CurrentVersion}")
83
121
 
84
122
 
85
123
  def main():
86
124
  parser = argparse.ArgumentParser(description='PyHw, a neofetch-like command line tool for fetching system information')
87
125
  parser.add_argument('-v', '--version', action='store_true', help='Print version information and exit')
126
+ parser.add_argument('-d', '--debug', action='store_true', help='Run in debug mode')
88
127
 
89
128
  args = parser.parse_args()
90
129
 
@@ -102,34 +141,48 @@ def main():
102
141
  manager = multiprocessing.Manager()
103
142
  result_dict = manager.dict()
104
143
  release_dict = manager.dict()
144
+ debug_dict = manager.dict() if args.debug else None
145
+ debug_info = {'debug': args.debug, 'debug_dict': debug_dict}
105
146
 
106
147
  processes = [
107
148
  multiprocessing.Process(target=check_release, args=(release_dict,)),
108
- multiprocessing.Process(target=detect_title, args=(current_os, result_dict)),
109
- multiprocessing.Process(target=detect_host, args=(current_os, result_dict)),
110
- multiprocessing.Process(target=detect_kernel, args=(current_os, result_dict)),
111
- multiprocessing.Process(target=detect_shell, args=(current_os, result_dict)),
112
- multiprocessing.Process(target=detect_uptime, args=(current_os, result_dict)),
113
- multiprocessing.Process(target=detect_os, args=(current_os, result_dict)),
114
- multiprocessing.Process(target=detect_cpu, args=(current_os, result_dict)),
115
- multiprocessing.Process(target=detect_gpu, args=(current_os, result_dict)),
116
- multiprocessing.Process(target=detect_memory, args=(current_os, result_dict)),
117
- multiprocessing.Process(target=detect_nic, args=(current_os, result_dict)),
118
- multiprocessing.Process(target=detect_npu, args=(current_os, result_dict)),
149
+ multiprocessing.Process(target=detect_title, args=(debug_info, current_os, result_dict)),
150
+ multiprocessing.Process(target=detect_host, args=(debug_info, current_os, result_dict)),
151
+ multiprocessing.Process(target=detect_kernel, args=(debug_info, current_os, result_dict)),
152
+ multiprocessing.Process(target=detect_shell, args=(debug_info, current_os, result_dict)),
153
+ multiprocessing.Process(target=detect_uptime, args=(debug_info, current_os, result_dict)),
154
+ multiprocessing.Process(target=detect_os, args=(debug_info, current_os, result_dict)),
155
+ multiprocessing.Process(target=detect_cpu, args=(debug_info, current_os, result_dict)),
156
+ multiprocessing.Process(target=detect_memory, args=(debug_info, current_os, result_dict)),
157
+ multiprocessing.Process(target=detect_pci_related, args=(debug_info, current_os, result_dict)),
119
158
  ]
120
159
 
160
+ start_time = time.time()
121
161
  for process in processes:
122
162
  process.start()
123
163
 
124
164
  for process in processes[1:]:
125
165
  process.join()
126
166
 
167
+ total_time = time.time() - start_time
168
+
127
169
  for key, value in result_dict.items():
128
170
  setattr(data, key, value)
129
171
 
130
172
  logo_os = selectOSLogo(OSDetect(os=current_os).getOSInfo().id)
131
173
  Printer(logo_os=logo_os, data=createDataString(data)).cPrint()
132
174
 
175
+ if args.debug:
176
+ print("\n" + "="*50)
177
+ print(f"🔍 DEBUG MODE: Timing Information")
178
+ print("="*50)
179
+ for func_name, elapsed in debug_dict.items():
180
+ detection_name = func_name.replace("detect_", "")
181
+ print(f"{detection_name:<10}: {elapsed:.4f} s")
182
+ print("-"*50)
183
+ print(f"Total execution time: {total_time:.4f} s")
184
+ print("="*50)
185
+
133
186
  timeout = 3
134
187
  processes[0].join(timeout)
135
188
  if processes[0].is_alive():
pyhw/backend/gpu/linux.py CHANGED
@@ -1,8 +1,8 @@
1
1
  from .gpuInfo import GPUInfo
2
2
  from ..cpu import CPUDetect
3
3
  from ...pyhwUtil import getArch
4
+ from ...pyhwUtil import PCIManager
4
5
  from pathlib import Path
5
- import pypci
6
6
  import ctypes
7
7
 
8
8
 
@@ -17,7 +17,7 @@ class GPUDetectLinux:
17
17
  return self.__gpuInfo
18
18
 
19
19
  def __getGPUInfo(self):
20
- gpu_devices = pypci.PCI().FindAllVGA()
20
+ gpu_devices = PCIManager.get_instance().FindAllVGA()
21
21
  if len(gpu_devices) == 0:
22
22
  self.__handleNonePciDevices()
23
23
  else:
@@ -1,5 +1,5 @@
1
1
  from .gpuInfo import GPUInfo
2
- import pypci
2
+ from ...pyhwUtil import PCIManager
3
3
 
4
4
 
5
5
  class GPUDetectWindows:
@@ -12,7 +12,7 @@ class GPUDetectWindows:
12
12
  return self.__gpuInfo
13
13
 
14
14
  def __getGPUInfo(self):
15
- gpu_devices = pypci.PCI().FindAllVGA()
15
+ gpu_devices = PCIManager.get_instance().FindAllVGA()
16
16
  if len(gpu_devices) == 0:
17
17
  self.__handleNonePciDevices()
18
18
  else:
pyhw/backend/nic/linux.py CHANGED
@@ -1,6 +1,6 @@
1
1
  import subprocess
2
2
  from .nicInfo import NICInfo
3
- import pypci
3
+ from ...pyhwUtil import PCIManager
4
4
  import os
5
5
 
6
6
 
@@ -14,7 +14,7 @@ class NICDetectLinux:
14
14
  return self._nicInfo
15
15
 
16
16
  def _getNICInfo(self):
17
- nic_devices = pypci.PCI().FindAllNIC()
17
+ nic_devices = PCIManager.get_instance().FindAllNIC()
18
18
  if len(nic_devices) == 0:
19
19
  self.__handleNonePciDevices()
20
20
  else:
@@ -1,5 +1,5 @@
1
1
  from .nicInfo import NICInfo
2
- import pypci
2
+ from ...pyhwUtil import PCIManager
3
3
 
4
4
 
5
5
  class NICDetectWindows:
@@ -12,7 +12,7 @@ class NICDetectWindows:
12
12
  return self._nicInfo
13
13
 
14
14
  def _getNICInfo(self):
15
- nic_devices = pypci.PCI().FindAllNIC()
15
+ nic_devices = PCIManager.get_instance().FindAllNIC()
16
16
  if len(nic_devices) == 0:
17
17
  self.__handleNonePciDevices()
18
18
  else:
pyhw/backend/npu/linux.py CHANGED
@@ -1,5 +1,5 @@
1
1
  from .npuInfo import NPUInfo
2
- import pypci
2
+ from ...pyhwUtil import PCIManager
3
3
  import os
4
4
 
5
5
 
@@ -13,7 +13,7 @@ class NPUDetectLinux:
13
13
  return self._npuInfo
14
14
 
15
15
  def _getNPUInfo(self):
16
- npu_devices = pypci.PCI().FindAllNPU()
16
+ npu_devices = PCIManager.get_instance().FindAllNPU()
17
17
  if len(npu_devices) == 0:
18
18
  self._handleNonePciDevices()
19
19
  else:
pyhw/backend/npu/macos.py CHANGED
@@ -44,20 +44,20 @@ class NPUDetectMacOS:
44
44
  # see https://apple.fandom.com/wiki/Neural_Engine for more details.
45
45
  model_name = CPUDetect(os=getOS()).getCPUInfo().model
46
46
  npu = {
47
- "Apple M1": "Apple Neural Engine 16 Cores (5nm) [SOC Integrated]",
48
- "Apple M1 Pro": "Apple Neural Engine 16 Cores (5nm) [SOC Integrated]",
49
- "Apple M1 Max": "Apple Neural Engine 16 Cores (5nm) [SOC Integrated]",
50
- "Apple M1 Ultra": "Apple Neural Engine 32 Cores (5nm) [SOC Integrated]",
51
- "Apple M2": "Apple Neural Engine 16 Cores (5nm) [SOC Integrated]",
52
- "Apple M2 Pro": "Apple Neural Engine 16 Cores (5nm) [SOC Integrated]",
53
- "Apple M2 Max": "Apple Neural Engine 16 Cores (5nm) [SOC Integrated]",
54
- "Apple M2 Ultra": "Apple Neural Engine 32 Cores (5nm) [SOC Integrated]",
55
- "Apple M3": "Apple Neural Engine 16 Cores (3nm) [SOC Integrated]",
56
- "Apple M3 Pro": "Apple Neural Engine 16 Cores (3nm) [SOC Integrated]",
57
- "Apple M3 Max": "Apple Neural Engine 16 Cores (3nm) [SOC Integrated]",
58
- "Apple M3 Ultra": "Apple Neural Engine 32 Cores (3nm) [SOC Integrated]",
59
- "Apple M4": "Apple Neural Engine 16 Cores (3nm) [SOC Integrated]",
60
- "Apple M4 Pro": "Apple Neural Engine 16 Cores (3nm) [SOC Integrated]",
61
- "Apple M4 Max": "Apple Neural Engine 16 Cores (3nm) [SOC Integrated]"
47
+ "Apple M1": "Apple Neural Engine 16 Cores (11 TOPS) [SOC Integrated]",
48
+ "Apple M1 Pro": "Apple Neural Engine 16 Cores (11 TOPS [SOC Integrated]",
49
+ "Apple M1 Max": "Apple Neural Engine 16 Cores (11 TOPS) [SOC Integrated]",
50
+ "Apple M1 Ultra": "Apple Neural Engine 32 Cores (22 TOPS) [SOC Integrated]",
51
+ "Apple M2": "Apple Neural Engine 16 Cores (15.8 TOPS) [SOC Integrated]",
52
+ "Apple M2 Pro": "Apple Neural Engine 16 Cores (15.8 TOPS) [SOC Integrated]",
53
+ "Apple M2 Max": "Apple Neural Engine 16 Cores (15.8 TOPS) [SOC Integrated]",
54
+ "Apple M2 Ultra": "Apple Neural Engine 32 Cores (31.6 TOPS) [SOC Integrated]",
55
+ "Apple M3": "Apple Neural Engine 16 Cores (18 TOPS) [SOC Integrated]",
56
+ "Apple M3 Pro": "Apple Neural Engine 16 Cores (18 TOPS) [SOC Integrated]",
57
+ "Apple M3 Max": "Apple Neural Engine 16 Cores (18 TOPS) [SOC Integrated]",
58
+ "Apple M3 Ultra": "Apple Neural Engine 32 Cores (36 TOPS) [SOC Integrated]",
59
+ "Apple M4": "Apple Neural Engine 16 Cores (38 TOPS) [SOC Integrated]",
60
+ "Apple M4 Pro": "Apple Neural Engine 16 Cores (38 TOPS) [SOC Integrated]",
61
+ "Apple M4 Max": "Apple Neural Engine 16 Cores (38 TOPS) [SOC Integrated]"
62
62
  }
63
63
  return npu.get(model_name, "Not Found")
@@ -1,5 +1,5 @@
1
1
  from .npuInfo import NPUInfo
2
- import pypci
2
+ from ...pyhwUtil import PCIManager
3
3
 
4
4
 
5
5
  class NPUDetectWindows:
@@ -12,7 +12,7 @@ class NPUDetectWindows:
12
12
  return self._npuInfo
13
13
 
14
14
  def _getNPUInfo(self):
15
- npu_devices = pypci.PCI().FindAllNPU()
15
+ npu_devices = PCIManager.get_instance().FindAllNPU()
16
16
  if len(npu_devices) == 0:
17
17
  self._handleNonePciDevices()
18
18
  else:
pyhw/pyhwUtil/__init__.py CHANGED
@@ -1,6 +1,16 @@
1
1
  from .pyhwUtil import getOS, getArch, getDocker, getWSL, createDataString, selectOSLogo
2
2
  from .sysctlUtil import sysctlGetString, sysctlGetInt
3
3
  from .cliUtil import ReleaseChecker
4
+ from .pciUtil import PCIManager
4
5
 
5
6
 
6
- __all__ = ["getOS", "getArch", "getDocker", "getWSL", "createDataString", "selectOSLogo", "sysctlGetString", "sysctlGetInt", "ReleaseChecker"]
7
+ __all__ = ["getOS",
8
+ "getArch",
9
+ "getDocker",
10
+ "getWSL",
11
+ "createDataString",
12
+ "selectOSLogo",
13
+ "sysctlGetString",
14
+ "sysctlGetInt",
15
+ "ReleaseChecker",
16
+ "PCIManager"]
pyhw/pyhwUtil/cliUtil.py CHANGED
@@ -12,13 +12,16 @@ class ReleaseChecker:
12
12
  """
13
13
  PACKAGE_NAME = "pyhw"
14
14
 
15
- def __init__(self):
15
+ def __init__(self, only_local=False):
16
16
  """
17
17
  Initialize the ReleaseChecker.
18
18
  """
19
19
  self.isInPIPX = self.__is_running_in_pipx()
20
20
  self.CurrentVersion = self.__get_installed_version()
21
- self.LatestVersion = self.__get_latest_version()
21
+ if only_local:
22
+ self.LatestVersion = self.CurrentVersion
23
+ else:
24
+ self.LatestVersion = self.__get_latest_version()
22
25
 
23
26
  @staticmethod
24
27
  def __is_running_in_pipx():
@@ -0,0 +1,11 @@
1
+ import pypci
2
+
3
+
4
+ class PCIManager:
5
+ _instance = None
6
+
7
+ @classmethod
8
+ def get_instance(cls):
9
+ if cls._instance is None:
10
+ cls._instance = pypci.PCI()
11
+ return cls._instance
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyhw
3
- Version: 0.13.4
3
+ Version: 0.14.1
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>
@@ -1,5 +1,5 @@
1
- pyhw/__init__.py,sha256=xxFswf8enN7kuEArYcxekQu970GRlfaYc-8QMH6xuEk,49
2
- pyhw/__main__.py,sha256=iy1nzJ7Z4wB_bMyDGOZgTUZZmOoAru7CxSzpm9SMNbs,5431
1
+ pyhw/__init__.py,sha256=vLCCfp6vkFGuTLWzKhiTL7svLlIrWaFlQfh5-mhr7yk,49
2
+ pyhw/__main__.py,sha256=_8lT1XlZNR71daSu1IWs5befhb8wocCT4xIx2aMp-1Q,7168
3
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
@@ -13,9 +13,9 @@ pyhw/backend/gpu/__init__.py,sha256=EpMjPvUaXt0LTNMvGmB8WgXbUB9keCxuOhu8NT3Re6o,
13
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=2UaTih2JrUKA5K-ZYZdx6oXdBHW3zkt1bnD9ZV5PKcg,3113
16
+ pyhw/backend/gpu/linux.py,sha256=myapmOCsfjBxSmXxGt33bCIN18ko5lNDKcNWQ1Vlhcg,3149
17
17
  pyhw/backend/gpu/macos.py,sha256=s-GZk_Q7K58nSOYuOIAYLRvLafwHyQtsWrPVe3CuXac,4068
18
- pyhw/backend/gpu/windows.py,sha256=9VlObAdcOXJyFFxHKHSnFdL07xiGZHNHwn6C843TfNg,1170
18
+ pyhw/backend/gpu/windows.py,sha256=kMCQmk_NLXus45iHM9eKYOno_LPBW1GsrwUy1v5ar3Q,1206
19
19
  pyhw/backend/host/__init__.py,sha256=OmlSGjg3crlFcGz2FhBDyd35R7H0rriy3eq57y8h0_s,59
20
20
  pyhw/backend/host/bsd.py,sha256=xePlHfVYv7PSWMU1a7mTbMK3mzl2ssttkI13Xi5s00w,381
21
21
  pyhw/backend/host/hostBase.py,sha256=gM49SY6rEaxec_0bUOMk7QlEfR7vjfWp3BXEUqgdncc,762
@@ -37,18 +37,18 @@ pyhw/backend/memory/memoryInfo.py,sha256=OQF165uEyuapAsi7cKacQYDRnKdrQHeldfyFwzS
37
37
  pyhw/backend/memory/windows.py,sha256=ISihGHBnV8iD4Xj8_kelFSCydPu05CYKxG5q_wM5ZbA,1201
38
38
  pyhw/backend/nic/__init__.py,sha256=eP4eOYIvMF3LcTf954hJa6TnB8R4Qahss2g-UcgypKY,57
39
39
  pyhw/backend/nic/bsd.py,sha256=6nj7XXII5dRz3FGRYAXVgTt0vSgyQo0Re9JA1vlcnuw,134
40
- pyhw/backend/nic/linux.py,sha256=99k_AJI46wRZ2TQOike2suOeI3eiVEfAve_G4Pyyq5s,1967
40
+ pyhw/backend/nic/linux.py,sha256=e6gX58RBE9IDKb0FrzZ7U2EhDNfGJsR6OvXq6qO5ZOc,2003
41
41
  pyhw/backend/nic/macos.py,sha256=J1hO7FxpQpi98Kx9EmUf5Q4_GxE8xMvb6R5Ok861V8E,853
42
42
  pyhw/backend/nic/nicBase.py,sha256=Kng5qoe7FHcnQaf6S-LUe_HyOaBJe0L1SVstdIQ_WJY,962
43
43
  pyhw/backend/nic/nicInfo.py,sha256=wuBuL-aIzD441IUDPGz5e0xctcZ-opdpgqkVxgbvZLg,133
44
- pyhw/backend/nic/windows.py,sha256=78a-7SsZFaXgNZ29QAMzDWYBIOZMLVsM5bAaX6Bs5hs,1189
44
+ pyhw/backend/nic/windows.py,sha256=4yJ0pmiXokegLEC299WLwqiW9uHAgaiVpkR2vCuzECg,1225
45
45
  pyhw/backend/npu/__init__.py,sha256=GP8IxlDyt0NWg70S8w-WWej4uVXY6eQwE0fMWFSVZPU,57
46
46
  pyhw/backend/npu/bsd.py,sha256=eKkOWZ4MBybR_KOGGcsWUpzCGgghhvuBy5VNsnEE8cI,134
47
- pyhw/backend/npu/linux.py,sha256=fPsaXClSC-Py2kHRi17y4eGWrjwRDmjsIX4lgMxRVPc,1806
48
- pyhw/backend/npu/macos.py,sha256=JBmqZAbGTPzCxpUVmlPBNoluLClXnQDHJwhC2Qqp3v4,2665
47
+ pyhw/backend/npu/linux.py,sha256=fLq3tPs1EUtTBYhFrh_10uRR8bouy7Cb0voWwz1GQbw,1842
48
+ pyhw/backend/npu/macos.py,sha256=mnEMQdAxgUSW-bVg18_SCIVcEeBQgFQBaTv4PxO7Iog,2732
49
49
  pyhw/backend/npu/npuBase.py,sha256=1cVWRmr8g-mDXrJAx2cUO4qWZft2TtT7L2-HzRot2nI,748
50
50
  pyhw/backend/npu/npuInfo.py,sha256=WCr8y1zVrIk1rVgU6PG509nn0wxxRPV14F9_VRngT3k,133
51
- pyhw/backend/npu/windows.py,sha256=jyTZiSqKzfyKRbzS-SgGxx0dKoHwo8gr8BlwBlxR58o,1194
51
+ pyhw/backend/npu/windows.py,sha256=NRzIdb1akFXh3rhThUaKE-7q3n9wkDIeVd9o2Od_LRw,1230
52
52
  pyhw/backend/os/__init__.py,sha256=RMKN332tsAhn_EiReoCq9NOmp4po5uZyaGNzpKS_ZZs,54
53
53
  pyhw/backend/os/bsd.py,sha256=RtRh_8tKHCVikGwhKGXSDqM9sqbCJJQehJMEmZ9kJOs,130
54
54
  pyhw/backend/os/linux.py,sha256=SbwNLMAUr3exJY54nmSuVkZAtOxWDVFNsS55pAO8x4k,1937
@@ -113,13 +113,14 @@ pyhw/library/test/iokitHostLibTest.py,sha256=oz5x1g4WMdoikU3Eo6zoxcHZ4e-UMRhXg0C
113
113
  pyhw/library/test/nvmlGPULibTest.py,sha256=F4AjQGZDNj29fRtxvy41zCSFi2Eirp0CQSYuxuw0n60,785
114
114
  pyhw/pyhwException/__init__.py,sha256=juw4PdgPa-eLy0y678BQ7_Ck-BJa-P0LHyKCGePazb8,221
115
115
  pyhw/pyhwException/pyhwException.py,sha256=wxuzFQa9g7XB1q9TUKO_55lw7wMEJMpzG8w1GVTFVa0,197
116
- pyhw/pyhwUtil/__init__.py,sha256=n3jWo-q-jSouXvUHMg45DOHS5xLRG64E02A9rDQb44M,323
117
- pyhw/pyhwUtil/cliUtil.py,sha256=_zNrhzQvrtqUp6xyZ0JTs_KyL1wvLji-nBmU65XA1aI,2342
116
+ pyhw/pyhwUtil/__init__.py,sha256=sfUSG2jnSsa8SIk1P9174PgCAYewjE1TyzBxxPNkGsA,468
117
+ pyhw/pyhwUtil/cliUtil.py,sha256=IUcWun5nDwQb20Qe8YefS5j3Jji8a-F41Qd9QwCf0h0,2454
118
+ pyhw/pyhwUtil/pciUtil.py,sha256=WAluDRDb-gUbqhvSIusFzPrf6r98EkrNEAwbPyMwrTc,202
118
119
  pyhw/pyhwUtil/pyhwUtil.py,sha256=V3M6X9eTirwnwwRiSJaLUWrZKZYMbRihARJVQc879P8,8364
119
120
  pyhw/pyhwUtil/sysctlUtil.py,sha256=S-rUvqi7ZrMyMouIhxlyHEQ4agM7sCT1Y7uzs3Hu5-o,841
120
- pyhw-0.13.4.dist-info/licenses/LICENSE,sha256=hJs6RBqSVCexbTsalkMLNFI5t06kekQEsSVaOt_-yLs,1497
121
- pyhw-0.13.4.dist-info/METADATA,sha256=BSaBljX207vWEU7JcnZVurvQDGfaA7hALkbUfRk5j94,7715
122
- pyhw-0.13.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
123
- pyhw-0.13.4.dist-info/entry_points.txt,sha256=q-AB8im_QahpmNrmy4aPTJRGi0LlbNlnI3kF7s6pKss,44
124
- pyhw-0.13.4.dist-info/top_level.txt,sha256=7Inxvxt1TngEricKZEex9_WJZS3DbKYFUXDz4v5WHYU,5
125
- pyhw-0.13.4.dist-info/RECORD,,
121
+ pyhw-0.14.1.dist-info/licenses/LICENSE,sha256=hJs6RBqSVCexbTsalkMLNFI5t06kekQEsSVaOt_-yLs,1497
122
+ pyhw-0.14.1.dist-info/METADATA,sha256=Hp0gBd0ADXGPYCifzHvy0BSo_yW7HIjblMKu10JAjmk,7715
123
+ pyhw-0.14.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
124
+ pyhw-0.14.1.dist-info/entry_points.txt,sha256=q-AB8im_QahpmNrmy4aPTJRGi0LlbNlnI3kF7s6pKss,44
125
+ pyhw-0.14.1.dist-info/top_level.txt,sha256=7Inxvxt1TngEricKZEex9_WJZS3DbKYFUXDz4v5WHYU,5
126
+ pyhw-0.14.1.dist-info/RECORD,,
File without changes