Installation

Installation Profiles

Full Installation (Complete Feature Set)

For research environments with comprehensive analysis workflows and maximum functionality:

# Complete installation with all optional dependencies
pip install marEx[full]

HPC Installation (Supercomputing Environments)

For deployment on SLURM clusters, cloud computing, or multi-node processing scaling to 1000+ cores with optimised memory management:

# Complete HPC setup with all features
pip install marEx[full,hpc]

Development Installation (Contributing to MarEx)

For contributing to MarEx, customizing algorithms, or debugging:

# Clone and install for development
git clone https://github.com/wienkers/marEx.git
cd marEx
pip install -e .[dev]

# Install pre-commit hooks
pre-commit install

Basic Installation

For basic functionality with minimal dependencies:

# Basic installation
pip install marEx

This installs the core package with required dependencies only.

Optional Dependencies

You can install specific optional dependency groups:

# Performance enhancements
pip install marEx[performance]    # JAX acceleration

# Enhanced plotting
pip install marEx[plotting]       # Seaborn, cmocean colormaps

# HPC cluster support
pip install marEx[hpc]            # SLURM integration, psutil

# Development tools
pip install marEx[dev]            # Testing, linting, pre-commit hooks

Checking Your Installation

After installation, verify that MarEx is working correctly and check dependency status:

import marEx

# Check version
print(f"MarEx version: {marEx.__version__}")

# Check dependency status
marEx.print_dependency_status()

# Check if specific optional dependencies are available
print(f"JAX acceleration available: {marEx.has_dependency('jax')}")

# Configure logging (optional)
marEx.set_verbose_mode()  # For detailed logging during development

System Requirements

Python Version: 3.10 or higher Operating Systems: Linux, macOS, Windows Storage: SSD or Lustre system recommended for optimal I/O performance

Performance Dependencies

For optimal performance, install these optional dependencies:

JAX Acceleration

# Install JAX for GPU/TPU acceleration
pip install marEx[performance]

JAX provides significant speedups for numerical computations and enables GPU/TPU acceleration when available.

FFmpeg (for animations)

# Ubuntu/Debian
sudo apt-get install ffmpeg

# macOS with Homebrew
brew install ffmpeg

# Windows with Chocolatey
choco install ffmpeg

FFmpeg is required for creating animated visualizations.

Upgrading

To upgrade MarEx to the latest version:

pip install --upgrade marEx[full]

To upgrade to a specific version:

pip install marEx[full]==3.0.0