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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2067a32f14aaf5ad2f83e8b899c52a4502c6402b2604d4709238eba804a005fc
|
|
| MD5 |
96bac6855cc4634644f00808beb3f1bb
|
|
| BLAKE2b-256 |
4290ec36fc40949b21ed1639de7b5c49c223a0e026f80f98d854103fa747db0a
|
Provenance
The following attestation bundles were made for fastvex-0.0.2.tar.gz:
Publisher:
publish.yml on WyattYuan/fastvex
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fastvex-0.0.2.tar.gz -
Subject digest:
2067a32f14aaf5ad2f83e8b899c52a4502c6402b2604d4709238eba804a005fc - Sigstore transparency entry: 1629580368
- Sigstore integration time:
-
Permalink:
WyattYuan/fastvex@17ebf12135f97f1c335e5207a7ad5a421ae6737f -
Branch / Tag:
refs/tags/v0.0.2 - Owner: https://github.com/WyattYuan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@17ebf12135f97f1c335e5207a7ad5a421ae6737f -
Trigger Event:
push
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7342ad76f6ac8092ab1fa382ae52cba6cdc941a14e7e2bf8e82ee743251caecd
|
|
| MD5 |
25f7bd55fb5e0b278808f28df274e1cb
|
|
| BLAKE2b-256 |
56fa563b6049354b5f2a33f897cf5ece95149426cc1bdecf6eee6cbaea28b2ee
|
Provenance
The following attestation bundles were made for fastvex-0.0.2-py3-none-any.whl:
Publisher:
publish.yml on WyattYuan/fastvex
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fastvex-0.0.2-py3-none-any.whl -
Subject digest:
7342ad76f6ac8092ab1fa382ae52cba6cdc941a14e7e2bf8e82ee743251caecd - Sigstore transparency entry: 1629580388
- Sigstore integration time:
-
Permalink:
WyattYuan/fastvex@17ebf12135f97f1c335e5207a7ad5a421ae6737f -
Branch / Tag:
refs/tags/v0.0.2 - Owner: https://github.com/WyattYuan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@17ebf12135f97f1c335e5207a7ad5a421ae6737f -
Trigger Event:
push
-
Statement type: