Installation
This section describes how to install JABS as an end user.
Note
The first time you run JABS, it may take a few minutes to initialize. Startup time for subsequent runs will be substantially faster.
Developers should see the JABS Development page for instructions on setting up a development environment.
Install with pipx or uv
Recommended
The easiest way to install JABS is using pipx or uv, which install Python applications in isolated environments:
Both commands automatically create a virtual environment and make the JABS commands available system-wide. After installation, you can run JABS from any terminal.
Run with uvx
No Installation Required
Alternatively, you can use uvx to run JABS without permanently installing it:
This runs JABS in an isolated environment without permanently installing it. You can
also use uvx to run other JABS commands:
Create a Virtual Environment
If not using pipx or uvx, we recommend installing JABS within a dedicated Python
virtual environment to avoid conflicts with other packages. You can create and activate
a virtual environment using the following commands:
python -m venv jabs.venv
# Linux and macOS
source jabs.venv/bin/activate
# Windows (cmd)
jabs.venv\Scripts\activate.bat
JABS supports Python 3.10 through 3.14. Make sure to use a compatible Python version when creating the virtual environment.
Install from Source
If you want the latest development version or need to install a specific branch/commit:
From GitHub
Specify a branch or commit if needed:
pip install git+https://github.com/KumarLabJax/JABS-behavior-classifier.git@branch-name
pip install git+https://github.com/KumarLabJax/JABS-behavior-classifier.git@commit-hash
From Local Clone
If you’ve cloned the JABS repository:
Windows Setup Helpers
Two batch scripts are included for Windows users working with a local clone:
setup_windows.bat— Creates ajabs.venvvirtual environment and installs JABS.launch_jabs.bat— Activates the environment and launches the JABS GUI.
Double-click these scripts in Windows Explorer to run them.
Enabling XGBoost Classifier
The XGBoost Classifier has a dependency on the OpenMP library. This does not ship with macOS. XGBoost should work "out of the box" on other platforms. On macOS, you can install libomp with Homebrew (preferred) with the following command brew install libomp. You can also install libomp from source if you can't use Homebrew, but this is beyond the scope of this Readme.
Because libomp is dynamically loaded by XGBoost it can be installed before or after installing jabs-behavior-classifier.
Running JABS
After installation, the following commands are available in your environment:
jabs— launch the JABS GUIjabs-init— initialize a new JABS project directory or recompute features in an existing projectjabs-classify— run a trained classifierjabs-export-training— export training data from an existing JABS projectjabs-cli- collection of smaller command line utilities
You can view usage information for any command with:
Sample Data
We provide sample data for testing and demonstration purposes. You can download the sample data from https://doi.org/10.5281/zenodo.16697331
If everything runs smoothly, you should see a JABS startup window like the following:

Preparing the JABS Project
Once the JABS environment is activated, prepare your project folder. The folder should contain the videos for labeling and the corresponding pose file for each video. Once prepared, you may either proceed to open the JABS GUI or initialize the project folder prior to working using jabs-init.
This will generate the JABS features for the project for the default window size of 5. The argument ‘-w’ can be used to set the initial window size for feature generation.
Starting up
You can open the JABS GUI with the command: