Skip to main content
Yanked

This release has been yanked by its maintainers, and will be ignored by installers, except when explicitly specified.
Consider using release 2.0.23 instead.
Reason given by maintainers: wrong release

EXAFS Neo

Versions: 2.0.20

Last update: Jun 18, 2026

Test with Ubuntu, MambaTest with Windows, Mamba

PyPI Downloads

EXAFS Neo utilize Genetic algorithm in fitting Extended X-ray absorption fine structure(EXAFS).

Prerequisites

It is highly recommend to utilize anaconda or pip package managers to prevent unforeseen dependency conflicts. EXAFS Neo uses larch to process the x-ray spectrum.

  • Python: => 3.10
  • Numpy: => 1.20
  • Scipy: => 1.6
  • Larch: > 0.9.47
  • Matplotlib: > 3.0

It is highly recommend to create a new environment in anaconda to run EXAFS Neo to prevent packages conflicts. For Windows operating system, if you encounter an issue requiring "Microsoft C++ 14.0 or greater is needed", please download the tools at the following location C++ Tools and make sure to select C++ build tools during installation process.

if you are on a Mac (either Intel or M1), you need to make sure that xcode command line tools is install, if not input this command into terminal:

    xcode-select --install

Dependencies

Notes: This is usually not needed unless you are trying to install via source

EXAFS Neo requires the following dependencies to run:

    # Create new anaconda environment
    conda create -y --name exafs python=>3.10
    conda activate exafs
    conda install -y -c conda-forge "numpy>=1.23" "scipy>=1.8" "matplotlib>=3.6" "h5py>=3.5" "wxpython>=4.1" scikit-image scikit-learn pycifrw pandas jupyter plotly pyparsing pytest pytest-cov coverage
    pip install lmfit peakutils pyepics pyshortcuts termcolor sphinx dill pycifrw xraydb wxmplot wxutils fabio silx imageio charset-normalizer
    pip install xraylarch

Installations

Linux/Mac

Conda

    conda create --name "exafs_neo" "python=3.12"
    conda activate exafs_neo
    pip install exafs_neo

PyPI

    python -m venv .venv
    source .venv/bin/activate
    pip install exafs_neo

Windows Installation (WSL)

For Windows users, we recommend using the Windows Subsystem for Linux (WSL) to ensure full compatibility with GUI applications.

Note: Update Graphics Drivers: Follow the official guide to run Linux GUI apps on the Windows Subsystem for Linux.

  1. Install WSL: Open PowerShell as Administrator and run:

    wsl --install
    
  2. Install Visual Studio: Ensure you have Visual Studio installed (often required for compiling C++ extensions).

  3. Install System Dependencies: Open your WSL terminal (Ubuntu/Debian) and run the following commands:

    sudo apt update
    sudo apt install tk
    sudo apt install python3-tk
    sudo apt install pipx
    
  4. Install EXAFS Neo:

    sudo pipx install exafs-neo
    

Source

To install EXAFS Neo, simply clone the repo:

    git clone https://github.com/laumiulun/EXAFS_Neo.git
    cd EXAFS_Neo/
    pip install .

Usage

To run the included test suite, use the following command:

    ./run_tests

To run a sample test, make sure the environment is set correctly, and select an input file:

     exafs_neo -i test_inputs/test_temp.ini

Alternatively, you can also run EXAFS Neo in a jupyter notebook, please follow the example in the example/jupyter folder

GUI

We also have provided a GUI for use in additions to our program, with additional helper script to facilitate post-analysis. To use the GUI:

    exafs_neo_gui

The datafile requires header contain at least either a combination of (k, chi) or (energy, mu). It also requires a minimum of one newline for it to work correctly. An example of the correct header is as follows:

    #---------------------------------------------------------------------
    #  k chi chik chik2 chik3 win energy

Self adsorption correction

EXAFS also provides an internal option to perform self-adsorption on the sample file using Booth et al. correction. This is performed using git submodules:

    git submodule update --init --recursive
    cd contrib/sabcor/
    make

Update

EXAFS Neo is under active development, to update the code after pulling from the repository:

    git pull --rebase
    python setup.py install

Video Demonstrations

You can see a list of video demonstrations of the EXAFS Neo package presented, future presentation related to this software will be posted as they are available

Citation

Jeff Terry, Miu Lun Lau, Jiateng Sun, Chang Xu, Bryan Hendricks, Julia Kise, Mrinalini Lnu, Sanchayni Bagade, Shail Shah, Priyanka Makhijani, Adithya Karantha, Travis Boltz, Max Oellien, Matthew Adas, Shlomo Argamon, Min Long, and Donna Post Guillen, “Analysis of Extended X-ray Absorption Fine Structure (EXAFS) Data Using Artificial Intelligence Techniques,” Applied Surface Science 547, 149059 https://doi.org/10.1016/j.apsusc.2021.149059 (2021).

@article{terry2021analysis,
  title={Analysis of extended X-ray absorption fine structure (EXAFS) data using artificial intelligence techniques},
  author={Terry, Jeff and Lau, Miu Lun and Sun, Jiateng and Xu, Chang and Hendricks, Bryan and Kise, Julia and Lnu, Mrinalini and Bagade, Sanchayni and Shah, Shail and Makhijani, Priyanka and others},
  journal={Applied Surface Science},
  volume={547},
  pages={149059},
  year={2021},
  publisher={Elsevier}
}

Metadata

Release files for exafs-neo 2.0.22

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

Source distribution (sdist)

Source distribution for exafs-neo 2.0.22
File Size Uploaded Provenance Actions
exafs_neo-2.0.22.tar.gz 116.8 kB Without provenance Details for exafs_neo-2.0.22.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for exafs-neo 2.0.22
File Interpreter ABI Platform Actions
exafs_neo-2.0.22-py3-none-any.whl Python 3 none any Details for exafs_neo-2.0.22-py3-none-any.whl

Total release size: 217.4 kB

Release files / exafs_neo-2.0.22.tar.gz

Download URL exafs_neo-2.0.22.tar.gz
Size 116.8 kB
Tags Source
SHA-256 checksum
How to use checksums
b38dfa17752070d798cc931662f527e154d3c9d0bb5cb19978c390210c59c9f0
BLAKE2b-256 checksum
How to use checksums
704512834c47971d350e7cd7d4046adc475fead6c7c0c821690f048f363bb16d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.12

Release files / exafs_neo-2.0.22-py3-none-any.whl

Download URL exafs_neo-2.0.22-py3-none-any.whl
Size 100.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a05e6b88e3e22233f49e348eea065cc4d9a9a8ef0d5e30251ff2f177cd8340be
BLAKE2b-256 checksum
How to use checksums
f12c02f43524aeeb245403db6edd72e570ce14669ad5b50c1d87e1ade0f24bc3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.12

Security for exafs-neo 2.0.22

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

2.0.22 This release

2 release files No provenance

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