Metadata-Version: 2.4
Name: astro-brutus
Version: 1.1.0
Summary: Brute-force Bayesian inference for photometric distances, reddenings, and stellar properties
Author-email: Joshua S Speagle <j.speagle@utoronto.ca>
Maintainer-email: Joshua S Speagle <j.speagle@utoronto.ca>
License: MIT
Project-URL: Homepage, https://github.com/joshspeagle/brutus
Project-URL: Repository, https://github.com/joshspeagle/brutus
Project-URL: Documentation, https://brutus.readthedocs.io
Project-URL: Bug Tracker, https://github.com/joshspeagle/brutus/issues
Keywords: brute force,photometry,bayesian,stellar,star,cluster,isochrone,dust,reddening,parallax,distance,template fitting
Classifier: Development Status :: 5 - Production/Stable
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Topic :: Scientific/Engineering :: Astronomy
Classifier: Intended Audience :: Science/Research
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: AUTHORS.md
Requires-Dist: numpy>=1.19
Requires-Dist: scipy>=1.6.0
Requires-Dist: matplotlib>=3.3.0
Requires-Dist: h5py>=3.0.0
Requires-Dist: healpy>=1.14.0
Requires-Dist: numba>=0.59.0
Requires-Dist: pooch>=1.4.0
Requires-Dist: tqdm>=4.50.0
Provides-Extra: dev
Requires-Dist: pytest>=6.0; extra == "dev"
Requires-Dist: pytest-cov>=2.10; extra == "dev"
Requires-Dist: black>=21.0; extra == "dev"
Requires-Dist: flake8>=3.8; extra == "dev"
Requires-Dist: isort>=5.0; extra == "dev"
Requires-Dist: mypy>=0.900; extra == "dev"
Provides-Extra: docs
Requires-Dist: sphinx>=6.0; extra == "docs"
Requires-Dist: sphinx-book-theme>=1.0.0; extra == "docs"
Requires-Dist: sphinx-design>=0.5.0; extra == "docs"
Requires-Dist: sphinx-copybutton>=0.5.0; extra == "docs"
Requires-Dist: numpydoc>=1.1; extra == "docs"
Requires-Dist: jupyter>=1.0; extra == "docs"
Requires-Dist: myst-nb>=1.0; extra == "docs"
Provides-Extra: test
Requires-Dist: pytest>=6.0; extra == "test"
Requires-Dist: pytest-cov>=2.10; extra == "test"
Requires-Dist: numpy; extra == "test"
Requires-Dist: scipy; extra == "test"
Requires-Dist: matplotlib; extra == "test"
Dynamic: license-file

# brutus

*Et tu, Brute?*

![brutus logo](https://github.com/joshspeagle/brutus/blob/master/brutus_logo.png?raw=true)

[![Tests](https://github.com/joshspeagle/brutus/workflows/Tests/badge.svg)](https://github.com/joshspeagle/brutus/actions)
[![Coverage](https://codecov.io/gh/joshspeagle/brutus/branch/master/graph/badge.svg)](https://codecov.io/gh/joshspeagle/brutus)
[![Documentation Status](https://readthedocs.org/projects/brutus/badge/?version=latest)](https://brutus.readthedocs.io/en/latest/?badge=latest)
[![PyPI](https://img.shields.io/pypi/v/astro-brutus.svg)](https://pypi.org/project/astro-brutus/)
[![arXiv](https://img.shields.io/badge/arXiv-2503.02227-b31b1b.svg)](https://arxiv.org/abs/2503.02227)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

`brutus` is a Python package for Bayesian inference of stellar properties, distances, and extinctions from photometry. It supports individual star fitting, cluster analysis, and 3D dust mapping.

**Documentation**: [brutus.readthedocs.io](https://brutus.readthedocs.io)

## Installation

```bash
pip install astro-brutus
```

Requires Python 3.9+ on Linux, macOS, or Windows with WSL.

**Windows users**: Due to the `healpy` dependency, brutus requires WSL (Windows Subsystem for Linux) on Windows.

### Development Install

```bash
git clone https://github.com/joshspeagle/brutus.git
cd brutus
pip install -e ".[dev]"
```

## Data Files

Download required stellar models and dust maps:

```python
from brutus import fetch_grids, fetch_isos, fetch_dustmaps

fetch_grids()      # MIST stellar grids
fetch_isos()       # MIST isochrones
fetch_dustmaps()   # 3D dust maps
```

Data files are also available from the [Harvard Dataverse](https://dataverse.harvard.edu/dataverse/astro-brutus).

## Citation

If you use `brutus`, please cite [Speagle et al. (2025)](https://arxiv.org/abs/2503.02227).

## License

MIT License. See [LICENSE](LICENSE) for details.

## Contact

- Author: Joshua S. Speagle (<j.speagle@utoronto.ca>)
- Issues: [GitHub Issues](https://github.com/joshspeagle/brutus/issues)

## Acknowledgments

`brutus` uses [MIST](http://waps.cfa.harvard.edu/MIST/) stellar evolution models and [Bayestar](https://argonaut.skymaps.info/) dust maps. We thank the developers for making their data publicly available.
