Metadata-Version: 2.4
Name: spinplots
Version: 0.2.2
Summary: NMR spectra in python made easy
Author: Carlos Bornes, Daniel Pereira, Márcio Soares
License: BSD-3
Project-URL: repository, https://github.com/nuts-org/spinplots
Project-URL: documentation, https://nuts-org.github.io/spinplots/
Project-URL: changelog, https://github.com/nuts-org/spinplots/blob/main/CHANGELOG.md
Keywords: NMR,Plot
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
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: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: Unix
Classifier: Operating System :: MacOS
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE.md
Requires-Dist: numpy
Requires-Dist: nmrglue
Requires-Dist: pandas
Requires-Dist: matplotlib
Provides-Extra: dev
Requires-Dist: codecov-cli>=0.4.1; extra == "dev"
Requires-Dist: pytest>=7.4.0; extra == "dev"
Requires-Dist: pytest-cov>=3.0.0; extra == "dev"
Requires-Dist: ruff>=0.0.285; extra == "dev"
Provides-Extra: docs
Requires-Dist: mkdocs-material>=9.4.0; extra == "docs"
Requires-Dist: mkdocstrings>=0.22.0; extra == "docs"
Requires-Dist: mkdocstrings-python>=2.0.0; extra == "docs"
Requires-Dist: mkdocs-gen-files>=0.5.0; extra == "docs"
Requires-Dist: mkdocs-literate-nav>=0.6.0; extra == "docs"
Requires-Dist: pillow>=10.0.0; extra == "docs"
Requires-Dist: cairosvg>=2.7.1; extra == "docs"
Requires-Dist: mike>=2.0; extra == "docs"
Requires-Dist: mknotebooks; extra == "docs"
Dynamic: license-file

# SpinPlots: Python NMR plots made easy

[![DOI](https://zenodo.org/badge/782205685.svg)](https://doi.org/10.5281/zenodo.14041925)

SpinPlots is a Python package designed to streamline the process of loading and plotting NMR data. Built on top of [NMRglue](https://www.nmrglue.com/), SpinPlots simplifies the plotting of NMR spectra. While NMRglue is a powerful tool for reading, processing, and analyzing NMR data, plotting with it can be cumbersome and code-intensive. SpinPlots addresses this by offering an intuitive interface for generating publication-ready plots with minimal effort.

## Quick Start

```python
from spinplots import read_nmr

# Plot a 1D spectrum
read_nmr("path/to/bruker/pdata/1").plot()

# Plot a 2D spectrum with projections
read_nmr("path/to/2d/pdata/1").plot(contour_start=1e5)
```

## Features 🤌

- **One line plotting**: Generate 1D and 2D NMR plots with a single function call
- **Multiple formats**: Support for Bruker and DMFit data
- **Automatic labeling**: Axes labeled with nuclei and units
- **Overlays and stacking**: Compare multiple spectra on one plot
- **Grid layouts**: Plot multiple spectra in customizable grid arrangements
- **2D projections**: Automatic F1/F2 projections for 2D spectra
- **Publication-ready**: Customizable styling with sensible defaults

## Documentation 📖

Complete documentation, including installation instructions and usage guides, can be found [here](https://nuts-org.github.io/spinplots/).

## Contributing 

Open to suggestions and contributions! Feel free to open an issue or pull request.
