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