Skip to main content

Automated fitting of XRD peaks using Pseudo-Voight fits

Project description

PyPI version Documentation Status DOI Binder .github/workflows/test_notebooks.yaml


xrdfit is a Python package for fitting the diffraction peaks in synchrotron X-ray diffraction (SXRD) and XRD spectra. It is designed to be an easy to use tool for quick analysis of spectra. Features are included for automating fitting over many spectra to enable tracking of peaks as they shift throughout an experiment. xrdfit uses the Python module lmfit for the underlying fitting. xrdfit is designed to be accessible for all researchers who need to process SXRD spectra and so does not require a detailed knowledge of programming or fitting.


To install as a Python module, type

python -m pip install xrdfit

from the root directory. For developers, you should install in linked .egg mode using

python -m pip install -e .

If you are using a Python virtual environment, you should activate this first before using the above commands.


Documentation including an API reference is provided at:

The majority of the documentation is provided as example driven interactive Jupyter notebooks. These are included along with the source code in the "tutorial notebooks" folder. If this package was downloaded from pip, the source can be found on GitHub:

Try it out

You can try out xrdfit directly in your browser with Binder by clicking here.

Note that Tutorial Notebook 4 will not run correctly in Binder as it requires the download of a supplementary dataset which is not included in the source repository due to its size.


The code was developed and tested with Python version 3.8. The minimum required Python version is 3.6. If you install the dependencies of xrdfit using the specification in requirements.txt, this will use the same package versions used by the developers. While this is good for reproducibility, it is worth noting that if you are using a newer Python version (> 3.8), some of these packages may not have binary wheels for your version and may require compilation.

Required libraries

This module uses the Python libraries:

The following libraries are required to use the tutorial documentation workbooks:

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for xrdfit, version 1.1.0
Filename, size File type Python version Upload date Hashes
Filename, size xrdfit-1.1.0-py3-none-any.whl (31.1 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size xrdfit-1.1.0.tar.gz (18.2 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page