cosmoforge 1.0.0rc1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,227 @@
1
+ Metadata-Version: 2.4
2
+ Name: cosmoforge
3
+ Version: 1.0.0rc1
4
+ Summary: CosmoForge: umbrella metapackage installing cosmocore, qube-qml, and picslike.
5
+ Author-email: Giacomo Galloni <giacomo.galloni@unife.it>
6
+ Requires-Python: <3.14,>=3.11
7
+ Requires-Dist: cosmocore
8
+ Requires-Dist: picslike
9
+ Requires-Dist: qube-qml
10
+ Description-Content-Type: text/markdown
11
+
12
+ # CosmoForge
13
+
14
+ [![Build Status](https://github.com/ggalloni/CosmoForge/workflows/Test%20CosmoForge%20Packages/badge.svg?branch=master)](https://github.com/ggalloni/CosmoForge/actions)
15
+ [![Documentation](https://github.com/ggalloni/CosmoForge/workflows/Build%20and%20Deploy%20Documentation/badge.svg?branch=master)](https://ggalloni.github.io/CosmoForge/)
16
+ [![codecov](https://codecov.io/gh/ggalloni/CosmoForge/branch/master/graph/badge.svg?token=UOm3LdvL7J)](https://codecov.io/gh/ggalloni/CosmoForge)
17
+ [![PyPI](https://img.shields.io/pypi/v/cosmoforge.svg)](https://pypi.org/project/cosmoforge/)
18
+ [![Code style: Ruff](https://img.shields.io/badge/code%20style-ruff-000000.svg)](https://github.com/charliermarsh/ruff)
19
+ [![Python](https://img.shields.io/badge/python-3.11%7C3.12%7C3.13-blue.svg)](https://www.python.org/downloads/)
20
+ [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
21
+
22
+ <p align="center">
23
+ <img src="https://raw.githubusercontent.com/ggalloni/CosmoForge/master/logos/logo_cosmoforge_light.png#gh-light-mode-only" alt="CosmoForge logo (light)" style="max-width:30%; height:auto;"/>
24
+ <img src="https://raw.githubusercontent.com/ggalloni/CosmoForge/master/logos/logo_cosmoforge_dark.png#gh-dark-mode-only" alt="CosmoForge logo (dark)" style="max-width:30%; height:auto;"/>
25
+ </p>
26
+
27
+ > **📚 [Complete Documentation](https://ggalloni.github.io/CosmoForge/) | [Installation Guide](https://ggalloni.github.io/CosmoForge/installation.html) | [Quick Start](https://ggalloni.github.io/CosmoForge/quickstart.html) | [API Reference](https://ggalloni.github.io/CosmoForge/api/cosmocore.html)**
28
+
29
+ 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.
30
+
31
+ ## Overview
32
+
33
+ CosmoForge consists of several interconnected packages designed for efficient and accurate cosmological parameter estimation:
34
+
35
+ - **cosmocore**: Core functionality for cosmological analysis including field management, matrix operations, and I/O utilities
36
+ - **qube-qml**: QML and Fisher matrix implementations for power spectrum estimation (imported as `qube`)
37
+ - **picslike**: Pixel-based Inference with Correlated-Skies Likelihood — pixel-space likelihood analysis for parameter estimation
38
+
39
+ ## Features
40
+
41
+ - **Fisher Matrix Analysis**: Fast Fisher matrix computation for cosmological parameter forecasting
42
+ - **QML Power Spectrum Estimation**: Quadratic Maximum Likelihood estimation for optimal power spectrum recovery
43
+ - **Pixel-Based Likelihood**: Direct likelihood evaluation in map pixel space for parameter estimation
44
+ - **MPI Parallelization**: Efficient parallel computation support for large-scale analyses
45
+ - **HEALPix Integration**: Full support for HEALPix pixelization scheme
46
+ - **Flexible Field Management**: Support for scalar (spin-0) and tensor (spin-2) fields
47
+ - **Beam and Noise Modeling**: Comprehensive instrumental effects modeling
48
+
49
+ ## Installation
50
+
51
+ > **📖 For detailed installation instructions, see the [Installation Guide](https://ggalloni.github.io/CosmoForge/installation.html)**
52
+
53
+ ### Requirements
54
+
55
+ - Python 3.11–3.13
56
+ - NumPy, SciPy
57
+ - healpy
58
+ - mpi4py (for parallel computation)
59
+
60
+ ### Install from PyPI
61
+
62
+ The umbrella distribution installs all three subpackages:
63
+
64
+ ```bash
65
+ pip install cosmoforge
66
+ ```
67
+
68
+ Or pick subpackages individually:
69
+
70
+ ```bash
71
+ pip install cosmocore # core utilities only
72
+ pip install qube-qml # adds QML / Fisher (imported as `qube`)
73
+ pip install picslike # adds pixel-space likelihood
74
+ ```
75
+
76
+ ### Install from source
77
+
78
+ ```bash
79
+ git clone https://github.com/ggalloni/CosmoForge.git
80
+ cd CosmoForge
81
+ uv sync --all-packages --all-extras --dev
82
+ ```
83
+
84
+ ## Quick Start
85
+
86
+ > **🚀 For comprehensive tutorials and examples, visit the [Quick Start Guide](https://ggalloni.github.io/CosmoForge/quickstart.html) and [Tutorials](https://ggalloni.github.io/CosmoForge/tutorials/index.html)**
87
+
88
+ ### Fisher Matrix Analysis
89
+
90
+ ```python
91
+ from qube import Fisher
92
+
93
+ # Initialize Fisher analysis
94
+ fisher = Fisher("config/fisher_config.yaml")
95
+ fisher.run()
96
+
97
+ # Get Fisher matrix
98
+ fisher_matrix = fisher.get_fisher_matrix()
99
+ ```
100
+
101
+ ### QML Power Spectrum Estimation
102
+
103
+ ```python
104
+ from qube import Spectra
105
+
106
+ # Initialize QML analysis
107
+ qml = Spectra("config/qml_config.yaml")
108
+ qml.run()
109
+
110
+ # Get power spectra
111
+ power_spectra = qml.get_power_spectra()
112
+ noise_bias = qml.get_noise_bias()
113
+ ```
114
+
115
+ ### Pixel-Based Likelihood Analysis
116
+
117
+ ```python
118
+ from picslike import PICSLike
119
+
120
+ # Initialize pixel-based likelihood
121
+ picslike = PICSLike(params_file="config/picslike_config.yaml")
122
+ picslike.run()
123
+
124
+ # Get results
125
+ chi_squared = picslike.get_chi_squared()
126
+ best_fit = picslike.get_best_fit()
127
+ ```
128
+
129
+ ### Using with Precomputed Fisher
130
+
131
+ ```python
132
+ from qube import Fisher, Spectra
133
+
134
+ # Compute Fisher matrix first
135
+ fisher = Fisher("config/fisher_config.yaml")
136
+ fisher.run()
137
+
138
+ # Reuse Fisher computation for QML
139
+ qml = Spectra("config/qml_config.yaml", fisher=fisher)
140
+ qml.run()
141
+ ```
142
+
143
+ ## Package Structure
144
+
145
+ ```text
146
+ CosmoForge/
147
+ ├── src/
148
+ │ ├── cosmoforge.cosmocore/ # Core functionality (published as `cosmocore`)
149
+ │ ├── cosmoforge.qube/ # QML and Fisher analysis (published as `qube-qml`, imported as `qube`)
150
+ │ ├── cosmoforge.picslike/ # Pixel-space likelihood (published as `picslike`)
151
+ │ └── cosmoforge.meta/ # Umbrella metapackage (published as `cosmoforge`)
152
+ ├── tests/ # Test suite
153
+ ├── docs/ # Documentation
154
+ └── examples/ # Example configurations
155
+ ```
156
+
157
+ ## Configuration
158
+
159
+ CosmoForge uses YAML configuration files to specify analysis parameters:
160
+
161
+ ```yaml
162
+ # Example configuration
163
+ nside: 4
164
+ lmax: 16
165
+ fields: "TEB"
166
+ maskfile: "data/mask.fits"
167
+ inputclfile: "data/fiducial_cls.txt"
168
+ # ... additional parameters
169
+ ```
170
+
171
+ ## Testing
172
+
173
+ Run the test suite:
174
+
175
+ ```bash
176
+ # Run all tests
177
+ uv run pytest
178
+
179
+ # Run specific package tests
180
+ uv run --package cosmocore pytest src/cosmoforge.cosmocore/tests/
181
+ uv run --package qube pytest src/cosmoforge.qube/tests/
182
+ uv run --package picslike pytest src/cosmoforge.picslike/tests/
183
+ ```
184
+
185
+ ## Performance
186
+
187
+ CosmoForge is designed for high-performance cosmological analysis:
188
+
189
+ - **Numba JIT compilation** for critical mathematical operations
190
+ - **MPI parallelization** for distributed computing
191
+ - **Optimized matrix operations** using LAPACK/BLAS
192
+ - **Memory-efficient algorithms** for large datasets
193
+
194
+ ## Contributing
195
+
196
+ 1. Fork the repository
197
+ 2. Create a feature branch
198
+ 3. Make your changes
199
+ 4. Add tests for new functionality
200
+ 5. Submit a pull request
201
+
202
+ ## License
203
+
204
+ [Add license information]
205
+
206
+ ## Citation
207
+
208
+ If you use CosmoForge in your research, please cite:
209
+
210
+ [Add citation information]
211
+
212
+ ## Support
213
+
214
+ > **📖 Complete documentation is available at: [https://ggalloni.github.io/CosmoForge/](https://ggalloni.github.io/CosmoForge/)**
215
+
216
+ For questions and support:
217
+
218
+ - Open an issue on GitHub
219
+ - Contact: [contact information]
220
+
221
+ ## Acknowledgments
222
+
223
+ CosmoForge builds upon established cosmological analysis methods and libraries:
224
+
225
+ - HEALPix for pixelization
226
+ - NumPy/SciPy for numerical computations
227
+ - MPI for parallelization
@@ -0,0 +1,3 @@
1
+ cosmoforge-1.0.0rc1.dist-info/METADATA,sha256=waeQVMggbOB9SH02TWJi6-02h991ldg9mlLD4X0mzWs,7731
2
+ cosmoforge-1.0.0rc1.dist-info/WHEEL,sha256=QccIxa26bgl1E6uMy58deGWi-0aeIkkangHcxk2kWfw,87
3
+ cosmoforge-1.0.0rc1.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.29.0
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any