BLine is an open-source path generation and tracking suite designed for holonomic drivetrains (swerve, mecanum, etc.) made by students for students. It's built around simplicity and performance in time-constrained environments where quick iteration and rapid empirical testing prove advantageous.
📚 Documentation — full guides, tutorials, and reference.
☕ BLine-Lib — the BLine Java library.
💬 Chief Delphi Thread — discussion, feedback, and announcements.
Download the latest release for your platform from the Releases page.
Choose one of the following:
Installer (Recommended)
- Download
BLine-{version}-Setup.exe - Run the installer and follow the wizard
- Launch BLine from the Start Menu
Portable (No Installation)
- Download
BLine-{version}-Windows-Portable.zip - Extract anywhere
- Run
BLine.exe
No Python installation required—everything is bundled!
AppImage (All Distributions)
- Download
BLine-x86_64.AppImage - Make it executable:
chmod +x BLine-x86_64.AppImage
- Run it:
./BLine-x86_64.AppImage
No installation or dependencies required!
DMG (Apple Silicon)
- Download
BLine-{version}-macOS-arm64.dmgfrom Releases - Open the DMG and drag BLine to your Applications folder
- Launch BLine from Applications
If you prefer to install via Python package or need the latest development version:
Quick Install (all platforms):
pipx install git+https://github.com/edanliahovetsky/BLine-GUI.gitThen run bline from anywhere. Don't have pipx? See platform-specific instructions below.
Windows
# Install pipx (one-time setup)
pip install pipx
pipx ensurepath
# Restart your terminal, then install BLine
pipx install git+https://github.com/edanliahovetsky/BLine-GUI.gitTroubleshooting: If you get a PySide6 build error, install Python 3.11 or 3.12 from python.org and specify it:
py -3.12 -m pip install --upgrade pip pipx
py -3.12 -m pipx ensurepath
py -3.12 -m pipx install git+https://github.com/edanliahovetsky/BLine-GUI.git# Create a folder for BLine
mkdir %USERPROFILE%\BLine
cd %USERPROFILE%\BLine
# Create a virtual environment and install
python -m venv .venv
.venv\Scripts\activate
pip install git+https://github.com/edanliahovetsky/BLine-GUI.git
# Run BLine
blinemacOS
# Install Homebrew if needed
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Install pipx and BLine
brew install pipx
pipx ensurepath
pipx install git+https://github.com/edanliahovetsky/BLine-GUI.git# Create a folder for BLine
mkdir -p ~/Applications/BLine
cd ~/Applications/BLine
# Create a virtual environment and install
python3 -m venv .venv
source .venv/bin/activate
pip install git+https://github.com/edanliahovetsky/BLine-GUI.git
# Run BLine
blineLinux
# Install pipx
# Debian/Ubuntu:
sudo apt install pipx
# Fedora:
sudo dnf install pipx
# Arch:
sudo pacman -S python-pipx
# Install BLine
pipx ensurepath
pipx install git+https://github.com/edanliahovetsky/BLine-GUI.gitTroubleshooting: If you get a PySide6 build error, specify Python 3.11 or 3.12:
pipx install --python python3.12 git+https://github.com/edanliahovetsky/BLine-GUI.git# Create a folder for BLine
mkdir -p ~/Applications/BLine
cd ~/Applications/BLine
# Create a virtual environment and install
python3 -m venv .venv
source .venv/bin/activate
pip install git+https://github.com/edanliahovetsky/BLine-GUI.git
# Run BLine
blineBinary installation: Launch BLine from your Start Menu (Windows), Applications folder, or run the executable directly.
Python package installation: Run bline from any terminal. To create a desktop shortcut with the BLine icon, run bline --create-shortcut.
For guides on path elements, constraints, the GUI interface, and more, see the Documentation.
For contributors who want to work on BLine itself:
- Python 3.11+
- PySide6 (installed automatically via
requirements.txt)
git clone https://github.com/edanliahovetsky/BLine-GUI.git
cd BLine-GUI
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
pip install -r requirements.txt
python main.pyAlternatively, run ./scripts/dev_env.sh to create the virtualenv, install dependencies, and launch the GUI in one step.
Common tasks are provided via the Makefile:
| Command | Description |
|---|---|
make install |
Install dependencies into .venv |
make run |
Launch the GUI |
make fmt |
Run Black + Ruff formatting |
make lint |
Run Ruff and MyPy |
make test |
Execute the pytest suite |
main.py— Application entry pointmodels/— Path data structures and simulation logicui/— Qt widgets (canvas, sidebar, dialogs, main window)utils/— Project persistence, undo stack, helpersexample_project/— Sample configs and paths for experimentation
Unit tests live under tests/ and focus on the pure-Python logic in models/ and utils/.
GitHub Actions runs ruff, black --check, mypy, and pytest on every push and pull request.
BSD 3-Clause License — See LICENSE file.

