Skip to main content

CosmoForge logo (light) CosmoForge logo (dark)

Build Status Documentation Status codecov PyPI Code style: Ruff Python License

📚 Complete Documentation | Installation Guide | Quick Start | API Reference

CosmoForge is a comprehensive Python framework for power spectrum estimation and likelihood analysis of spin-0 and spin-2 fields on the sphere, using Fisher matrix, Quadratic Maximum Likelihood (QML), and pixel-based likelihood methods. While widely applicable to any sky signal (e.g. CMB, galaxy surveys, 21 cm), it is particularly optimized for the analysis of partial-sky, noisy observations with complex noise covariance.

Overview

CosmoForge consists of several interconnected packages designed for efficient and accurate cosmological parameter estimation:

  • cosmocore: Core functionality for cosmological analysis including field management, matrix operations, and I/O utilities
  • qube-qml: QML and Fisher matrix implementations for power spectrum estimation (imported as qube)
  • picslike: Pixel-based Inference with Correlated-Skies Likelihood — pixel-space likelihood analysis for parameter estimation

Features

  • Fisher Matrix Analysis: Fast Fisher matrix computation for cosmological parameter forecasting
  • QML Power Spectrum Estimation: Quadratic Maximum Likelihood estimation for optimal power spectrum recovery
  • Pixel-Based Likelihood: Direct likelihood evaluation in map pixel space for parameter estimation
  • MPI Parallelization: Efficient parallel computation support for large-scale analyses
  • HEALPix Integration: Full support for HEALPix pixelization scheme
  • Flexible Field Management: Support for scalar (spin-0) and tensor (spin-2) fields
  • Beam and Noise Modeling: Comprehensive instrumental effects modeling

Installation

📖 For detailed installation instructions, see the Installation Guide

Requirements

  • Python 3.11–3.13
  • NumPy, SciPy
  • healpy
  • mpi4py (for parallel computation)

Install from PyPI

The umbrella distribution installs all three subpackages:

pip install cosmoforge

Or pick subpackages individually:

pip install cosmocore       # core utilities only
pip install qube-qml        # adds QML / Fisher (imported as `qube`)
pip install picslike        # adds pixel-space likelihood

Install from source

git clone https://github.com/ggalloni/CosmoForge.git
cd CosmoForge
uv sync --all-packages --all-extras --dev

Quick Start

🚀 For comprehensive tutorials and examples, visit the Quick Start Guide and Tutorials

Fisher Matrix Analysis

from qube import Fisher

# Initialize Fisher analysis
fisher = Fisher("config/fisher_config.yaml")
fisher.run()

# Get Fisher matrix
fisher_matrix = fisher.get_fisher_matrix()

QML Power Spectrum Estimation

from qube import Spectra

# Initialize QML analysis
qml = Spectra("config/qml_config.yaml")
qml.run()

# Get power spectra
power_spectra = qml.get_power_spectra()
noise_bias = qml.get_noise_bias()

Pixel-Based Likelihood Analysis

from picslike import PICSLike

# Initialize pixel-based likelihood
picslike = PICSLike(params_file="config/picslike_config.yaml")
picslike.run()

# Get results
chi_squared = picslike.get_chi_squared()
best_fit = picslike.get_best_fit()

Using with Precomputed Fisher

from qube import Fisher, Spectra

# Compute Fisher matrix first
fisher = Fisher("config/fisher_config.yaml")
fisher.run()

# Reuse Fisher computation for QML
qml = Spectra("config/qml_config.yaml", fisher=fisher)
qml.run()

Package Structure

CosmoForge/
├── src/
│   ├── cosmoforge.cosmocore/    # Core functionality (published as `cosmocore`)
│   ├── cosmoforge.qube/         # QML and Fisher analysis (published as `qube-qml`, imported as `qube`)
│   ├── cosmoforge.picslike/     # Pixel-space likelihood (published as `picslike`)
│   └── cosmoforge.meta/         # Umbrella metapackage (published as `cosmoforge`)
├── tests/                       # Test suite
├── docs/                        # Documentation
└── examples/                    # Example configurations

Configuration

CosmoForge uses YAML configuration files to specify analysis parameters:

# Example configuration
nside: 4
lmax: 16
fields: "TEB"
maskfile: "data/mask.fits"
inputclfile: "data/fiducial_cls.txt"
# ... additional parameters

Testing

Run the test suite:

# Run all tests
uv run pytest

# Run specific package tests
uv run --package cosmocore pytest src/cosmoforge.cosmocore/tests/
uv run --package qube pytest src/cosmoforge.qube/tests/
uv run --package picslike pytest src/cosmoforge.picslike/tests/

Performance

CosmoForge is designed for high-performance cosmological analysis:

  • Numba JIT compilation for critical mathematical operations
  • MPI parallelization for distributed computing
  • Optimized matrix operations using LAPACK/BLAS
  • Memory-efficient algorithms for large datasets

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests for new functionality
  5. Submit a pull request

License

[Add license information]

Citation

If you use CosmoForge in your research, please cite:

Galloni, G. & Pagano, L., CosmoForge I: A unified framework for QML power spectrum estimation and pixel-based likelihood analysis, arXiv:2605.21149 (2026).

@article{GalloniPagano_CosmoForgeI,
    author        = {Galloni, G. and Pagano, L.},
    title         = {{CosmoForge I}: A unified framework for {QML} power spectrum estimation and pixel-based likelihood analysis},
    year          = {2026},
    eprint        = {2605.21149},
    archivePrefix = {arXiv},
    primaryClass  = {astro-ph.CO},
}

Support

📖 Complete documentation is available at: https://cosmoforge.readthedocs.io/en/latest/

For questions and support:

  • Open an issue on GitHub
  • Contact: [contact information]

Acknowledgments

CosmoForge builds upon established cosmological analysis methods and libraries:

  • HEALPix for pixelization
  • NumPy/SciPy for numerical computations
  • MPI for parallelization

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cosmoforge-1.1.0.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cosmoforge-1.1.0-py3-none-any.whl (3.9 kB view details)

Uploaded Python 3

File details

Details for the file cosmoforge-1.1.0.tar.gz.

File metadata

  • Download URL: cosmoforge-1.1.0.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for cosmoforge-1.1.0.tar.gz
Algorithm Hash digest
SHA256 157e8b195addd7e77c54093fd8e85afd16953ed40e377ddfd3beb28899207cf8
MD5 50da124d8af5a0c480fcc3ed6fb9fcc3
BLAKE2b-256 9baffe1a2e43fb7a8d285289eb09f8995efbc62f599b19ce7b79ff9178cbae4b

See more details on using hashes here.

Provenance

The following attestation bundles were made for cosmoforge-1.1.0.tar.gz:

Publisher: publish.yml on ggalloni/CosmoForge

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cosmoforge-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: cosmoforge-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 3.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for cosmoforge-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a4454112a3603b184e0e985bcf5b00527670308d24710c241be788451b06c1e8
MD5 35d419bf2a8cf8486bccd029ad9b58d9
BLAKE2b-256 3dbfc2527bbd49516555e892576673641b654a8e50c25ee94da5f4e1edcec3bc

See more details on using hashes here.

Provenance

The following attestation bundles were made for cosmoforge-1.1.0-py3-none-any.whl:

Publisher: publish.yml on ggalloni/CosmoForge

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 files

1.0.1

2 files

1.0.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page