https://github.com/purduesigbots/pros-cli
Command Line Interface for managing PROS projects. Works with V5 and the Cortex
https://github.com/purduesigbots/pros-cli
cli pros pros-cli serial-ports vex-cortex vex-robotics vex-v5
Last synced: 3 months ago
JSON representation
Command Line Interface for managing PROS projects. Works with V5 and the Cortex
- Host: GitHub
- URL: https://github.com/purduesigbots/pros-cli
- Owner: purduesigbots
- License: mpl-2.0
- Created: 2018-02-02T16:17:53.000Z (about 8 years ago)
- Default Branch: develop
- Last Pushed: 2025-09-22T22:32:49.000Z (7 months ago)
- Last Synced: 2025-09-29T03:24:13.020Z (6 months ago)
- Topics: cli, pros, pros-cli, serial-ports, vex-cortex, vex-robotics, vex-v5
- Language: Python
- Homepage: https://pros.cs.purdue.edu/v5/cli
- Size: 27.5 MB
- Stars: 112
- Watchers: 15
- Forks: 34
- Open Issues: 48
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# PROS CLI
[](https://dev.azure.com/purdue-acm-sigbots/CLI/_build/latest?definitionId=6&branchName=develop)
PROS is the only open source development environment for the VEX EDR Platform.
This project provides all of the project management related tasks for PROS. It is currently responsible for:
- Downloading kernel templates
- Creating, upgrading projects
- Uploading binaries to VEX Microcontrollers
This project is built in Python 3.6, and executables are built on cx_Freeze.
## Installing for development
PROS CLI can be installed directly from source with the following prerequisites:
- Python 3.5
- PIP (default in Python 3.6)
- Setuptools (default in Python 3.6)
Clone this repository, then run `pip install -e `. Pip will install all the dependencies necessary.
## About this project
Here's a quick breakdown of the packages involved in this project:
- `pros.cli`: responsible for parsing arguments and running requested command
- `pros.common.ui`: provides user interface functions used throughout the PROS CLI (such as logging facilities, machine-readable output)
- `pros.conductor`: provides all project management related tasks
- `pros.conductor.depots`: logic for downloading templates
- `pros.conductor.templates`: logic for maintaining information about a template
- `pros.config`: provides base classes for configuration files in PROS (and also the global cli.pros config file)
- `pros.jinx`: JINX parsing and server
- `pros.serial`: package for all serial communication with VEX Microcontrollers
- `pros.upgrade`: package for upgrading the PROS CLI, including downloading and executing installation sequence
See https://pros.cs.purdue.edu/v5/cli for end user documentation and developer notes.