Skip to main content
The precompiled Basilisk package on PyPI is sufficient for most users. Build from source when you need to:
  • Create custom C++ modules — the PyPI wheels do not support linking external C++ modules. Building from source is the only way to integrate your own modules into a Basilisk simulation.
  • Enable optional subsystems — opNav (OpenCV-based visual navigation) and mujoco physics are disabled in the standard wheel and must be toggled on at build time.
  • Debug or modify Basilisk internals — access to the full source tree, IDE project files, and C/C++ debug symbols.
  • Contribute to the repository — all development work requires a local source build.
If none of the above apply to you, install Basilisk with pip install bsk and skip this section entirely.

Prerequisites

All platforms require the following tools before you run the build. The versions listed here are the ranges validated by the Basilisk CI pipeline.
ToolVersion rangeNotes
Python3.9 – 3.14Python 3.8 is deprecated and will be removed April 2026. Use a 64-bit installer.
CMake3.26 – 4.0Installed automatically via pip from requirements_dev.txt.
Conan2.0.5 – 2.23.0Package manager used to fetch and compile C++ dependencies. Installed via pip.
SWIG4.2.1 – 4.3.1Generates Python bindings for C/C++ modules. Installed via pip.
C++ compilerPlatform-dependentXcode on macOS, GCC on Linux, Visual Studio 17 2022 on Windows.
CMake, Conan, and SWIG are all installed automatically when you run:
pip install -r requirements_dev.txt
You do not need to install them separately.

Python runtime dependencies

The following packages are installed automatically when you build Basilisk:
pandas>=2.0.3,<=2.3.3
matplotlib>=3.7.5,<=3.10.7
numpy>=1.24.4,<2.4.0
colorama==0.4.6
tqdm==4.67.1
pillow>=10.4.0,<=12.0.0
requests>=2.32.3,<=2.32.5
bokeh>=3.1.1,<=3.8.1
protobuf>=5.29.4,<=6.33.1
pooch>=1.7.0,<1.9
sgp4==2.23

How the build works

The entry point for every build is conanfile.py in the Basilisk root directory. Running it:
  1. Fetches and compiles C++ dependencies with Conan (protobuf, ZeroMQ, OpenCV if requested, etc.).
  2. Generates an IDE project or makefile for your platform inside the dist3/ folder.
  3. Compiles the project unless you pass --buildProject False.
python3 conanfile.py
See the platform-specific guides below for the exact steps on your operating system.

Platform guides

macOS

Xcode, Homebrew, and Apple Silicon instructions.

Linux

Debian/Ubuntu and Fedora setup.

Windows

Visual Studio 2022 and PowerShell setup.

Other topics

Custom modules

Build external C++ modules alongside Basilisk.

Containers

Pull and run the official Docker image.

Build docs developers (and LLMs) love