Metadata-Version: 2.4
Name: stellar_geology
Version: 0.1.0
Summary: A python library for calculating planet geochemistry from stellar compositions.
Author-email: Kayla Iacovino <kaylaiacovino@protonmail.com>
License: MIT
Project-URL: Homepage, https://github.com/kaylai/stellar-geology
Project-URL: Repository, https://github.com/kaylai/stellar-geology
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy>=1.22.4
Requires-Dist: pandas>=2.0.3
Requires-Dist: plotly>=6.1.0
Provides-Extra: docs
Requires-Dist: sphinx>=7.0; extra == "docs"
Requires-Dist: sphinx-rtd-theme>=2.0; extra == "docs"
Requires-Dist: sphinx-copybutton; extra == "docs"
Requires-Dist: sphinx-autodoc-typehints; extra == "docs"
Requires-Dist: sphinx-gallery; extra == "docs"
Requires-Dist: myst-parser; extra == "docs"
Requires-Dist: matplotlib; extra == "docs"
Requires-Dist: plotly; extra == "docs"
Provides-Extra: dev
Requires-Dist: mypy; extra == "dev"
Requires-Dist: pytest; extra == "dev"
Requires-Dist: pandas-stubs; extra == "dev"
Requires-Dist: matplotlib; extra == "dev"
Requires-Dist: pymupdf; extra == "dev"
Requires-Dist: kaleido; extra == "dev"
Requires-Dist: build; extra == "dev"
Requires-Dist: twine; extra == "dev"
Dynamic: license-file

Stellar Geology
===============

[![Documentation Status](https://readthedocs.org/projects/stellar-geology/badge/?version=latest)](https://stellar-geology.readthedocs.io/en/latest/?badge=latest) [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.20492497.svg)](https://doi.org/10.5281/zenodo.20492497)


A python library for calculating planet geochemistry from stellar compositions.

`stellar_geology` takes a star’s elemental abundances (in dex notation), converts them through a geochemical pipeline, and predicts the bulk and silicate composition of rocky planets. It then calculates CIPW normative mineralogy for the resulting silicate mantles — olivine, pyroxene, garnet, and more.

```python
import stellar_geology as sg

# make a star
star = sg.Star(stellar_dex={"Fe": 0.1, "Mg": -0.05, "Si": -0.05, "Ca": 0.02, "Al": 0.03})

# derive a planet
planet = sg.Planet.from_star(star)
bsp = sg.Planet(bulk_planet=planet.bulk_planet, alphas={"Fe": 0.49, "Ni": 0.49})
bsp = bsp.get_composition("bulk_silicate_planet", units="wtpt_oxides")

# calculate its mineralogy
mineralogy = sg.calculate_mineralogy(bsp)
```

## Installation
stellar_geology is not yet on PyPI, but you can pip install by git cloning or via the following:

```bash
pip install git+https://github.com/kaylai/stellar-geology.git
```
