Skip to main content

Python implementation of fast azimuthal integration

Reason this release was yanked:

Bad windows wheels

Project description

Fast Azimuthal Integration in Python

Main development website: https://github.com/silx-kit/pyFAI

Github Actions Appveyor Status myBinder Launcher RTD docs Zenodo DOI

PyFAI is an azimuthal integration library designed for high-performance, achieving performance comparable to C and even greater through OpenCL-based GPU acceleration. It is based on histogramming the 2θ/Q positions of each pixel centre, weighted by pixel intensity, whereas the parallel version performs a SparseMatrix-DenseVector multiplication. Both method achieve the same numerical result. Neighboring output bins also receive contributions from pixels adjacent to the border through pixel splitting. PyFAI also provides tools to calibrate the experimental setup using Debye-Scherrer rings of a reference compound.

References

  • The philosophy of pyFAI is described in the proceedings of SRI2012
  • Implementation in parallel is described in the proceedings of EPDIC13
  • Benchmarks and optimization procedure are described in the proceedings of EuroSciPy2014
  • Calibration procedures are described in J. Synch. Radiation (2020)
  • Application of signal separation to diffraction image compression and serial crystallography in J. Appl. Cryst. (2025)

Installation

Using PIP (python-package installer)

As with most Python packages, pyFAI is available via pip:

pip install pyFAI[gui]

It is recommended to run this in a virtual environment. Provide the --user option to perform an installation local to your user-space (not recommended). Under UNIX, you may have to run the command via sudo to gain root access and perform a system wide installation (which is neither recommended).

Using conda installer

PyFAI is also available via the conda installer from Anaconda:

conda install pyfai -c conda-forge

To install conda please see either conda or Anaconda.

From source code

The current development version of pyFAI can be downloaded from GitHub. The source code is currently distributed as a zip package.

Download and unpack it:

unzip pyFAI-main.zip
cd pyFAI-main

Install dependencies:

pip install -r requirements.txt

Build and test it:

python run_tests.py

For its tests, pyFAI downloads test images from the internet. Depending on your network connection and your local network configuration, you may have to set up a proxy configuration like this (not needed at ESRF):

export http_proxy=http://proxy.site.org:3128

Finally, install pyFAI in the virtualenv after testing it:

pip install .

The latest development version is available by checking out the Git repository:

git clone https://github.com/silx-kit/pyFAI.git
cd pyFAI
pip install .

To enable GPU acceleration in pyFAI, please install pyopencl.

Documentation

Documentation can be built using this command and Sphinx (installed on your computer):

python build-doc.py

Dependencies

Python 3.10 ... 3.14 are well tested and officially supported (thread-free is untested).

For full functionality of pyFAI, the following modules need to be installed:

Those dependencies can simply be installed by:

pip install -r requirements.txt

Ubuntu and Debian-like Linux distributions

On Ubuntu or Debian, the required Python modules for pyFAI can be installed either via the Synaptic Package Manager (under System → Administration) or from the command line using apt-get:

sudo apt-get install pyfai

MacOSX

On macOS, a recent version of Python (≥3.10) must be installed before installing pyFAI. Apple provides only an outdated version of Python 2.7 which is deprecated. To build pyFAI from source, you will also need Xcode, which is available from the Mac App Store. The binary extensions will use only a single core due to the limitation of the compiler from Apple. OpenCL is hence greatly advised on Apple systems. Next, install the missing dependencies using pip:

pip install -r requirements.txt

Windows

On Windows, a recent version of Python (>=3.10) must be installed before pyFAI. The Visual Studio C++ compiler is required when building from source Next, install any missing dependencies using pip:

pip install -r requirements.txt

Getting Help

A mailing-list, pyfai@esrf.fr, is available to get help on the program and how to use it. One needs to subscribe by sending an email to sympa@esrf.fr with the subject "subscribe pyfai". There is also a discussion space at GitHub and an issue tracker where bugs can be reported.

Maintainers

  • Jérôme Kieffer (ESRF)
  • Edgar Gutierrez Fernandez (ESRF)
  • Loïc Huder (ESRF)

Contributors

