Skip to main content

EPRAYA: Python package for EPR simulation

Python GitHub License PyPI version

EPRAYA offers tools for simulation, fitting and manipulation of EPR (Electron Paramagnetic Resonance) spectroscopic data (cw EPR) in Python. Using only three containers: Ham, Exp and Vary, users can insert hamiltonian parameters, experimental conditions and range for parameters' variation.

It also offers two modes for simulation:

Classic (CPU): Based in numpy arrays and scipy functions in parallel for simulation and fitting.

With JAX: Based in the JAX package for more efficient calculation and fitting with the ADAM algorithm (GPU use is recommended for faster results).

Installation

The recommended installation method is:

pip install epraya

We recommend to use code editors that support tkinter and plotly (VS Code, Jupyter) to take full advantage of the functions in the package. However, it's possible to use the package in any other code editors.

For further instructions on installation and common question, see the documentation.

Features

  • Simulation of cw EPR single or multiple spin systems of powder or cristal samples.
  • Interactive interface for data inspection and manipulation with ease.
  • Identification of energy levels and resonant fields.
  • Data fitting with Nelder Mead, Metropolis, Genetic Algorithm, Least Squares and ADAM.
  • Plots angular dependance, enegy diagrams, EPR intensity and Absorption curves.
  • JAX implemenetation for GPU compatability.

Documentation

Functions description, tutorials and more specific information, can be access in the documentation.

Limitations

  • Current version of EPRAYA only supports cw EPR. We are working in implementing ENDOR and pulse EPR.
  • EPRAYA supports the simulation to at most 4 interactive spin systems in classic mode and 2 systems with JAX. We expect to improve the calculation times and the possibility to simulate more systems following versions.
  • For easier data manipulation, plotly and tkinter support is required.

Contributions

EPRAYA is a open-code project and contributions are welcome. If you find an error or bug, would like to improve the code or make the documentation clearer, please let us know by opening an issue or pull request.

Authors

EPRAYA is a project of the Física Aplicada group of the Universidad Nacional de Colombia. The principal contributors to the project are: Juan Sebastián Castro, Ovidio Almanza and Miguel E. Gámez.

License

License: MIT

Release files for epraya 0.1.41.20

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for epraya 0.1.41.20
File Size Uploaded
epraya-0.1.41.20.tar.gz 122.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for epraya 0.1.41.20
File Interpreter ABI Platform
epraya-0.1.41.20-py3-none-any.whl Python 3 none any Details

Total release size: 250.3 kB

Release files / epraya-0.1.41.20.tar.gz

Download URL epraya-0.1.41.20.tar.gz
Size 122.8 kB
Tags Source
SHA-256 checksum
How to use checksums
286a651e4b5a4ae695627897de2b9ee0992ce298179d51eef2e3473a83a047ae
BLAKE2b-256 checksum
How to use checksums
e42edc2b72b4133f4b2b03d3d20078488418acaf1de2dd54d2f6a1c2707fe3fc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.

Transparency log

Release files / epraya-0.1.41.20-py3-none-any.whl

Download URL epraya-0.1.41.20-py3-none-any.whl
Size 127.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
306c69f21e655594326e22c93dea0d4108eb5bd0f9cdb801a6ed06f4557bf47d
BLAKE2b-256 checksum
How to use checksums
948b7cf20d69a7c35eb8b75a70570a5a3e4e09a0d0aa553ea63e244d73d12a6b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.41.20 This release

2 release files

0.1.41

2 release files

0.1.35

2 release files

0.1.34

2 release files

0.1.33

2 release files

0.1.32

2 release files

0.1.31

2 release files

0.1.30

2 release files

0.1.29

2 release files

0.1.27

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page