Metadata-Version: 2.4
Name: cmbroom
Version: 0.1.0
Summary: A Python package for blind component separation of microwave sky maps.
Home-page: https://github.com/alecarones/broom
Author: Alessandro Carones
Author-email: Alessandro Carones <acarones@sissa.it>
License: GPL-3.0-or-later
Project-URL: Homepage, https://github.com/alecarones/broom
Project-URL: Source, https://github.com/alecarones/broom
Project-URL: Issues, https://github.com/alecarones/broom/issues
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: astropy>=6.0.1
Requires-Dist: numpy>=1.18.5
Requires-Dist: scipy>=1.8
Requires-Dist: healpy>=1.15
Requires-Dist: pysm3>=3.3.2
Requires-Dist: mtneedlet>=0.0.5
Requires-Dist: threadpoolctl>=3.6.0
Provides-Extra: pymaster
Requires-Dist: pymaster>=2.4; extra == "pymaster"
Provides-Extra: docs
Requires-Dist: pdoc; extra == "docs"
Dynamic: author
Dynamic: home-page
Dynamic: license-file
Dynamic: requires-python

<img src="logo_broom.png" width="200"> 

# BROOM: Blind Reconstruction Of signals from Observations in the Microwaves

**BROOM** is a Python package for blind component separation and Cosmic Microwave Background (CMB) data analysis.

---

## 📦 Installation

You can install the base package using:

```
pip install cmbroom
```

This installs the core functionality.  
If you plan to use the few functions that depend on `pymaster`, **you must install it separately** (version `>=2.4`).

---

### 🔧 To include `pymaster` automatically:

You can install `cmbroom` along with its optional `pymaster` dependency by running:

```
pip install cmbroom[pymaster]
```

However, `pymaster` requires some additional system libraries to be installed **before** running the above command.

#### ✅ On Ubuntu/Debian:
```
sudo apt update
sudo apt install build-essential python3-dev libfftw3-dev libcfitsio-dev
```

#### ✅ On macOS (using Homebrew):
```
brew install fftw cfitsio
```

### 📦 Dependencies

This package relies on several scientific Python libraries:

- [numpy>1.18.5](https://numpy.org/)
- [scipy>=1.8](https://scipy.org/)
- [healpy>=1.15](https://healpy.readthedocs.io/)
- [pysm3>=3.3.2](https://pysm3.readthedocs.io/en/latest/#)
- [mtneedlet>=0.0.5](https://javicarron.github.io/mtneedlet/)


