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.2.tar.gz (20.9 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.2-py3-none-any.whl (23.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fastvex-0.0.2.tar.gz
  • Upload date:
  • Size: 20.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for fastvex-0.0.2.tar.gz
Algorithm Hash digest
SHA256 2067a32f14aaf5ad2f83e8b899c52a4502c6402b2604d4709238eba804a005fc
MD5 96bac6855cc4634644f00808beb3f1bb
BLAKE2b-256 4290ec36fc40949b21ed1639de7b5c49c223a0e026f80f98d854103fa747db0a

See more details on using hashes here.

Provenance

The following attestation bundles were made for fastvex-0.0.2.tar.gz:

Publisher: publish.yml on WyattYuan/fastvex

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

  • Download URL: fastvex-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 23.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for fastvex-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7342ad76f6ac8092ab1fa382ae52cba6cdc941a14e7e2bf8e82ee743251caecd
MD5 25f7bd55fb5e0b278808f28df274e1cb
BLAKE2b-256 56fa563b6049354b5f2a33f897cf5ece95149426cc1bdecf6eee6cbaea28b2ee

See more details on using hashes here.

Provenance

The following attestation bundles were made for fastvex-0.0.2-py3-none-any.whl:

Publisher: publish.yml on WyattYuan/fastvex

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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