Metadata-Version: 2.5
Name: crimsons
Version: 0.1.2
Summary: Stochastic chemical enrichment of stellar populations (SNII, SNIa, AGB) from a sampled IMF.
Project-URL: Homepage, https://github.com/lquerci/crimsons
Project-URL: Issues, https://github.com/lquerci/crimsons/issues
Author-email: Lapo Querci <lapo.querci@unifi.it>
License: MIT
License-File: LICENSE
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering :: Astronomy
Requires-Python: >=3.10
Requires-Dist: h5py>=3.8
Requires-Dist: numpy>=1.24
Requires-Dist: scipy>=1.10
Requires-Dist: tqdm>=4.70
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == 'dev'
Requires-Dist: ruff; extra == 'dev'
Provides-Extra: docs
Requires-Dist: mkdocs-git-revision-date-localized-plugin>=1.2; extra == 'docs'
Requires-Dist: mkdocs-material>=9.5; extra == 'docs'
Requires-Dist: mkdocs>=1.5; extra == 'docs'
Requires-Dist: mkdocstrings[python]>=0.24; extra == 'docs'
Requires-Dist: pymdown-extensions>=10.9; extra == 'docs'
Provides-Extra: parallel
Requires-Dist: joblib; extra == 'parallel'
Provides-Extra: plot
Requires-Dist: matplotlib; extra == 'plot'
Description-Content-Type: text/markdown

# CRIMSONS

Chemical evolution with the Random sampling of the Initial Mass function: Studying the Origin of Nucleosynthetic Stellar products

This python package performs the stochastic chemical-enrichment simulations of stellar populations: sample
an initial mass function, evolve it through core-collapse supernovae, AGB
winds, Type Ia supernovae and (optionally) pair-instability supernovae,
and get back the time-resolved abundances of 30 elements released to the
interstellar medium.

> **Status:** first public version

## Install

```bash
pip install crimsons 
```

or from source

```bash
git clone https://github.com/lquerci/crimsons.git
cd crimsons
pip install .
```


## Quickstart

```python
from crimsons import Kroupa2001, Simulation

sim = Simulation(
    imf=Kroupa2001(),
    mass_formed=1e6,
    metallicity=0.0142,
    n_realizations=20,
    seed=42,
)
result = sim.run()
mean_fe = result["Fe"].mean()
```

## Documentation

Full documentation -- installation, examples, the physics behind each
piece, and the complete API reference -- lives at
`https://crimsons.readthedocs.io`.

## License

MIT -- see [LICENSE](LICENSE).