Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

qtcloud-data

量潮数据云项目,用命令行、Provider 后端服务和 Flutter Studio 串起数据交付中容易打断进度的环节。

模块

模块 语言 当前状态
src/cli Rust 主力业务逻辑,qtcloud-data-cli v0.1.16 已发布到 crates.io;本地 [Unreleased] 已补充 doctor、process/catalog/transfer 记录闭环和 Specification envelope。
src/provider Go Provider 后端骨架正在对齐 CLI;本地 [Unreleased] 已支持读取 Specification YAML、浏览/运行 Blueprint,并提供可持久化的 process job 记录。
src/studio Flutter Studio 客户端骨架;本地 [Unreleased] 已对接 Provider 的 Blueprint 列表、详情、运行入口和 process job 详情。

CLI 快速开始

cd src/cli
cargo build
cargo test

# 检查本机 DataOps 环境
cargo run -- doctor --no-fail

CLI 已覆盖的核心工作流:

clarify from-chat -> design contract/blueprint -> implement -> review/version -> process/transfer

本地 [Unreleased] 版本会把 process job、最终产物和 transfer 交付链接都落到 catalog,并提供 spec wrap / spec validate 固化 Specification YAML envelope,方便内部同事和 Provider 后端按文件交接。

更多命令见 src/cli/README.md

Provider

cd src/provider
go test ./...
go run ./cmd/qtcloud-provider

Provider 当前主要能力:

  • Provider 接口骨架、Dropbox provider、S3 stub。
  • GET /blueprintsGET /blueprints/{name}:读取 CLI 生成的 Blueprint / Specification YAML。
  • POST /blueprints/{name}/runs:按 Blueprint 中的 Pipeline 执行一次本地 run,并写入可持久化 process job。
  • GET /process/jobs:查看 Provider 侧 process job 记录。
  • GET /process/jobs/{id}:查看单个 run 的 step 输入、输出和状态。

读取 Specification 的目录优先级:SPEC_DIR -> DATA_ROOT/spec -> 当前目录 .quanttide/data/spec -> monorepo 中 CLI 默认输出目录 src/cli/.quanttide/data/spec

Blueprint 是设计与实现之间的 YAML 中间规格,参考 AWS Step Functions 的状态机模型表达 start_atstatesnext/endimplement 再把这个规格转换成 Python 等代码。CLI 本地 [Unreleased] 生成 Blueprint 时会默认写入 resource: builtin:copy,用于 Provider 端到端 smoke test;实际业务脚本生成后再替换为 python:<script> 等资源。Provider 执行器会读取 resource 字段,当前支持 builtin:copy 和受 PIPELINE_SCRIPT_DIR 限制的 python:<script> / bash:<script>。部署时可用 PIPELINE_INPUT_DIRPIPELINE_WORK_ROOT 限制 run API 可读输入目录和可写工作目录,Provider 会解析真实路径以拒绝 symlink/junction 逃逸;PIPELINE_WORK_ROOT 不存在时会自动创建。

Provider job 默认持久化到 catalog:JOB_STORE_PATH -> CATALOG_DIR/provider-jobs.json -> DATA_ROOT/catalog/provider-jobs.json -> .quanttide/data/catalog/provider-jobs.json

当前 v0.2.0 收口状态见 RELEASE_STATUS.md

最小本地执行示例:

curl -X POST http://localhost:8080/blueprints/customer-chat/runs \
  -H "Content-Type: application/json" \
  -d '{"customer_id":"demo","input_path":"D:/tmp/raw.csv","work_dir":"D:/tmp/qtcloud-run"}'

Studio

cd src/studio
flutter pub get
flutter test
flutter run

Studio 当前用于给产品经理浏览数据蓝图和处理流程。本地 [Unreleased] 已通过 Provider API 读取 GET /blueprintsGET /blueprints/{name}GET /process/jobsGET /process/jobs/{id},并可在 Blueprint 详情页调用 POST /blueprints/{name}/runs 发起一次本地 run;Provider 不可用时保留本地样例兜底,但样例模式只用于浏览,不显示运行入口。

发布

  • crates.io: qtcloud-data-cli 最新发布版本 0.1.16
  • GitHub Release: cli/v0.1.16 提供 Linux 和 Windows 二进制包

License

Apache 2.0

About

No description, website, or topics provided.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages