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")