Skip to main content

Fast VEX V5 slot-oriented build and upload CLI

Project description

fastvex

fastvex 是面向 VEX V5 / PROS 机器人项目的槽位构建与上传工具。

它会读取机器人项目根目录中的 fastvex.yaml,根据 slot、role、route 配置生成构建参数和程序名,调用 PROS 完成构建/上传,并把本机运行状态写入 .fastvex/state.json

安装与运行

临时运行:

uvx fastvex validate
uvx fastvex upload --slots 1,3 -y

全局安装:

pipx install fastvex
fastvex show

本仓库本地开发时:

uv sync
uv run pytest
uv run ruff check .

在机器人项目中使用

在包含 fastvex.yaml 的机器人仓库根目录运行:

fastvex validate
fastvex show
fastvex upload --slots 1,3 -y
fastvex route show
fastvex route set red r1

也可以在机器人项目子目录中运行,fastvex 会向上查找 fastvex.yaml

如果需要显式指定配置:

fastvex validate --config D:\path\to\robot\fastvex.yaml
fastvex --config D:\path\to\robot\fastvex.yaml validate

配置与状态

  • fastvex.yaml:机器人项目配置,建议提交到机器人代码仓库。
  • .fastvex/state.json:本机状态与上传历史,建议加入机器人仓库的 .gitignore
  • vex_upload_config.yaml:旧配置文件名仍可读取,但新项目建议迁移到 fastvex.yaml

常用命令

# 初始化 fastvex.yaml 和 .fastvex/state.json,不覆盖已有文件
fastvex init

# 校验配置
fastvex validate

# 展示槽位映射、当前状态和历史
fastvex show

# 预览上传,不执行 PROS 构建/上传
fastvex upload --slots 3 --dry-run

# 上传指定槽位
fastvex upload --slots 1,3 -y

# 按配置中的分组上传
fastvex upload --group all-enabled -y

# 查看和切换当前路线
fastvex route show
fastvex route set red r1

# 查看和清理历史
fastvex history show
fastvex history clean --keep 10

Python API

fastvex 也提供命令级 Python API,方便测试或脚本复用:

from fastvex.services import UploadRequest, upload_slots, validate_project

report = validate_project(config="D:/path/to/robot/fastvex.yaml")
assert report.warnings == []

upload_report = upload_slots(
    UploadRequest(slots="3", dry_run=True),
    config="D:/path/to/robot/fastvex.yaml",
)
assert upload_report.failed_slots == []

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fastvex-0.0.1.tar.gz (19.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fastvex-0.0.1-py3-none-any.whl (21.9 kB view details)

Uploaded Python 3

File details

Details for the file fastvex-0.0.1.tar.gz.

File metadata

  • Download URL: fastvex-0.0.1.tar.gz
  • Upload date:
  • Size: 19.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for fastvex-0.0.1.tar.gz
Algorithm Hash digest
SHA256 589953aa74f1b794e80ebfe77c67f09fd461f28396b43d661a448a82fc01770b
MD5 27c3239030ff1d6de73a871b683c9430
BLAKE2b-256 8b44df98b1656f8a5c13fffa037c8a27881084b9a8d0c6cac577adac3cb2f0dc

See more details on using hashes here.

File details

Details for the file fastvex-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: fastvex-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 21.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for fastvex-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b4f0d1ee2b6b60992ba2a426a78af3ffbb2fa50e92ef89b69d6153b36d4ec908
MD5 98ca277e391921673cc346e30957f5b1
BLAKE2b-256 33c8e5b70c4330a82457f051fa17767002caabc28cfecb39d4491a5f0318c413

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page