Installation

CosmoForge is organized as a namespace package with three main subpackages that can be installed independently or together.

Requirements

Core Requirements (all packages):

  • Python 3.11+

CosmoCore Requirements:

  • NumPy >= 2.2.6

  • SciPy >= 1.16.1

  • HEALPy >= 1.18.1

  • Numba >= 0.61.2

  • mpi4py >= 4.1.0

Development Requirements:

  • matplotlib >= 3.10.5

  • pytest

  • ruff (for linting)

Installation Options

Complete Installation

Install the entire CosmoForge framework:

git clone https://github.com/ggalloni/CosmoForge.git
cd CosmoForge
pip install -e .

This installs all subpackages: cosmocore, qube, and meta.

Individual Package Installation

Install specific subpackages as needed:

# Install only CosmoCore
cd CosmoForge/src/cosmoforge.cosmocore
pip install -e .

# Install only QUBE
cd CosmoForge/src/cosmoforge.qube
pip install -e .

# Install only Meta
cd CosmoForge/src/cosmoforge.meta
pip install -e .

Development Installation

For development work with all packages:

git clone https://github.com/ggalloni/CosmoForge.git
cd CosmoForge
pip install -e ".[dev]"

This includes testing, documentation, and code quality tools.

Verification

Verify your installation:

# Test CosmoCore
from cosmoforge.cosmocore.cosmocore.settings import InputParams
params = InputParams()
print(f"CosmoCore installed! nside={params.nside}")

# Test QUBE (if installed)
try:
    from cosmoforge.qube import Fisher
    print("QUBE installed successfully!")
except ImportError:
    print("QUBE not installed")

# Test Meta (if installed)
try:
    import cosmoforge.meta
    print("Meta installed successfully!")
except ImportError:
    print("Meta not installed")