sysx-cli 1.0.0__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.
sysx_cli-1.0.0/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 maoxian3824
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,258 @@
1
+ Metadata-Version: 2.4
2
+ Name: sysx-cli
3
+ Version: 1.0.0
4
+ Summary: 轻量级系统信息与开发辅助 CLI 工具,纯标准库实现,零第三方依赖
5
+ Author-email: maoxian3824 <maoxian3824@users.noreply.github.com>
6
+ License-Expression: MIT
7
+ Project-URL: Homepage, https://github.com/maoxian3824/sysx
8
+ Project-URL: Repository, https://github.com/maoxian3824/sysx
9
+ Project-URL: Documentation, https://github.com/maoxian3824/sysx#readme
10
+ Project-URL: Changelog, https://github.com/maoxian3824/sysx/blob/master/CHANGELOG.md
11
+ Project-URL: Issues, https://github.com/maoxian3824/sysx/issues
12
+ Keywords: cli,system,monitoring,devops,procfs,sysinfo,console
13
+ Classifier: Development Status :: 5 - Production/Stable
14
+ Classifier: Environment :: Console
15
+ Classifier: Intended Audience :: Developers
16
+ Classifier: Intended Audience :: System Administrators
17
+ Classifier: Operating System :: POSIX :: Linux
18
+ Classifier: Operating System :: MacOS
19
+ Classifier: Programming Language :: Python :: 3
20
+ Classifier: Programming Language :: Python :: 3.8
21
+ Classifier: Programming Language :: Python :: 3.9
22
+ Classifier: Programming Language :: Python :: 3.10
23
+ Classifier: Programming Language :: Python :: 3.11
24
+ Classifier: Programming Language :: Python :: 3.12
25
+ Classifier: Topic :: System :: Monitoring
26
+ Classifier: Topic :: System :: Systems Administration
27
+ Classifier: Topic :: Utilities
28
+ Requires-Python: >=3.8
29
+ Description-Content-Type: text/markdown
30
+ License-File: LICENSE
31
+ Provides-Extra: dev
32
+ Requires-Dist: build>=1.0; extra == "dev"
33
+ Requires-Dist: twine>=5.0; extra == "dev"
34
+ Dynamic: license-file
35
+
36
+ # sysx
37
+
38
+ > 轻量级系统信息与开发辅助 CLI 工具 — 纯 Python 标准库实现,零第三方依赖。
39
+
40
+ [![Tests](https://github.com/maoxian3824/sysx/actions/workflows/test.yml/badge.svg)](https://github.com/maoxian3824/sysx/actions/workflows/test.yml)
41
+ [![PyPI](https://img.shields.io/pypi/v/sysx-cli.svg)](https://pypi.org/project/sysx-cli/)
42
+ [![Python](https://img.shields.io/badge/python-3.8%2B-blue.svg)](https://www.python.org/)
43
+ [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
44
+ [![Dependencies](https://img.shields.io/badge/dependencies-none-brightgreen.svg)](#)
45
+
46
+ `sysx` 把日常排查系统状态时零散用到的 `top`、`df`、`free`、`ip`、`ss` 等命令,
47
+ 收敛成一套统一、可读、支持 JSON 输出的子命令集。适合放进 CI 脚本、容器镜像,
48
+ 或者单纯想少记几个命令参数的时候。
49
+
50
+ ## 特性
51
+
52
+ - **零依赖** — 只用 Python 标准库,`pip install` 不需要拉任何第三方包
53
+ - **JSON 输出** — 每个子命令都支持 `-j`,方便喂给 `jq` 或脚本解析
54
+ - **自动配色** — 输出到终端时着色;重定向到文件或管道时自动禁用
55
+ - **只读安全** — 全部操作仅读取 `/proc`、`/sys`,不做任何修改
56
+ - **跨平台降级** — Linux 下功能最全,macOS / Windows 下优雅降级不报错
57
+
58
+ ## 安装
59
+
60
+ > **包名 vs 命令名**:PyPI 发行名是 `sysx-cli`(`sysx` 已被占用),
61
+ > 但安装后的运行命令仍是 `sysx`。
62
+
63
+ ### 方式一:pip 安装(推荐)
64
+
65
+ ```bash
66
+ pip install sysx-cli
67
+ sysx info
68
+ ```
69
+
70
+ ### 方式二:直接运行单文件(无需安装)
71
+
72
+ ```bash
73
+ curl -LO https://raw.githubusercontent.com/maoxian3824/sysx/master/sysx.py
74
+ python3 sysx.py info
75
+ ```
76
+
77
+ ### 方式三:从源码
78
+
79
+ ```bash
80
+ git clone https://github.com/maoxian3824/sysx.git
81
+ cd sysx
82
+ python3 sysx.py info
83
+ ```
84
+
85
+ ### 方式四:从 GitHub Release 安装
86
+
87
+ ```bash
88
+ curl -LO https://github.com/maoxian3824/sysx/releases/latest/download/sysx_cli-1.0.0-py3-none-any.whl
89
+ pip install sysx_cli-1.0.0-py3-none-any.whl
90
+ ```
91
+
92
+ ## 使用
93
+
94
+ ```
95
+ sysx <命令> [选项]
96
+ ```
97
+
98
+ ### 子命令一览
99
+
100
+ | 命令 | 说明 |
101
+ |---|---|
102
+ | `info` | 系统概览:OS、内核、CPU、内存、运行时长、负载 |
103
+ | `mem` | 内存与交换分区使用情况(带进度条) |
104
+ | `disk` | 磁盘挂载点与使用率(按使用率排序) |
105
+ | `proc` | 占用最高的进程,可按 CPU / 内存排序 |
106
+ | `net` | 网络接口、MAC、链路状态、本机 IP、DNS |
107
+ | `ports` | 监听中的 TCP 端口 |
108
+ | `env` | 相关环境变量(Shell、语言工具链、容器等) |
109
+ | `uptime` | 运行时长与 1/5/15 分钟负载 |
110
+ | `doctor` | 开发环境体检:工具链、网络、磁盘余量 |
111
+
112
+ ### 示例
113
+
114
+ **系统概览**
115
+
116
+ ```console
117
+ $ sysx info
118
+ 16b3429714a6
119
+
120
+ 项目 值
121
+ -------------- -------------------------------
122
+ 操作系统 Ubuntu 24.04.3 LTS
123
+ 内核版本 6.6.117-45.11.6.tl4.x86_64
124
+ 架构 x86_64
125
+ CPU AMD EPYC 9K84 96-Core Processor
126
+ CPU 核心 32
127
+ Python 3.11.1 (CPython)
128
+ 运行时长 1h 41m 33s
129
+ 启动时间 2026-10-06 17:45:39
130
+ 负载 (1/5/15m) 2.78 / 2.16 / 2.24
131
+ ```
132
+
133
+ **内存**
134
+
135
+ ```console
136
+ $ sysx mem
137
+
138
+ ▸ 内存
139
+ 总量 123.3 GB
140
+ 已用 16.5 GB ████░░░░░░░░░░░░░░░░░░░░░░░░░░ 13.4%
141
+ 可用 106.8 GB
142
+ 缓存 97.0 GB
143
+ 缓冲 1.4 GB
144
+
145
+ ▸ 交换分区
146
+ 未启用交换分区
147
+ ```
148
+
149
+ **进程(按 CPU 排序)**
150
+
151
+ ```console
152
+ $ sysx proc -n 5
153
+ PID 名称 状态 CPU 内存 内存占比
154
+ ---- --------------- -- ---- -------- -----
155
+ 1323 envd S 8.0% 15.9 MB 0.01%
156
+ 62 supervisord S 0.0% 13.8 MB 0.01%
157
+ 91 node S 0.0% 55.7 MB 0.04%
158
+ ```
159
+
160
+ **开发环境体检**
161
+
162
+ ```console
163
+ $ sysx doctor
164
+ ✓ Python 3.11.1 (/usr/bin/python3)
165
+ ✓ git /usr/bin/git
166
+ ✓ docker /usr/local/bin/docker
167
+ ✗ tmux 未安装
168
+ ✓ root 权限 当前是 root
169
+ ✓ DNS 解析 example.com → 172.66.147.243
170
+ ✓ 外网连通 可访问 8.8.8.8:53
171
+ ✓ 根分区余量 254.0 GB 可用 (99.2%)
172
+
173
+ 18/19 项通过
174
+ ```
175
+
176
+ **JSON 输出(配合 jq)**
177
+
178
+ ```bash
179
+ # 内存占用百分比
180
+ sysx mem -j | jq '.percent'
181
+
182
+ # 找出最占内存的 3 个进程名
183
+ sysx proc -j -n 3 -s mem | jq -r '.[].name'
184
+
185
+ # 列出所有监听端口号
186
+ sysx ports -j | jq -r '.[].port'
187
+ ```
188
+
189
+ ## 选项
190
+
191
+ | 选项 | 适用命令 | 说明 |
192
+ |---|---|---|
193
+ | `-j, --json` | 全部 | 以 JSON 格式输出 |
194
+ | `-n, --limit N` | `proc` | 显示条数(默认 10) |
195
+ | `-s, --sort {cpu,mem}` | `proc` | 排序依据(默认 cpu) |
196
+ | `-V, --version` | 全局 | 显示版本号 |
197
+ | `-h, --help` | 全局 | 显示帮助 |
198
+
199
+ ## 环境变量
200
+
201
+ | 变量 | 作用 |
202
+ |---|---|
203
+ | `NO_COLOR` | 设置后禁用彩色输出(遵循 [no-color.org](https://no-color.org/) 约定) |
204
+
205
+ ## 实现说明
206
+
207
+ `sysx` 不依赖 `psutil` 等第三方库,直接解析内核暴露的接口:
208
+
209
+ | 数据 | 来源 |
210
+ |---|---|
211
+ | 内存 | `/proc/meminfo` |
212
+ | 运行时长 | `/proc/uptime` |
213
+ | 负载 | `/proc/loadavg` |
214
+ | 进程列表 | `/proc/<pid>/stat` |
215
+ | CPU 占用率 | 两次采样 `/proc/stat` 计算增量 |
216
+ | 磁盘挂载 | `/proc/mounts` + `shutil.disk_usage` |
217
+ | 网络接口 | `/sys/class/net/*` |
218
+ | DNS | `/etc/resolv.conf` |
219
+ | 监听端口 | `/proc/net/tcp`、`/proc/net/tcp6` |
220
+
221
+ **关于 CPU 占用率**:直接读 `/proc/<pid>/stat` 只能拿到进程的累计 CPU 时间,
222
+ 除以总和会得出错误结果(长运行进程会被严重高估)。`sysx` 采用两次采样(间隔 250ms)
223
+ 计算增量占比,结果与 `top` 一致。
224
+
225
+ **容器环境适配**:在 Docker / Kubernetes 中,`/proc/mounts` 会包含大量 bind mount,
226
+ 同一块设备重复出现几十次。`sysx` 按设备去重并过滤快照层挂载点,输出干净的磁盘列表。
227
+
228
+ ## 兼容性
229
+
230
+ | 平台 | 状态 |
231
+ |---|---|
232
+ | Linux | 完整支持 |
233
+ | macOS | 部分支持(无 `/proc`,`info`/`disk`/`doctor` 可用) |
234
+ | Windows | 基础支持(`info`/`doctor` 可用) |
235
+
236
+ ## 开发
237
+
238
+ ```bash
239
+ # 运行测试套件(46 个用例,纯标准库 unittest)
240
+ python3 -m unittest discover -s tests -v
241
+
242
+ # 严格模式:资源泄漏视为错误
243
+ python3 -W error::ResourceWarning -m unittest discover -s tests
244
+
245
+ # 构建并校验
246
+ python3 -m build
247
+ python3 -m twine check dist/* # PyPI 元数据校验
248
+ python3 scripts/check_no_deps.py # 零依赖校验
249
+ ```
250
+
251
+ CI 在 Python 3.8 – 3.12 矩阵及 macOS 上自动运行上述检查,
252
+ 详见 [.github/workflows/test.yml](.github/workflows/test.yml)。
253
+
254
+ 发布到 PyPI 的完整流程见 [PUBLISHING.md](PUBLISHING.md)。
255
+
256
+ ## License
257
+
258
+ MIT
@@ -0,0 +1,223 @@
1
+ # sysx
2
+
3
+ > 轻量级系统信息与开发辅助 CLI 工具 — 纯 Python 标准库实现,零第三方依赖。
4
+
5
+ [![Tests](https://github.com/maoxian3824/sysx/actions/workflows/test.yml/badge.svg)](https://github.com/maoxian3824/sysx/actions/workflows/test.yml)
6
+ [![PyPI](https://img.shields.io/pypi/v/sysx-cli.svg)](https://pypi.org/project/sysx-cli/)
7
+ [![Python](https://img.shields.io/badge/python-3.8%2B-blue.svg)](https://www.python.org/)
8
+ [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
9
+ [![Dependencies](https://img.shields.io/badge/dependencies-none-brightgreen.svg)](#)
10
+
11
+ `sysx` 把日常排查系统状态时零散用到的 `top`、`df`、`free`、`ip`、`ss` 等命令,
12
+ 收敛成一套统一、可读、支持 JSON 输出的子命令集。适合放进 CI 脚本、容器镜像,
13
+ 或者单纯想少记几个命令参数的时候。
14
+
15
+ ## 特性
16
+
17
+ - **零依赖** — 只用 Python 标准库,`pip install` 不需要拉任何第三方包
18
+ - **JSON 输出** — 每个子命令都支持 `-j`,方便喂给 `jq` 或脚本解析
19
+ - **自动配色** — 输出到终端时着色;重定向到文件或管道时自动禁用
20
+ - **只读安全** — 全部操作仅读取 `/proc`、`/sys`,不做任何修改
21
+ - **跨平台降级** — Linux 下功能最全,macOS / Windows 下优雅降级不报错
22
+
23
+ ## 安装
24
+
25
+ > **包名 vs 命令名**:PyPI 发行名是 `sysx-cli`(`sysx` 已被占用),
26
+ > 但安装后的运行命令仍是 `sysx`。
27
+
28
+ ### 方式一:pip 安装(推荐)
29
+
30
+ ```bash
31
+ pip install sysx-cli
32
+ sysx info
33
+ ```
34
+
35
+ ### 方式二:直接运行单文件(无需安装)
36
+
37
+ ```bash
38
+ curl -LO https://raw.githubusercontent.com/maoxian3824/sysx/master/sysx.py
39
+ python3 sysx.py info
40
+ ```
41
+
42
+ ### 方式三:从源码
43
+
44
+ ```bash
45
+ git clone https://github.com/maoxian3824/sysx.git
46
+ cd sysx
47
+ python3 sysx.py info
48
+ ```
49
+
50
+ ### 方式四:从 GitHub Release 安装
51
+
52
+ ```bash
53
+ curl -LO https://github.com/maoxian3824/sysx/releases/latest/download/sysx_cli-1.0.0-py3-none-any.whl
54
+ pip install sysx_cli-1.0.0-py3-none-any.whl
55
+ ```
56
+
57
+ ## 使用
58
+
59
+ ```
60
+ sysx <命令> [选项]
61
+ ```
62
+
63
+ ### 子命令一览
64
+
65
+ | 命令 | 说明 |
66
+ |---|---|
67
+ | `info` | 系统概览:OS、内核、CPU、内存、运行时长、负载 |
68
+ | `mem` | 内存与交换分区使用情况(带进度条) |
69
+ | `disk` | 磁盘挂载点与使用率(按使用率排序) |
70
+ | `proc` | 占用最高的进程,可按 CPU / 内存排序 |
71
+ | `net` | 网络接口、MAC、链路状态、本机 IP、DNS |
72
+ | `ports` | 监听中的 TCP 端口 |
73
+ | `env` | 相关环境变量(Shell、语言工具链、容器等) |
74
+ | `uptime` | 运行时长与 1/5/15 分钟负载 |
75
+ | `doctor` | 开发环境体检:工具链、网络、磁盘余量 |
76
+
77
+ ### 示例
78
+
79
+ **系统概览**
80
+
81
+ ```console
82
+ $ sysx info
83
+ 16b3429714a6
84
+
85
+ 项目 值
86
+ -------------- -------------------------------
87
+ 操作系统 Ubuntu 24.04.3 LTS
88
+ 内核版本 6.6.117-45.11.6.tl4.x86_64
89
+ 架构 x86_64
90
+ CPU AMD EPYC 9K84 96-Core Processor
91
+ CPU 核心 32
92
+ Python 3.11.1 (CPython)
93
+ 运行时长 1h 41m 33s
94
+ 启动时间 2026-10-06 17:45:39
95
+ 负载 (1/5/15m) 2.78 / 2.16 / 2.24
96
+ ```
97
+
98
+ **内存**
99
+
100
+ ```console
101
+ $ sysx mem
102
+
103
+ ▸ 内存
104
+ 总量 123.3 GB
105
+ 已用 16.5 GB ████░░░░░░░░░░░░░░░░░░░░░░░░░░ 13.4%
106
+ 可用 106.8 GB
107
+ 缓存 97.0 GB
108
+ 缓冲 1.4 GB
109
+
110
+ ▸ 交换分区
111
+ 未启用交换分区
112
+ ```
113
+
114
+ **进程(按 CPU 排序)**
115
+
116
+ ```console
117
+ $ sysx proc -n 5
118
+ PID 名称 状态 CPU 内存 内存占比
119
+ ---- --------------- -- ---- -------- -----
120
+ 1323 envd S 8.0% 15.9 MB 0.01%
121
+ 62 supervisord S 0.0% 13.8 MB 0.01%
122
+ 91 node S 0.0% 55.7 MB 0.04%
123
+ ```
124
+
125
+ **开发环境体检**
126
+
127
+ ```console
128
+ $ sysx doctor
129
+ ✓ Python 3.11.1 (/usr/bin/python3)
130
+ ✓ git /usr/bin/git
131
+ ✓ docker /usr/local/bin/docker
132
+ ✗ tmux 未安装
133
+ ✓ root 权限 当前是 root
134
+ ✓ DNS 解析 example.com → 172.66.147.243
135
+ ✓ 外网连通 可访问 8.8.8.8:53
136
+ ✓ 根分区余量 254.0 GB 可用 (99.2%)
137
+
138
+ 18/19 项通过
139
+ ```
140
+
141
+ **JSON 输出(配合 jq)**
142
+
143
+ ```bash
144
+ # 内存占用百分比
145
+ sysx mem -j | jq '.percent'
146
+
147
+ # 找出最占内存的 3 个进程名
148
+ sysx proc -j -n 3 -s mem | jq -r '.[].name'
149
+
150
+ # 列出所有监听端口号
151
+ sysx ports -j | jq -r '.[].port'
152
+ ```
153
+
154
+ ## 选项
155
+
156
+ | 选项 | 适用命令 | 说明 |
157
+ |---|---|---|
158
+ | `-j, --json` | 全部 | 以 JSON 格式输出 |
159
+ | `-n, --limit N` | `proc` | 显示条数(默认 10) |
160
+ | `-s, --sort {cpu,mem}` | `proc` | 排序依据(默认 cpu) |
161
+ | `-V, --version` | 全局 | 显示版本号 |
162
+ | `-h, --help` | 全局 | 显示帮助 |
163
+
164
+ ## 环境变量
165
+
166
+ | 变量 | 作用 |
167
+ |---|---|
168
+ | `NO_COLOR` | 设置后禁用彩色输出(遵循 [no-color.org](https://no-color.org/) 约定) |
169
+
170
+ ## 实现说明
171
+
172
+ `sysx` 不依赖 `psutil` 等第三方库,直接解析内核暴露的接口:
173
+
174
+ | 数据 | 来源 |
175
+ |---|---|
176
+ | 内存 | `/proc/meminfo` |
177
+ | 运行时长 | `/proc/uptime` |
178
+ | 负载 | `/proc/loadavg` |
179
+ | 进程列表 | `/proc/<pid>/stat` |
180
+ | CPU 占用率 | 两次采样 `/proc/stat` 计算增量 |
181
+ | 磁盘挂载 | `/proc/mounts` + `shutil.disk_usage` |
182
+ | 网络接口 | `/sys/class/net/*` |
183
+ | DNS | `/etc/resolv.conf` |
184
+ | 监听端口 | `/proc/net/tcp`、`/proc/net/tcp6` |
185
+
186
+ **关于 CPU 占用率**:直接读 `/proc/<pid>/stat` 只能拿到进程的累计 CPU 时间,
187
+ 除以总和会得出错误结果(长运行进程会被严重高估)。`sysx` 采用两次采样(间隔 250ms)
188
+ 计算增量占比,结果与 `top` 一致。
189
+
190
+ **容器环境适配**:在 Docker / Kubernetes 中,`/proc/mounts` 会包含大量 bind mount,
191
+ 同一块设备重复出现几十次。`sysx` 按设备去重并过滤快照层挂载点,输出干净的磁盘列表。
192
+
193
+ ## 兼容性
194
+
195
+ | 平台 | 状态 |
196
+ |---|---|
197
+ | Linux | 完整支持 |
198
+ | macOS | 部分支持(无 `/proc`,`info`/`disk`/`doctor` 可用) |
199
+ | Windows | 基础支持(`info`/`doctor` 可用) |
200
+
201
+ ## 开发
202
+
203
+ ```bash
204
+ # 运行测试套件(46 个用例,纯标准库 unittest)
205
+ python3 -m unittest discover -s tests -v
206
+
207
+ # 严格模式:资源泄漏视为错误
208
+ python3 -W error::ResourceWarning -m unittest discover -s tests
209
+
210
+ # 构建并校验
211
+ python3 -m build
212
+ python3 -m twine check dist/* # PyPI 元数据校验
213
+ python3 scripts/check_no_deps.py # 零依赖校验
214
+ ```
215
+
216
+ CI 在 Python 3.8 – 3.12 矩阵及 macOS 上自动运行上述检查,
217
+ 详见 [.github/workflows/test.yml](.github/workflows/test.yml)。
218
+
219
+ 发布到 PyPI 的完整流程见 [PUBLISHING.md](PUBLISHING.md)。
220
+
221
+ ## License
222
+
223
+ MIT
@@ -0,0 +1,56 @@
1
+ [build-system]
2
+ requires = ["setuptools>=61.0"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ # PyPI 上的发行包名。运行命令仍是 sysx(见 [project.scripts])。
7
+ # 注意:PyPI 上 sysx / systools / systool 均已被占用,故使用 sysx-cli。
8
+ name = "sysx-cli"
9
+ version = "1.0.0"
10
+ description = "轻量级系统信息与开发辅助 CLI 工具,纯标准库实现,零第三方依赖"
11
+ readme = "README.md"
12
+ requires-python = ">=3.8"
13
+ license = "MIT"
14
+ license-files = ["LICENSE"]
15
+ authors = [
16
+ { name = "maoxian3824", email = "maoxian3824@users.noreply.github.com" },
17
+ ]
18
+ keywords = ["cli", "system", "monitoring", "devops", "procfs", "sysinfo", "console"]
19
+ classifiers = [
20
+ "Development Status :: 5 - Production/Stable",
21
+ "Environment :: Console",
22
+ "Intended Audience :: Developers",
23
+ "Intended Audience :: System Administrators",
24
+ "Operating System :: POSIX :: Linux",
25
+ "Operating System :: MacOS",
26
+ "Programming Language :: Python :: 3",
27
+ "Programming Language :: Python :: 3.8",
28
+ "Programming Language :: Python :: 3.9",
29
+ "Programming Language :: Python :: 3.10",
30
+ "Programming Language :: Python :: 3.11",
31
+ "Programming Language :: Python :: 3.12",
32
+ "Topic :: System :: Monitoring",
33
+ "Topic :: System :: Systems Administration",
34
+ "Topic :: Utilities",
35
+ ]
36
+ dependencies = []
37
+
38
+ [project.optional-dependencies]
39
+ dev = [
40
+ "build>=1.0",
41
+ "twine>=5.0",
42
+ ]
43
+
44
+ [project.scripts]
45
+ # 运行命令保持 sysx,与发行包名解耦
46
+ sysx = "sysx:main"
47
+
48
+ [project.urls]
49
+ Homepage = "https://github.com/maoxian3824/sysx"
50
+ Repository = "https://github.com/maoxian3824/sysx"
51
+ Documentation = "https://github.com/maoxian3824/sysx#readme"
52
+ Changelog = "https://github.com/maoxian3824/sysx/blob/master/CHANGELOG.md"
53
+ Issues = "https://github.com/maoxian3824/sysx/issues"
54
+
55
+ [tool.setuptools]
56
+ py-modules = ["sysx"]
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+