lehome-cli 0.2.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.
@@ -0,0 +1,101 @@
1
+ Metadata-Version: 2.4
2
+ Name: lehome-cli
3
+ Version: 0.2.2
4
+ Summary: LeHome Challenge CLI distributed via uv tool run
5
+ Project-URL: Repository, https://github.com/sudo-yf/lehome
6
+ Requires-Python: >=3.9
7
+ Description-Content-Type: text/markdown
8
+
9
+ # LeHome CLI
10
+
11
+ `lehome` 是一个面向 LeHome Challenge 的可分发 uv CLI。
12
+
13
+ 它把 `/root/data/lehome_cli` 里的源脚本打包成 runtime bundle,在目标机器上自动解包到稳定目录,再提供:
14
+
15
+ - 一个超级菜单入口
16
+ - 原版 `all.sh` 的直达入口
17
+ - `step1 / step2 / step3 / ai / git / diff / vpn` 这些老脚本的直达入口
18
+
19
+ ## 用户用法
20
+
21
+ 推荐直接运行:
22
+
23
+ ```bash
24
+ uvx lehome-cli
25
+ ```
26
+
27
+ 如果你想在 PyPI 发布前先从 GitHub 直接跑:
28
+
29
+ ```bash
30
+ uvx --from git+https://github.com/sudo-yf/lehome.git lehome
31
+ ```
32
+
33
+ 常用命令:
34
+
35
+ ```bash
36
+ uvx lehome-cli --help
37
+ uvx lehome-cli all --list
38
+ uvx lehome-cli step1
39
+ uvx lehome-cli step2
40
+ uvx lehome-cli step3
41
+ uvx lehome-cli ai
42
+ uvx lehome-cli git 1
43
+ uvx lehome-cli diff
44
+ uvx lehome-cli vpn
45
+ uvx lehome-cli doctor
46
+ uvx lehome-cli version
47
+ uv tool run --from git+https://github.com/sudo-yf/lehome.git lehome --help
48
+ uv tool run --from git+https://github.com/sudo-yf/lehome.git lehome all --list
49
+ uv tool run --from git+https://github.com/sudo-yf/lehome.git lehome step1
50
+ uv tool run --from git+https://github.com/sudo-yf/lehome.git lehome step2
51
+ uv tool run --from git+https://github.com/sudo-yf/lehome.git lehome step3
52
+ uv tool run --from git+https://github.com/sudo-yf/lehome.git lehome ai
53
+ uv tool run --from git+https://github.com/sudo-yf/lehome.git lehome git 1
54
+ uv tool run --from git+https://github.com/sudo-yf/lehome.git lehome diff
55
+ uv tool run --from git+https://github.com/sudo-yf/lehome.git lehome vpn
56
+ uv tool run --from git+https://github.com/sudo-yf/lehome.git lehome doctor
57
+ uv tool run --from git+https://github.com/sudo-yf/lehome.git lehome version
58
+ ```
59
+
60
+ 如果你已经在本地 clone 了仓库,也可以这样调试:
61
+
62
+ ```bash
63
+ uv tool run --from . lehome
64
+ ```
65
+
66
+ ## 环境变量
67
+
68
+ 默认值:
69
+
70
+ - `DATA_ROOT=/root/data`
71
+ - `LEHOME_REPO_URL=https://github.com/sudo-yf/lehome-challenge.git`
72
+ - `LEHOME_DEFAULT_DIRNAME=lehome-challenge`
73
+
74
+ 示例:
75
+
76
+ ```bash
77
+ DATA_ROOT=/tmp/lehome-data \
78
+ LEHOME_REPO_URL=https://github.com/sudo-yf/lehome-challenge.git \
79
+ uv tool run --from git+https://github.com/sudo-yf/lehome.git lehome doctor
80
+ ```
81
+
82
+ ## 维护说明
83
+
84
+ `/root/data/lehome_cli` 是源真相,`/root/data/lehome` 是分发仓库。
85
+
86
+ 当源脚本更新后,在本仓库运行:
87
+
88
+ ```bash
89
+ python tools/import_runtime.py --source /root/data/lehome_cli
90
+ ```
91
+
92
+ 这个脚本会:
93
+
94
+ - 校验源文件存在
95
+ - 复制到 `src/lehome_cli/bundle/`
96
+ - 生成 `manifest.json`
97
+
98
+ 平台约束:
99
+
100
+ - 仅支持 Linux / Ubuntu / bash
101
+ - 不承诺 Windows / macOS 可用
@@ -0,0 +1,93 @@
1
+ # LeHome CLI
2
+
3
+ `lehome` 是一个面向 LeHome Challenge 的可分发 uv CLI。
4
+
5
+ 它把 `/root/data/lehome_cli` 里的源脚本打包成 runtime bundle,在目标机器上自动解包到稳定目录,再提供:
6
+
7
+ - 一个超级菜单入口
8
+ - 原版 `all.sh` 的直达入口
9
+ - `step1 / step2 / step3 / ai / git / diff / vpn` 这些老脚本的直达入口
10
+
11
+ ## 用户用法
12
+
13
+ 推荐直接运行:
14
+
15
+ ```bash
16
+ uvx lehome-cli
17
+ ```
18
+
19
+ 如果你想在 PyPI 发布前先从 GitHub 直接跑:
20
+
21
+ ```bash
22
+ uvx --from git+https://github.com/sudo-yf/lehome.git lehome
23
+ ```
24
+
25
+ 常用命令:
26
+
27
+ ```bash
28
+ uvx lehome-cli --help
29
+ uvx lehome-cli all --list
30
+ uvx lehome-cli step1
31
+ uvx lehome-cli step2
32
+ uvx lehome-cli step3
33
+ uvx lehome-cli ai
34
+ uvx lehome-cli git 1
35
+ uvx lehome-cli diff
36
+ uvx lehome-cli vpn
37
+ uvx lehome-cli doctor
38
+ uvx lehome-cli version
39
+ uv tool run --from git+https://github.com/sudo-yf/lehome.git lehome --help
40
+ uv tool run --from git+https://github.com/sudo-yf/lehome.git lehome all --list
41
+ uv tool run --from git+https://github.com/sudo-yf/lehome.git lehome step1
42
+ uv tool run --from git+https://github.com/sudo-yf/lehome.git lehome step2
43
+ uv tool run --from git+https://github.com/sudo-yf/lehome.git lehome step3
44
+ uv tool run --from git+https://github.com/sudo-yf/lehome.git lehome ai
45
+ uv tool run --from git+https://github.com/sudo-yf/lehome.git lehome git 1
46
+ uv tool run --from git+https://github.com/sudo-yf/lehome.git lehome diff
47
+ uv tool run --from git+https://github.com/sudo-yf/lehome.git lehome vpn
48
+ uv tool run --from git+https://github.com/sudo-yf/lehome.git lehome doctor
49
+ uv tool run --from git+https://github.com/sudo-yf/lehome.git lehome version
50
+ ```
51
+
52
+ 如果你已经在本地 clone 了仓库,也可以这样调试:
53
+
54
+ ```bash
55
+ uv tool run --from . lehome
56
+ ```
57
+
58
+ ## 环境变量
59
+
60
+ 默认值:
61
+
62
+ - `DATA_ROOT=/root/data`
63
+ - `LEHOME_REPO_URL=https://github.com/sudo-yf/lehome-challenge.git`
64
+ - `LEHOME_DEFAULT_DIRNAME=lehome-challenge`
65
+
66
+ 示例:
67
+
68
+ ```bash
69
+ DATA_ROOT=/tmp/lehome-data \
70
+ LEHOME_REPO_URL=https://github.com/sudo-yf/lehome-challenge.git \
71
+ uv tool run --from git+https://github.com/sudo-yf/lehome.git lehome doctor
72
+ ```
73
+
74
+ ## 维护说明
75
+
76
+ `/root/data/lehome_cli` 是源真相,`/root/data/lehome` 是分发仓库。
77
+
78
+ 当源脚本更新后,在本仓库运行:
79
+
80
+ ```bash
81
+ python tools/import_runtime.py --source /root/data/lehome_cli
82
+ ```
83
+
84
+ 这个脚本会:
85
+
86
+ - 校验源文件存在
87
+ - 复制到 `src/lehome_cli/bundle/`
88
+ - 生成 `manifest.json`
89
+
90
+ 平台约束:
91
+
92
+ - 仅支持 Linux / Ubuntu / bash
93
+ - 不承诺 Windows / macOS 可用
@@ -0,0 +1,27 @@
1
+ #!/usr/bin/env bash
2
+ set -Eeuo pipefail
3
+
4
+ DATA_ROOT="${DATA_ROOT:-/root/data}"
5
+ LEHOME_CLI_REPO_URL="${LEHOME_CLI_REPO_URL:-https://github.com/sudo-yf/lehome.git}"
6
+ TARGET_DIR="${TARGET_DIR:-$DATA_ROOT/lehome}"
7
+
8
+ mkdir -p "$DATA_ROOT"
9
+
10
+ if [[ -d "$TARGET_DIR/.git" ]]; then
11
+ echo ">>> 检测到已有 LeHome CLI 仓库,正在更新..."
12
+ git -C "$TARGET_DIR" fetch origin
13
+ git -C "$TARGET_DIR" pull --ff-only origin main
14
+ else
15
+ echo ">>> 正在拉取 LeHome CLI 仓库..."
16
+ git clone "$LEHOME_CLI_REPO_URL" "$TARGET_DIR"
17
+ fi
18
+
19
+ export PATH="$HOME/.local/bin:$HOME/.cargo/bin:$PATH"
20
+ if ! command -v uv >/dev/null 2>&1; then
21
+ echo ">>> 未检测到 uv,正在安装..."
22
+ curl -LsSf https://astral.sh/uv/install.sh | sh
23
+ export PATH="$HOME/.local/bin:$HOME/.cargo/bin:$PATH"
24
+ fi
25
+
26
+ echo ">>> 正在通过 uv 启动 LeHome CLI..."
27
+ exec uv tool run --refresh --from "$TARGET_DIR" lehome "$@"
@@ -0,0 +1,37 @@
1
+ [build-system]
2
+ requires = ["hatchling>=1.27.0"]
3
+ build-backend = "hatchling.build"
4
+
5
+ [project]
6
+ name = "lehome-cli"
7
+ version = "0.2.2"
8
+ description = "LeHome Challenge CLI distributed via uv tool run"
9
+ readme = "README.md"
10
+ requires-python = ">=3.9"
11
+ dependencies = []
12
+
13
+ [project.scripts]
14
+ lehome-cli = "lehome_cli.cli:main"
15
+ lehome = "lehome_cli.cli:main"
16
+
17
+ [project.urls]
18
+ Repository = "https://github.com/sudo-yf/lehome"
19
+
20
+ [tool.hatch.build.targets.wheel]
21
+ packages = ["src/lehome_cli"]
22
+
23
+ [tool.hatch.build.targets.sdist]
24
+ include = [
25
+ "/README.md",
26
+ "/bootstrap.sh",
27
+ "/pyproject.toml",
28
+ "/tools/import_runtime.py",
29
+ "/src/lehome_cli/__init__.py",
30
+ "/src/lehome_cli/__main__.py",
31
+ "/src/lehome_cli/cli.py",
32
+ "/src/lehome_cli/commands.py",
33
+ "/src/lehome_cli/doctor.py",
34
+ "/src/lehome_cli/menu.py",
35
+ "/src/lehome_cli/runtime.py",
36
+ "/src/lehome_cli/bundle",
37
+ ]
@@ -0,0 +1,3 @@
1
+ """LeHome CLI package."""
2
+
3
+ __version__ = "0.2.2"
@@ -0,0 +1,5 @@
1
+ from .cli import main
2
+
3
+
4
+ if __name__ == "__main__":
5
+ raise SystemExit(main())
@@ -0,0 +1 @@
1
+ """Runtime bundle imported from /root/data/lehome_cli."""