Metadata-Version: 2.4
Name: paranmr
Version: 1.20.1
Summary: Prediction, fitting, and analysis of paramagnetic NMR spectra.
Author-email: Ernest Borysenko <eb2819@bath.ac.uk>
Maintainer-email: Ernest Borysenko <eb2819@bath.ac.uk>
License-Expression: GPL-3.0-or-later
Project-URL: Homepage, https://github.com/Mephistos-ML/paranmr
Project-URL: Documentation, https://mephistos-ml.github.io/paranmr/
Project-URL: Repository, https://github.com/Mephistos-ML/paranmr
Project-URL: Issues, https://github.com/Mephistos-ML/paranmr/issues
Project-URL: Original Source, https://gitlab.com/suturina-group/simpnmr
Keywords: paramagnetic NMR,NMR spectroscopy,susceptibility,hyperfine coupling,quantum chemistry
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Operating System :: OS Independent
Classifier: Topic :: Scientific/Engineering :: Chemistry
Classifier: Topic :: Scientific/Engineering :: Physics
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: THIRD_PARTY_NOTICES.md
Requires-Dist: numpy
Requires-Dist: scipy
Requires-Dist: sympy
Requires-Dist: matplotlib
Requires-Dist: pandas
Requires-Dist: pathos
Requires-Dist: PyYAML
Requires-Dist: pyyaml-include
Requires-Dist: adjustText
Provides-Extra: dev
Requires-Dist: pre-commit>=4.0; extra == "dev"
Requires-Dist: pytest>=8.0; extra == "dev"
Requires-Dist: pytest-cov>=7.0; extra == "dev"
Requires-Dist: coverage>=7.10.6; extra == "dev"
Requires-Dist: ruff>=0.16.1; extra == "dev"
Dynamic: license-file

# ParaNMR

> **ParaNMR** is an independently maintained research and engineering fork of [SimpNMR](https://gitlab.com/suturina-group/simpnmr), developed by Ernest Borysenko as part of his PhD research. It has its own release cycle and engineering direction, with particular emphasis on stable pipelines, reproducible validation, and maintainable architecture. Mature, broadly useful changes may later be adapted and contributed upstream to SimpNMR.

[![Docs](https://img.shields.io/badge/docs-ParaNMR-blue)](https://mephistos-ml.github.io/paranmr/)
[![CI](https://github.com/Mephistos-ML/paranmr/actions/workflows/ci.yml/badge.svg)](https://github.com/Mephistos-ML/paranmr/actions/workflows/ci.yml)
[![Coverage](https://codecov.io/gh/Mephistos-ML/paranmr/branch/main/graph/badge.svg?flag=python)](https://codecov.io/gh/Mephistos-ML/paranmr)
[![PyPI](https://img.shields.io/pypi/v/paranmr.svg)](https://pypi.org/project/paranmr/)
[![License](https://img.shields.io/badge/license-GPL--3.0--or--later-green)](LICENSE)

**ParaNMR** is an open-source Python toolkit for prediction, fitting, and analysis of paramagnetic NMR spectra using experimental measurements and ab initio calculations. It provides a focused, reproducible environment for developing dependable workflows and validating new pNMR methods.

## Features

- Prediction of paramagnetic NMR shifts and spectra
- Susceptibility tensor fitting from experimental measurements
- Integration with quantum-chemistry outputs, including ORCA and Gaussian
- Experimental fitting and inference workflows
- Regression tests for prediction and fitting workflows
- Research-oriented development of new pNMR analysis methods

## Project relationship and authorship

Ernest Borysenko is the sole current maintainer and developer of the independent ParaNMR fork. His contributions to this fork are distinct from the inherited SimpNMR code and scientific methods.

The upstream SimpNMR contributors credited by this repository are Ernest Borysenko, Jon Kragskow, James Whipham, Elizaveta Suturina, and Dan Burrows. Their upstream contributions remain acknowledged; this list does not identify them as current maintainers of ParaNMR or imply their endorsement of the fork.

Original copyright and licence notices are retained. Authorship and maintenance metadata do not determine copyright ownership. See [MODIFICATIONS.md](MODIFICATIONS.md) and [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md) for modification history and the provenance review.

## Installation

```bash
pip install paranmr
paranmr --help
```

ParaNMR requires Python 3.10 or newer.

The supported baseline is verified in CI on Python 3.10, 3.11, and 3.12.

## Quick example

```bash
paranmr predict input.yml
```

## Demonstration

The P3FeCl example runs a complete prediction workflow from quantum-chemistry
outputs and produces a simulated-versus-experimental 13C spectrum:

```bash
cd examples/P3FeCl/SIMULATIONS/Prediction
paranmr --hide predict P3FeCl_Prediction.yml
```

![P3FeCl simulated and experimental 13C spectrum](docs/source/_static/demo-p3fecl-spectrum.png)

The generated figures and tabular results are written to
`P3FeCl_13C_Prediction/`.

## Documentation

ParaNMR documentation:

https://mephistos-ml.github.io/paranmr/

Upstream SimpNMR documentation:

https://simpnmr.org/

## Project status

ParaNMR is research software with a production-minded engineering baseline. Core workflows are versioned and tested, while new methods may evolve as part of the PhD research programme. Breaking changes are documented in the changelog.

## Contributing

Development guidelines, architecture, testing conventions, and release policies are documented in the Developer Guide:

https://mephistos-ml.github.io/paranmr/developer_guide/

Install the development dependencies and enable local pre-commit checks:

```bash
python -m pip install -e ".[dev]"
pre-commit install
```

Run all checks manually with:

```bash
pre-commit run --all-files
```

## Citation

If you use ParaNMR in academic work, please cite Ernest Borysenko, the software name, the exact version used, and its repository: https://github.com/Mephistos-ML/paranmr.

Machine-readable citation metadata for the fork is provided in [`CITATION.cff`](CITATION.cff). No dedicated DOI for ParaNMR is currently declared there.

Please also acknowledge upstream SimpNMR and cite its original preprint when relevant to the methods used:

https://doi.org/10.26434/chemrxiv.15001463.v1

This DOI identifies the upstream SimpNMR publication, not ParaNMR. These citation requests do not add restrictions to the GPL licence.

## Support

Please use GitHub Issues for bug reports and feature requests.

For security vulnerabilities, follow the process described in [SECURITY.md](SECURITY.md).

Only the latest published release has a guaranteed security-support target; backports to older releases are discretionary.

## License

GPL-3.0-or-later. See [LICENSE](LICENSE).

Modified by Ernest Borysenko: renamed to ParaNMR on 2026-10-15.
The latest incorporated upstream release is SimpNMR 2.4.0; the initial fork
predates this rename. See [MODIFICATIONS.md](MODIFICATIONS.md).
This software is provided without warranty; see [LICENSE](LICENSE).
