Installation#
Requirements#
Python: 3.8 or higher
Operating System: Linux, macOS, or Windows with WSL (see Windows note below)
Quick Install#
Install the latest stable release from PyPI:
pip install astro-brutus
Development Install#
Install the development version (v1.1.0) directly from GitHub:
pip install git+https://github.com/joshspeagle/brutus.git
Or clone for local development:
git clone https://github.com/joshspeagle/brutus.git
cd brutus
pip install -e ".[dev]"
Windows Users#
Warning
Due to the healpy dependency (required for dust mapping), brutus does not
work on native Windows. Windows users must use WSL (Windows Subsystem for Linux).
To install on Windows:
Install WSL with Ubuntu or another Linux distribution
Open a WSL terminal and follow the standard installation instructions above
Alternatively, use a Linux-based Docker container.
Dependencies#
Core dependencies that will be automatically installed:
numpy(≥1.19) - Numerical computingscipy(≥1.6) - Scientific computingmatplotlib(≥3.3) - Plottingh5py(≥3.0) - HDF5 file supporthealpy(≥1.14) - HEALPix utilities for incorporating dust mapsnumba(≥0.53) - Just-in-time compilation for performancepooch(≥1.4) - Data downloading and managementtqdm(≥4.50) - Progress bars and live tracking
Data Files#
Warning
You must download data files before using brutus. The package will not work without them.
After installing brutus, download the required model data:
Function |
Size |
Purpose |
Required? |
|---|---|---|---|
|
~750 MB |
Pre-computed stellar model grids for fast fitting |
Yes |
|
~250 MB |
Isochrone tables for stellar populations |
Yes |
|
<1 KB |
Photometric calibration offsets for improved accuracy |
Recommended |
|
~2 GB |
3D dust maps (Bayestar) for extinction priors |
Optional |
Recommended setup:
from brutus.data import fetch_grids, fetch_isos, fetch_offsets
# Download stellar model grid (~750 MB)
grid_path = fetch_grids(grid='mist_v9')
# Download isochrone tables (~250 MB)
iso_path = fetch_isos(iso='MIST_1.2_vvcrit0.0')
# Download photometric offsets (recommended for fitting)
offset_path = fetch_offsets(grid='mist_v9')
With 3D dust maps (for extinction priors):
from brutus.data import fetch_dustmaps
# Download Bayestar dust maps (~2 GB)
dustmap_path = fetch_dustmaps(dustmap='bayestar19')
Photometric Offsets#
The photometric offsets correct for systematic differences between observed and model photometry. These are derived from well-characterized calibration stars and significantly improve fitting accuracy. While not strictly required, using offsets is strongly recommended for reliable results.
Files are cached in your user data directory and only downloaded once. Total disk space needed: ~1 GB minimum, ~3 GB with dust maps.
Testing the Installation#
To verify your installation works correctly:
import brutus
print(f"brutus version: {brutus.__version__}")
# Test core imports
from brutus.core import Isochrone, StarGrid
from brutus.analysis import BruteForce
print("Installation successful!")