pyhw 0.15.0__tar.gz → 0.15.2__tar.gz
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-0.15.0/src/pyhw.egg-info → pyhw-0.15.2}/PKG-INFO +2 -2
- {pyhw-0.15.0 → pyhw-0.15.2}/pyproject.toml +2 -2
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/__init__.py +1 -1
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/frontend/frontendBase.py +76 -15
- {pyhw-0.15.0 → pyhw-0.15.2/src/pyhw.egg-info}/PKG-INFO +2 -2
- pyhw-0.15.2/src/pyhw.egg-info/requires.txt +1 -0
- pyhw-0.15.0/src/pyhw.egg-info/requires.txt +0 -1
- {pyhw-0.15.0 → pyhw-0.15.2}/LICENSE +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/README.md +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/setup.cfg +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/__main__.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/__init__.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/backendBase.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/cpu/__init__.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/cpu/bsd.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/cpu/cpuBase.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/cpu/cpuInfo.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/cpu/linux.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/cpu/macos.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/cpu/windows.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/gpu/__init__.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/gpu/bsd.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/gpu/gpuBase.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/gpu/gpuInfo.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/gpu/linux.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/gpu/macos.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/gpu/windows.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/host/__init__.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/host/bsd.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/host/hostBase.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/host/hostInfo.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/host/linux.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/host/macos.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/host/windows.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/kernel/__init__.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/kernel/kernelBase.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/kernel/kernelInfo.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/kernel/unix.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/kernel/windows.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/memory/__init__.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/memory/bsd.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/memory/linux.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/memory/macos.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/memory/memoryBase.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/memory/memoryInfo.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/memory/windows.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/nic/__init__.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/nic/bsd.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/nic/linux.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/nic/macos.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/nic/nicBase.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/nic/nicInfo.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/nic/windows.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/npu/__init__.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/npu/bsd.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/npu/linux.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/npu/macos.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/npu/npuBase.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/npu/npuInfo.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/npu/windows.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/os/__init__.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/os/bsd.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/os/linux.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/os/macos.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/os/osBase.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/os/osInfo.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/os/windows.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/shell/__init__.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/shell/shellBase.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/shell/shellInfo.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/shell/unix.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/shell/windows.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/title/__init__.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/title/titleBase.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/title/titleInfo.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/title/unix.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/title/windows.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/uptime/__init__.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/uptime/bsd.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/uptime/linux.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/uptime/macos.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/uptime/uptimeBase.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/uptime/uptimeInfo.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/backend/uptime/windows.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/frontend/__init__.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/frontend/color/__init__.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/frontend/color/colorConfig.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/frontend/color/colorSet.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/frontend/color/colorUtil.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/frontend/logo/__init__.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/frontend/logo/ascii/alpine.pyhw +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/frontend/logo/ascii/arch.pyhw +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/frontend/logo/ascii/armbian.pyhw +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/frontend/logo/ascii/centos.pyhw +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/frontend/logo/ascii/debian.pyhw +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/frontend/logo/ascii/fedora.pyhw +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/frontend/logo/ascii/fedora_small.pyhw +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/frontend/logo/ascii/freebsd.pyhw +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/frontend/logo/ascii/kali.pyhw +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/frontend/logo/ascii/linux.pyhw +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/frontend/logo/ascii/linuxmint.pyhw +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/frontend/logo/ascii/macOS.pyhw +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/frontend/logo/ascii/opensuse-leap.pyhw +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/frontend/logo/ascii/opensuse-tumbleweed.pyhw +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/frontend/logo/ascii/raspbian.pyhw +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/frontend/logo/ascii/rhel.pyhw +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/frontend/logo/ascii/ubuntu.pyhw +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/frontend/logo/ascii/ubuntu_small.pyhw +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/frontend/logo/ascii/windows_10.pyhw +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/frontend/logo/ascii/windows_11.pyhw +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/frontend/logo/ascii/windows_2025.pyhw +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/frontend/logo/ascii/windows_old.pyhw +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/frontend/logo/logoBase.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/library/lib/iokitCPULib.dylib +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/library/lib/iokitGPULib.dylib +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/library/lib/iokitHostLib.dylib +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/library/lib/iokitNICLib.dylib +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/library/lib/nvmlGPULib_amd64.so +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/library/lib/nvmlGPULib_arm64.so +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/library/test/iokitCPULibTest.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/library/test/iokitGPULibTest.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/library/test/iokitHostLibTest.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/library/test/iokitNICLibTest.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/library/test/nvmlGPULibTest.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/pyhwException/__init__.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/pyhwException/pyhwException.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/pyhwUtil/__init__.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/pyhwUtil/cliUtil.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/pyhwUtil/pciUtil.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/pyhwUtil/pyhwUtil.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw/pyhwUtil/sysctlUtil.py +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw.egg-info/SOURCES.txt +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw.egg-info/dependency_links.txt +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw.egg-info/entry_points.txt +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/src/pyhw.egg-info/top_level.txt +0 -0
- {pyhw-0.15.0 → pyhw-0.15.2}/test/test_cliUtil.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pyhw
|
|
3
|
-
Version: 0.15.
|
|
3
|
+
Version: 0.15.2
|
|
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>
|
|
@@ -13,7 +13,7 @@ Classifier: Operating System :: OS Independent
|
|
|
13
13
|
Requires-Python: >=3.9
|
|
14
14
|
Description-Content-Type: text/markdown
|
|
15
15
|
License-File: LICENSE
|
|
16
|
-
Requires-Dist: pypci-ng>=0.2.
|
|
16
|
+
Requires-Dist: pypci-ng>=0.2.7
|
|
17
17
|
Dynamic: license-file
|
|
18
18
|
|
|
19
19
|
# PyHw, a neofetch-like system information fetching tool
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "pyhw"
|
|
7
|
-
version = "0.15.
|
|
7
|
+
version = "0.15.2"
|
|
8
8
|
description = "PyHw, a neofetch-like command line tool for fetching system information but written mostly in python."
|
|
9
9
|
keywords = ["neofetch", "system information", "command line tool", "python", "hardware information", "fastfetch", "fetching"]
|
|
10
10
|
authors = [
|
|
@@ -17,7 +17,7 @@ readme = "README.md"
|
|
|
17
17
|
license = "BSD-3-Clause"
|
|
18
18
|
requires-python = ">=3.9"
|
|
19
19
|
dependencies = [
|
|
20
|
-
"pypci-ng>=0.2.
|
|
20
|
+
"pypci-ng>=0.2.7"
|
|
21
21
|
]
|
|
22
22
|
classifiers = [
|
|
23
23
|
"Development Status :: 4 - Beta",
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
__version__ = '0.15.
|
|
1
|
+
__version__ = '0.15.2'
|
|
2
2
|
__author__ = 'xiaoran007'
|
|
@@ -4,6 +4,7 @@ from ..pyhwUtil import getOS
|
|
|
4
4
|
from ..pyhwException import BackendException
|
|
5
5
|
import subprocess
|
|
6
6
|
import re
|
|
7
|
+
import os
|
|
7
8
|
|
|
8
9
|
|
|
9
10
|
class Printer:
|
|
@@ -40,31 +41,91 @@ class Printer:
|
|
|
40
41
|
print("\n".join(self.__combined_lines))
|
|
41
42
|
|
|
42
43
|
def __dropLongString(self):
|
|
43
|
-
|
|
44
|
-
|
|
44
|
+
"""
|
|
45
|
+
Truncate lines that exceed terminal width, accounting for ANSI escape sequences.
|
|
46
|
+
ANSI escape sequences don't contribute to visible width but are counted by len().
|
|
47
|
+
Enabled on both Linux and macOS.
|
|
48
|
+
"""
|
|
49
|
+
if getOS() in ["linux", "macos"]:
|
|
45
50
|
fixed_lines = list()
|
|
46
51
|
for line in self.__combined_lines:
|
|
47
|
-
|
|
48
|
-
|
|
52
|
+
visible_length = self.__getVisibleLength(line)
|
|
53
|
+
if visible_length > self.__columns:
|
|
54
|
+
truncated_line = self.__truncateToWidth(line, self.__columns)
|
|
55
|
+
fixed_lines.append(truncated_line)
|
|
49
56
|
else:
|
|
50
57
|
fixed_lines.append(line)
|
|
51
58
|
self.__combined_lines = fixed_lines
|
|
52
59
|
else:
|
|
53
60
|
pass
|
|
54
61
|
|
|
62
|
+
@staticmethod
|
|
63
|
+
def __getVisibleLength(text: str) -> int:
|
|
64
|
+
"""
|
|
65
|
+
Calculate the visible length of a string, excluding ANSI escape sequences.
|
|
66
|
+
ANSI codes follow the pattern: \033[...m
|
|
67
|
+
"""
|
|
68
|
+
ansi_pattern = re.compile(r'\033\[[0-9;]*m')
|
|
69
|
+
clean_text = ansi_pattern.sub('', text)
|
|
70
|
+
return len(clean_text)
|
|
71
|
+
|
|
72
|
+
@staticmethod
|
|
73
|
+
def __truncateToWidth(text: str, max_width: int) -> str:
|
|
74
|
+
"""
|
|
75
|
+
Truncate a string to a maximum visible width while preserving ANSI escape sequences.
|
|
76
|
+
Ensures proper color reset at the end if truncated.
|
|
77
|
+
"""
|
|
78
|
+
ansi_pattern = re.compile(r'(\033\[[0-9;]*m)')
|
|
79
|
+
parts = ansi_pattern.split(text)
|
|
80
|
+
|
|
81
|
+
result = []
|
|
82
|
+
visible_count = 0
|
|
83
|
+
|
|
84
|
+
for part in parts:
|
|
85
|
+
if ansi_pattern.match(part):
|
|
86
|
+
result.append(part)
|
|
87
|
+
else:
|
|
88
|
+
remaining = max_width - visible_count
|
|
89
|
+
if remaining <= 0:
|
|
90
|
+
break
|
|
91
|
+
if len(part) <= remaining:
|
|
92
|
+
result.append(part)
|
|
93
|
+
visible_count += len(part)
|
|
94
|
+
else:
|
|
95
|
+
result.append(part[:remaining])
|
|
96
|
+
visible_count += remaining
|
|
97
|
+
break
|
|
98
|
+
|
|
99
|
+
truncated = ''.join(result)
|
|
100
|
+
if not truncated.endswith('\033[0m'):
|
|
101
|
+
truncated += '\033[0m'
|
|
102
|
+
|
|
103
|
+
return truncated
|
|
104
|
+
|
|
55
105
|
@staticmethod
|
|
56
106
|
def __getColumns() -> int:
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
columns =
|
|
67
|
-
|
|
107
|
+
try:
|
|
108
|
+
columns = os.get_terminal_size().columns
|
|
109
|
+
return columns
|
|
110
|
+
except (OSError, AttributeError):
|
|
111
|
+
pass
|
|
112
|
+
|
|
113
|
+
try:
|
|
114
|
+
result = subprocess.run(['stty', 'size'], capture_output=True, text=True, check=True)
|
|
115
|
+
_, columns_str = result.stdout.strip().split()
|
|
116
|
+
columns = int(columns_str)
|
|
117
|
+
return columns
|
|
118
|
+
except (subprocess.CalledProcessError, ValueError, FileNotFoundError):
|
|
119
|
+
pass
|
|
120
|
+
|
|
121
|
+
try:
|
|
122
|
+
columns = int(os.environ.get('COLUMNS', 0))
|
|
123
|
+
if columns > 0:
|
|
124
|
+
return columns
|
|
125
|
+
except (ValueError, TypeError):
|
|
126
|
+
pass
|
|
127
|
+
|
|
128
|
+
return 80
|
|
68
129
|
|
|
69
130
|
def __LogoPreprocess(self):
|
|
70
131
|
global_color = self.__config.get("colors")[0]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pyhw
|
|
3
|
-
Version: 0.15.
|
|
3
|
+
Version: 0.15.2
|
|
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>
|
|
@@ -13,7 +13,7 @@ Classifier: Operating System :: OS Independent
|
|
|
13
13
|
Requires-Python: >=3.9
|
|
14
14
|
Description-Content-Type: text/markdown
|
|
15
15
|
License-File: LICENSE
|
|
16
|
-
Requires-Dist: pypci-ng>=0.2.
|
|
16
|
+
Requires-Dist: pypci-ng>=0.2.7
|
|
17
17
|
Dynamic: license-file
|
|
18
18
|
|
|
19
19
|
# PyHw, a neofetch-like system information fetching tool
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
pypci-ng>=0.2.7
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
pypci-ng>=0.2.6
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|