Skip to content

Commit b896fef

Browse files
committed
feat: v1.0 发版准备步骤 2-4
步骤 2: README.md 更新为 v1.0 - 版本号升级,macOS 平台标注 - 新增 status、gui 命令说明 - 新增 --workers 参数说明 - 新增 v1.0 更新记录 步骤 3: RELEASE_POST.md 更新(docs/ gitignore,不入仓库) - 补充 GUI、并发、status 描述 - 更新包内清单和快速上手 步骤 4: 新增 scripts/build_release.sh - 白名单逐文件打包,33 个文件 - 路径检查、空格文件名处理、zipinfo 核对
1 parent 18945c0 commit b896fef

2 files changed

Lines changed: 119 additions & 1 deletion

File tree

README.md

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33
自动从 QuantClass 下载股票和币圈数据,帮你把本地数据保持最新。
44
好几天没跑也没关系,一条命令就能把缺的全补上。
55

6-
当前版本:**v0.8.2**
6+
当前版本:**v1.0**
7+
8+
macOS 工具。Windows 用户推荐使用 QuantClass 官方客户端。
79

810
---
911

@@ -97,6 +99,7 @@ python3 quantclass_sync.py update # 写全也行,效果一样
9799
| `--force` | 不管本地是不是最新,强制重新下载 |
98100
| `--products` | 只更新指定的产品(可以写多个) |
99101
| `--no-verbose` | 不想看那么多日志就加这个 |
102+
| `--workers N` | 并发下载线程数(1-8,默认 1) |
100103

101104
**例子** — 只更新两个产品:
102105

@@ -106,6 +109,24 @@ python3 quantclass_sync.py --products stock-trading-data --products stock-main-i
106109

107110
**凭证从哪读?** 按优先级:命令行参数 > `user_secrets.env` > 环境变量。
108111

112+
### status — 查看状态
113+
114+
```bash
115+
python3 quantclass_sync.py status
116+
```
117+
118+
一屏看全局:哪些产品已同步、落后几天、上次运行结果。离线可用,不调 API。
119+
120+
### gui — 图形界面
121+
122+
```bash
123+
python3 quantclass_sync.py gui
124+
```
125+
126+
打开图形界面窗口,包含总览、同步、历史三个页面。关闭窗口后命令退出。
127+
128+
macOS 用户也可以直接双击 `QuantClass Sync.command` 启动 GUI,不需要打开终端。首次运行会提示输入 conda 环境名。
129+
109130
### 币圈合成(自动的,不用管)
110131

111132
如果你的数据目录里有 `coin-binance-spot-swap-preprocess-pkl-1h`,并且这次跑的时候 spot 或 swap 有新数据进来,工具会自动帮你跑一遍合成预处理。
@@ -209,6 +230,17 @@ ls -t <data_root>/.quantclass_sync/log/run_report_* | head -1 | xargs cat
209230

210231
## 更新记录
211232

233+
<details>
234+
<summary>v1.0</summary>
235+
236+
- 新增图形界面(GUI):总览、同步、历史三个页面
237+
- 新增并发下载:`--workers` 参数支持 1-8 线程
238+
- 新增 `status` 命令:一屏查看全局同步状态
239+
- 新增 `.command` 双击启动 GUI(macOS)
240+
- 测试用例从 199 增加到 315 个
241+
242+
</details>
243+
212244
<details>
213245
<summary>v0.8.2</summary>
214246

scripts/build_release.sh

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
#!/usr/bin/env bash
2+
# 打包发布 zip,白名单逐文件添加
3+
# 用法:bash scripts/build_release.sh v1.0
4+
5+
set -euo pipefail
6+
7+
# --- 参数检查 ---
8+
if [[ $# -lt 1 ]]; then
9+
echo "错误:缺少版本号参数" >&2
10+
echo "用法:bash scripts/build_release.sh v1.0" >&2
11+
exit 1
12+
fi
13+
14+
VERSION="$1"
15+
OUTPUT="release/quantclass-sync-tool-${VERSION}.zip"
16+
17+
# --- 白名单 ---
18+
FILES=(
19+
"README.md"
20+
"catalog.txt"
21+
"requirements.txt"
22+
"requirements-archive.txt"
23+
"quantclass_sync.py"
24+
"coin_preprocess_builtin.py"
25+
"QuantClass Sync.command"
26+
"quantclass_sync_internal/__init__.py"
27+
"quantclass_sync_internal/cli.py"
28+
"quantclass_sync_internal/config.py"
29+
"quantclass_sync_internal/models.py"
30+
"quantclass_sync_internal/constants.py"
31+
"quantclass_sync_internal/orchestrator.py"
32+
"quantclass_sync_internal/file_sync.py"
33+
"quantclass_sync_internal/csv_engine.py"
34+
"quantclass_sync_internal/http_client.py"
35+
"quantclass_sync_internal/status_store.py"
36+
"quantclass_sync_internal/reporting.py"
37+
"quantclass_sync_internal/data_query.py"
38+
"quantclass_sync_internal/archive.py"
39+
"quantclass_sync_internal/gui/__init__.py"
40+
"quantclass_sync_internal/gui/api.py"
41+
"quantclass_sync_internal/gui/assets/index.html"
42+
"quantclass_sync_internal/gui/assets/style.css"
43+
"quantclass_sync_internal/gui/assets/app.js"
44+
"quantclass_sync_internal/gui/assets/alpine.min.js"
45+
"coin_preprocess_internal/__init__.py"
46+
"coin_preprocess_internal/runner.py"
47+
"coin_preprocess_internal/csv_source.py"
48+
"coin_preprocess_internal/symbol_mapper.py"
49+
"coin_preprocess_internal/pivot.py"
50+
"coin_preprocess_internal/constants.py"
51+
"scripts/repair_coin_cap.py"
52+
)
53+
54+
# --- 检查所有文件是否存在 ---
55+
echo "检查白名单文件..."
56+
MISSING=0
57+
for f in "${FILES[@]}"; do
58+
if ! test -e "$f"; then
59+
echo " 缺失:$f" >&2
60+
MISSING=1
61+
fi
62+
done
63+
if [[ $MISSING -ne 0 ]]; then
64+
echo "错误:存在缺失文件,打包中止" >&2
65+
exit 1
66+
fi
67+
echo "全部 ${#FILES[@]} 个文件均存在"
68+
69+
# --- 准备输出目录,清理旧包 ---
70+
mkdir -p release
71+
if [[ -f "$OUTPUT" ]]; then
72+
rm "$OUTPUT"
73+
echo "已删除旧包:$OUTPUT"
74+
fi
75+
76+
# --- 逐文件追加到 zip(路径含空格用数组元素引用) ---
77+
echo "开始打包..."
78+
for f in "${FILES[@]}"; do
79+
zip -r "$OUTPUT" "$f"
80+
done
81+
82+
echo ""
83+
echo "打包完成:$OUTPUT"
84+
echo ""
85+
echo "--- 包内文件列表 ---"
86+
zipinfo -1 "$OUTPUT"

0 commit comments

Comments
 (0)