DishPy requires several system tools for downloading and managing VEX components. The requirements vary by operating system:
curl
- for downloading filesunzip
- for extracting archivesbsdtar
- for advanced archive operationsgit
- for cloning repositoriesbash
- for running installation scriptsMost Linux distributions and macOS include these tools by default. If any are missing, install them using your system's package manager:
Ubuntu/Debian:
sudo apt update
sudo apt install curl unzip libarchive-tools git bash
macOS (using Homebrew):
brew install curl unzip libarchive git
⚠️ Important: DishPy requires Unix-like tools and bash scripts that are not available natively on Windows. Windows users must use WSL (Windows Subsystem for Linux).
Install WSL:
1. Open PowerShell as Administrator
2. Run: wsl --install
3. Restart your computer
4. Set up your Linux distribution (Ubuntu recommended)
5. Install the required tools in WSL:
bash
sudo apt update
sudo apt install curl unzip libarchive-tools git bash
Make sure you have uv installed.
If you are installing a version of DishPy pre-1.0, which you probably should not be doing, add the following to your .zshrc
, .bashrc
, etc.:
export UV_INDEX_STRATEGY="unsafe-best-match"
export UV_EXTRA_INDEX_URL="https://test.pypi.org/simple/"
Open a new terminal to apply changes, and then run dishpy:
$ uv tool run dishpy
# or
$ uvx dishpy
# or, for an old version
$ uvx dishpy==0.5.0
# outputs something like
╭─────────────────────────────────── Help ────────────────────────────────────╮
│ dishpy 1.0 - VEX Competition Development Tool │
│ │
│ Commands: │
│ create Create new directory and initialize project │
│ Options: --name <name> (required) --slot --package │
│ add Add a previously registered package to a project │
│ Options: package │
│ mu Build and upload project to VEX V5 brain │
│ Options: --verbose │
│ build Build project to out directory │
│ Options: --verbose │
│ upload Upload project to VEX V5 brain │
│ Options: path │
│ vexcom Run vexcom with specified arguments (auto-installs if needed) │
│ Options: args │
│ debug debug DishPy CLI internals │
│ package Package management commands │
│ list List all available packages that have been registered with │
│ DishPy │
│ register Register a package with DishPy │
│ Options: package_path │
│ │
╰─────────────────────────────────────────────────────────────────────────────╯
When you first run DishPy commands that require VEXcom tools (like mu
for uploading), DishPy will automatically download and install the necessary VEX tools. This process may take a few minutes and requires an internet connection.
The tools are cached in your system's cache directory and only need to be downloaded once.