Metadata-Version: 2.2
Name: pysme-astro
Version: 1.2.0
Summary: Spectroscopy Made Easy
Author: Mingjie Jian, Ansgar Wehrhahn, Jeff A. Valenti
Classifier: Programming Language :: Python :: 3
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 :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Project-URL: Bug Tracker, https://github.com/SpectroscopyMadeEasy/PySME/issues
Project-URL: Documentation, https://pysme-astro.readthedocs.io/en/latest/
Project-URL: Source Code, https://github.com/SpectroscopyMadeEasy/PySME/
Requires-Python: >=3.10
Requires-Dist: numpy>=1.23
Requires-Dist: scipy<2.0,>=1.9
Requires-Dist: pandas<3.0,>=1.5
Requires-Dist: astropy<8,>=6
Requires-Dist: tqdm>=4.64
Requires-Dist: colorlog>=6.7
Requires-Dist: emcee>=3.1
Requires-Dist: pybtex>=0.24
Requires-Dist: flex-format>=0.2.18
Requires-Dist: plotly<6.0,>=5.11
Requires-Dist: matplotlib<4.0,>=3.6
Requires-Dist: requests<3.0,>=2.28
Requires-Dist: wget>=3.2
Requires-Dist: pqdm>=0.1
Provides-Extra: dev
Requires-Dist: pytest<9,>=7.2; extra == "dev"
Requires-Dist: sphinx<9,>=5.3; extra == "dev"
Requires-Dist: pre-commit<4,>=2.20; extra == "dev"
Requires-Dist: flake8<8,>=7; extra == "dev"
Description-Content-Type: text/markdown

![Python application](https://github.com/SpectroscopyMadeEasy/PySME/workflows/Python%20application/badge.svg)
[![Documentation Status](https://readthedocs.org/projects/pysme-astro/badge/?version=latest)](https://pysme-astro.readthedocs.io/en/latest/?badge=latest)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.5547527.svg)](https://doi.org/10.5281/zenodo.5547527)

# PySME

> [!WARNING]
> **NLTE correctness notice:** PySME versions from v0.4.151 through v1.1.0
> can assign NLTE departure coefficients to the wrong spectral transitions
> when SMElib discards transitions with unsupported ionization stages. These
> releases are no longer recommended for scientific NLTE synthesis. Upgrade to
> PySME v1.1.1 or later and rerun affected NLTE calculations. LTE synthesis is
> not affected by this specific issue. See the [NLTE documentation](https://pysme-astro.readthedocs.io/en/latest/concepts/nlte.html)
> for details.

Spectroscopy Made Easy (SME) is a software tool that fits an observed
spectrum of a star with a model spectrum. Since its initial release in
[1996](http://adsabs.harvard.edu/abs/1996A%26AS..118..595V), SME has been a
suite of IDL routines that call a dynamically linked library, which is
compiled from C++ and fortran. This classic IDL version of SME is available
for [download](http://www.stsci.edu/~valenti/sme.html).

PySME includes high-performance adaptive synthesis for wide and line-rich
spectra in both plane-parallel and spherical atmospheres.

In 2018, we began began reimplmenting the IDL part of SME in python 3,
adopting an object oriented paradigm and continuous itegration practices
(code repository, build automation, self-testing, frequent builds).

# Installation

Stable release (recommended):

```bash
pip install pysme-astro
```

On macOS arm64, `pip` will use a pre-built wheel when one matches your Python
and macOS version. If no compatible wheel is available, `pip` falls back to a
source build. In that case, install the local build toolchain first:

```bash
brew install gcc cmake ninja
```

Install latest source from GitHub:

```bash
git clone --recurse-submodules https://github.com/SpectroscopyMadeEasy/PySME.git
cd PySME
pip install .
```

If you already cloned without submodules:

```bash
git submodule update --init --recursive
```

For full installation options (virtual environments, specific tags, uninstall), see:
https://pysme-astro.readthedocs.io/en/latest/getting_started/installation.html

# Poster

A poster about PySME can be found here: [Poster](http://sme.astro.uu.se/poster.html)

# GUI

A GUI for PySME is available in its own repository [PySME-GUI](https://github.com/SpectroscopyMadeEasy/PySME-GUI).

# Windows

PySME is supported on Windows via WSL2 (install and run PySME inside the Linux subsystem).
