EPRAYA: Python package for EPR simulation
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
Release files for epraya 0.1.41.25
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| epraya-0.1.41.25.tar.gz | 122.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| epraya-0.1.41.25-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 250.3 kB
Release files / epraya-0.1.41.25.tar.gz
| Download URL | epraya-0.1.41.25.tar.gz |
|---|---|
| Size | 122.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3ac0f9787c46bd70c20f7b5dffdc42201595c7c11ecf9d329865347bc27d940e
|
|
BLAKE2b-256 checksum How to use checksums |
95c749e7c019496af01c335675e527b67bc4d25b513918a927877d6db0b9354b
|
| 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 logRelease files / epraya-0.1.41.25-py3-none-any.whl
| Download URL | epraya-0.1.41.25-py3-none-any.whl |
|---|---|
| Size | 127.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
82ce8bb6fdc4fedf5a9a1fefb66b2ae36d2c3f69fb2263a759e8a57956728da9
|
|
BLAKE2b-256 checksum How to use checksums |
0ecedfcd65ced13560bb3c307f248554c774de4409bf287878117c0da03bddd3
|
| 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