Skip to content

Installation

BLine has two pieces: the editor for designing paths on a desktop or in the browser, and the Java library that runs path-following on your robot. They are independent — install whichever pieces your workflow needs.

Which do I install?

  • Visual workflow → use BLine Web or install the desktop editor, plus the library.
  • JSON-only workflow → install only the library and hand-author JSON in deploy/autos/paths/.
  • Code-only workflow → install only the library and build Path objects in Java.

BLine Web Editor

Use the hosted browser editor or download the latest desktop build for your platform.

Download Windows x64.

  1. Run the downloaded installer or bundle.
  2. Follow the wizard.
  3. Launch BLine from the Start Menu.

The bundles are fully self-contained — no Python install required.

Windows Defender / antivirus

The current Windows binaries are unsigned. On a clean Defender install they have not been flagged in testing, but third-party AV may occasionally false-positive. If that happens, either whitelist BLine or use the hosted browser editor instead.

Download one of:

Open the downloaded app bundle or DMG and move BLine to your Applications folder if prompted.

Download Linux x64.

  1. Save the downloaded file.
  2. Make it executable and run it:
    chmod +x BLine-*.AppImage
    ./BLine-*.AppImage
    

No system dependencies required.

If a platform link is temporarily unavailable, use the BLine Web GitHub Releases page as the direct fallback.

Option 2: Legacy BLine-GUI from Source (Python package)

Use this if you specifically need the legacy PySide6 GUI from BLine-GUI.

Quick install (any platform with pipx):

pipx install git+https://github.com/edanliahovetsky/BLine-GUI.git
bline

To create a desktop shortcut with the BLine icon after installation:

bline --create-shortcut
Don't have pipx yet? Platform-specific setup
pip install pipx
pipx ensurepath
# restart your terminal
pipx install git+https://github.com/edanliahovetsky/BLine-GUI.git

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
brew install pipx
pipx ensurepath
pipx install git+https://github.com/edanliahovetsky/BLine-GUI.git
# Debian/Ubuntu
sudo apt install pipx
# Fedora
sudo dnf install pipx
# Arch
sudo pacman -S python-pipx

pipx ensurepath
pipx install git+https://github.com/edanliahovetsky/BLine-GUI.git

PySide6 build error? Pin Python 3.11 or 3.12:

pipx install --python python3.12 git+https://github.com/edanliahovetsky/BLine-GUI.git

Updating the Editor

# If you installed via a prebuilt BLine Web binary:
# download the latest desktop build and reinstall.

# If you installed via pipx:
pipx upgrade bline

# If you installed via pip in a venv:
pip install --upgrade git+https://github.com/edanliahovetsky/BLine-GUI.git
pipx upgrade bline fails on Windows

This happens when pipx is pointing at a moved/updated Python install. Recreate the venv:

pipx reinstall bline
# or
pipx uninstall bline
pipx install git+https://github.com/edanliahovetsky/BLine-GUI.git

Uninstalling the Legacy GUI

# pipx
pipx uninstall bline

# pip: just delete the venv / folder you created

BLine-Lib

BLine-Lib is distributed as a WPILib vendor library via JitPack. The current release is v0.8.4.

  1. Open VS Code with your FRC robot project.
  2. Press Ctrl+Shift+P (Cmd+Shift+P on macOS).
  3. Run WPILib: Manage Vendor Libraries.
  4. Select Install new libraries (online).
  5. Paste:

    https://bline-metrics.edan-liahovetsky.workers.dev/vendor/BLine-Lib.json
    

WPILib will download the vendor JSON and pin it to your project. To update to a newer version later, re-run the command and paste the same URL.

Fallback direct vendor JSON:

https://raw.githubusercontent.com/edanliahovetsky/BLine-Lib/main/BLine-Lib.json

Option 2: Gradle (JitPack)

If you prefer explicit Gradle configuration, add JitPack and pin the version in build.gradle:

repositories {
    maven { url 'https://jitpack.io' }
}

dependencies {
    implementation 'com.github.edanliahovetsky:BLine-Lib:v0.8.4'
}

Pin an exact version tag in a season. Using main-SNAPSHOT is only appropriate during off-season experimentation.

Verifying the install

After the vendor JSON is picked up (it can take a Gradle sync), the following import should resolve:

import frc.robot.lib.BLine.*;

If you see Unresolved dependency: com.github.edanliahovetsky:BLine-Lib:…, refresh Gradle. If it still fails, double-check the version tag exists on the releases page.

Requirements

  • Java 17 (the current WPILib toolchain)
  • WPILib 2026.x
  • A holonomic drivetrain (swerve, mecanum, etc.). BLine expects robot-relative ChassisSpeeds in and out; any holonomic chassis exposing those primitives will work.

Next Steps