Thanks to all who have contributed to pyFAI!

Contributors image

Indirect contributors (ideas, ...)

  • Peter Boesecke
  • Manuel Sánchez del Río
  • Thomas Vincent
  • Vicente Armando Solé
  • Brian Pauw
  • Veijo Honkimaki

Project details


Download files

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

Source Distribution

pyfai-2026.2.0.tar.gz (69.3 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pyfai-2026.2.0-cp314-cp314t-win_amd64.whl (7.2 MB view details)

Uploaded CPython 3.14tWindows x86-64

pyfai-2026.2.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (6.7 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

pyfai-2026.2.0-cp314-cp314-win_amd64.whl (7.5 MB view details)

Uploaded CPython 3.14Windows x86-64

pyfai-2026.2.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (7.0 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

pyfai-2026.2.0-cp314-cp314-macosx_11_0_arm64.whl (5.2 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

pyfai-2026.2.0-cp313-cp313-win_amd64.whl (7.3 MB view details)

Uploaded CPython 3.13Windows x86-64

pyfai-2026.2.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (7.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

pyfai-2026.2.0-cp313-cp313-macosx_11_0_arm64.whl (5.2 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pyfai-2026.2.0-cp313-cp313-macosx_10_13_x86_64.whl (5.6 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

pyfai-2026.2.0-cp312-cp312-win_amd64.whl (7.3 MB view details)

Uploaded CPython 3.12Windows x86-64

pyfai-2026.2.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (7.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

pyfai-2026.2.0-cp312-cp312-macosx_11_0_arm64.whl (5.2 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pyfai-2026.2.0-cp312-cp312-macosx_10_13_x86_64.whl (5.6 MB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

pyfai-2026.2.0-cp311-cp311-win_amd64.whl (7.6 MB view details)

Uploaded CPython 3.11Windows x86-64

pyfai-2026.2.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (7.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

pyfai-2026.2.0-cp311-cp311-macosx_11_0_arm64.whl (5.3 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pyfai-2026.2.0-cp311-cp311-macosx_10_9_x86_64.whl (5.8 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

pyfai-2026.2.0-cp310-cp310-win_amd64.whl (7.6 MB view details)

Uploaded CPython 3.10Windows x86-64

pyfai-2026.2.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (7.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

pyfai-2026.2.0-cp310-cp310-macosx_11_0_arm64.whl (5.4 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

pyfai-2026.2.0-cp310-cp310-macosx_10_9_x86_64.whl (5.9 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

Details for the file pyfai-2026.2.0.tar.gz.

File metadata

  • Download URL: pyfai-2026.2.0.tar.gz
  • Upload date:
  • Size: 69.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.1

File hashes

Hashes for pyfai-2026.2.0.tar.gz
Algorithm Hash digest
SHA256 c85d82173b79f98de989b09e3dfb0d15755cce3f085b9f5a445907908e144a00
MD5 bc5b43bb977f5a715d0a79696a925ca5
BLAKE2b-256 080b77b11caeed68f5156bf1de4360dc4968f4aa18ee057b6b4534c8fc5a3fac

See more details on using hashes here.

File details

Details for the file pyfai-2026.2.0-cp314-cp314t-win_amd64.whl.

File metadata

  • Download URL: pyfai-2026.2.0-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 7.2 MB
  • Tags: CPython 3.14t, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.1

File hashes

Hashes for pyfai-2026.2.0-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 bf4059a692edc0c461e11e7c8e96cb90b9bb0287b53754af2533b174e2c83e2f
MD5 ed94fe4492a81d3d6df9f977c5c498f2
BLAKE2b-256 f93ec14ac84ad9596c3d7a64e73f779bfa3c07c44362158c845c327e2e721578

See more details on using hashes here.

File details

Details for the file pyfai-2026.2.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyfai-2026.2.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d637fc450290bdedac0089d66391e4eb2b0d518c21b5f8d09443eaf7297b067f
MD5 6ebc7631e4815a692ce89e7834bd51e0
BLAKE2b-256 adabf194ca6130820254303228c9cc86b7ee114c2a2a2dec0cbb58ffd1d84ba3

See more details on using hashes here.

File details

Details for the file pyfai-2026.2.0-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: pyfai-2026.2.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 7.5 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.1

File hashes

Hashes for pyfai-2026.2.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 1849fae4f6de871428b441fff748c479d3bf53c5581a62c624449ccf8dcffba6
MD5 9eb36a913b1530b1ffdb7dc1ec701659
BLAKE2b-256 aae527aa99610c0bd04f4582cd7663f1f2b9a1a5f5713961b9cc8eeb4b39b428

See more details on using hashes here.

File details

Details for the file pyfai-2026.2.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyfai-2026.2.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f6249d727bb1e22ce64b9c71d38402e65b0c62ff12afaa9df7e5cb94012fb14d
MD5 4591228ee3f826b079b1637434590958
BLAKE2b-256 41f929b9188316a3615758d169be9df33713155f72576ed769a0d99a8b2bb623

See more details on using hashes here.

File details

Details for the file pyfai-2026.2.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyfai-2026.2.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 477536596a50851390e59ba43c97df3710ae18eb2da9aca9bfc788d93386a427
MD5 b4cc7dd8fcbe826bce0c2d488163d586
BLAKE2b-256 59950b798a1b1b6ee53e78c1bb158e0ed6146e7e6f9811c2238ec3871be662e7

See more details on using hashes here.

File details

Details for the file pyfai-2026.2.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: pyfai-2026.2.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 7.3 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.1

File hashes

Hashes for pyfai-2026.2.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 a9b34e20d11cd3167565fe472a74084a6b376fe4431d385db0fc052210cd0611
MD5 9814dc970cdb86add280ccaa66537393
BLAKE2b-256 83156a8a432570145599f79d96a5bd2f56414a6138be2f8c20322243a7753379

See more details on using hashes here.

File details

Details for the file pyfai-2026.2.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyfai-2026.2.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 353683978e9fd441f692f1acb5978451923a1e829c2bbca524a2bf0460d060f7
MD5 a649949728b0fb201db731e966bdcd16
BLAKE2b-256 83b3942cc99f2e4e74cbbfe55d4c189cba65016e47369a9965e3a9a523a9c5a3

See more details on using hashes here.

File details

Details for the file pyfai-2026.2.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyfai-2026.2.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 55957f09529544c1925c198fc9853ce2ae6c5fcb98287320676841ffe3347c0a
MD5 e51f5bc8c5eefc0b1c151d78d6ba89e9
BLAKE2b-256 af99f02bb8b3f5a9dcac4244605d8130f319be27ea5c9c2e3d52278b3c4fb782

See more details on using hashes here.

File details

Details for the file pyfai-2026.2.0-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for pyfai-2026.2.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 13e8f5df5cc1dc8ca89195eed6c76665f7f67a42f6a70a0cffb8748d5d9ba2cb
MD5 83b48ca3eb2b93adf6f881449c603aad
BLAKE2b-256 606f6d0d5185685793913b6da3fe90d7b4297d470e5cfb5a55b466ead0e42a30

See more details on using hashes here.

File details

Details for the file pyfai-2026.2.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pyfai-2026.2.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 7.3 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.1

File hashes

Hashes for pyfai-2026.2.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 0984dd3bc680b83e04e156126ecd59cb996fe4643642da8d060c4ee772aade86
MD5 990c3a8e8883abfe47264242b2b56076
BLAKE2b-256 7e46c52196ed90988981e5f5ed7b257e67883e8d01388fd72994368b6ba51c78

See more details on using hashes here.

File details

Details for the file pyfai-2026.2.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyfai-2026.2.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 dedcbcb976461281fd62e8673d381021bf5be9a029f483d998adaa9f0c72b049
MD5 4a1f95b6dd835546591d08f86f107038
BLAKE2b-256 e9c0a3aeafcc91e96f5f32e80e96225c6cfc80cba317d6ae37dae99a98a60f3f

See more details on using hashes here.

File details

Details for the file pyfai-2026.2.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyfai-2026.2.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 99da5b8756000017108b9c29e8b9f1b2d825b3665f52bb31552422f6aeaf5a2f
MD5 8023b7907d8cc1d8cfb84d28414feaf9
BLAKE2b-256 f0a90f67e60e78a71b6686877e4032bcea85625020cd4dcd4cab68298811f7a5

See more details on using hashes here.

File details

Details for the file pyfai-2026.2.0-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for pyfai-2026.2.0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 75399c3b4112a639caff12044ce5816525f9f7289bd52949c5e2e408e3e77f68
MD5 a3a0e1854442e6cc2a633582c963ae2c
BLAKE2b-256 b0ca8e998b226f41ae09e5fa79393dea92e2e254f577c23df6ef74a385cbed14

See more details on using hashes here.

File details

Details for the file pyfai-2026.2.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pyfai-2026.2.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 7.6 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.1

File hashes

Hashes for pyfai-2026.2.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a52e38689a4e168a8594fc9da4fd19ddc31da632ff5ca39b96d5803c41b99dd1
MD5 fc42fc0b2a41994df187ad84a2688f78
BLAKE2b-256 846dc350b5701937d2d21207c7dca84164ca4a4791d4eff587648736f07c6927

See more details on using hashes here.

File details

Details for the file pyfai-2026.2.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyfai-2026.2.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e98ebf82d8c7a3de2e5eb5c764470cfc29c0784f131228ba85e9daf742bf4454
MD5 d15d698a5316f0311b5d971ec7f1ce19
BLAKE2b-256 248ee585a3d9794ee5e015dfc760d01e183cee13b7ecea79956fb22ceadea7bd

See more details on using hashes here.

File details

Details for the file pyfai-2026.2.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyfai-2026.2.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 77c339c9180550fcb7e6c60a62147431a55be99eff96e9db99212ca4af4e8b67
MD5 cc4e9dbc385c73a4a1bbee3e7a07abbe
BLAKE2b-256 9107010dcda9bd53be1a9506194e3f122973621eb1dce2bd0213bbaaf43690dd

See more details on using hashes here.

File details

Details for the file pyfai-2026.2.0-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyfai-2026.2.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d623a2292ddb4672e0f5ca659b16220aa5223471fead49baba775d93dae29536
MD5 fa6cd5fca2da8d3fb7381e9ebb9d69e6
BLAKE2b-256 711853174ecce05f310eaff0c232c9b61dd1c38b04990915829f84808bd16a72

See more details on using hashes here.

File details

Details for the file pyfai-2026.2.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pyfai-2026.2.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 7.6 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.1

File hashes

Hashes for pyfai-2026.2.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 92bbb8d0bfa0ada78a347a8c5c3ca8dc03b4a2cf577ad67ccdc2351669e8e53d
MD5 47cd094bf0029d15a5dd4ff0b91c0b98
BLAKE2b-256 ffbb912cb90163288fad205ec277d0fe7659b6fb26d293a552bd8d776d281239

See more details on using hashes here.

File details

Details for the file pyfai-2026.2.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyfai-2026.2.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b6bede2509f739253f96fb62a1a767ce67759a5f0b604606e7039a755eaff9c6
MD5 262ffcf14c7d47e3b6ad8de6bdb7cda5
BLAKE2b-256 ef80cafa3432a069ea6fa621ea831b23950c990ec0b993a828824d1fe9f9c64c

See more details on using hashes here.

File details

Details for the file pyfai-2026.2.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyfai-2026.2.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1502d68c290e862505db33c8575aa4df62ae8a517e06c5083d04c81bc65591aa
MD5 90c5ed70f297b8226adcfeca5603c571
BLAKE2b-256 a107a11458e1e55a74f91902fc44ab95627698403b78ba6fd6a6a9d83e5f01a2

See more details on using hashes here.

File details

Details for the file pyfai-2026.2.0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyfai-2026.2.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 675936d74db1d979bd005301a04d615e581b80c58dc45191227658b6a1bf3826
MD5 0a43321f2cdb67c3b85914c0fb3a122c
BLAKE2b-256 b1d208395386a4cdfa40ef0a6545dded479fabc175ed2c745e8e6e5950a2c8e7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page