Skip to main content

openAbel

CI PyPI

Fast Abel transforms of equispaced data in Python, with all calculations done in Cython.

Introduction

The main goal of openAbel is to provide fast and efficient Abel transforms of equispaced data in Python with all actual calculations done in Cython. The most useful methods implemented in this module for that purpose use the Fast Multipole Method combined with arbitrary order end correction of the trapezoidal rule to achieve small errors and fast convergence, as well as linear computational complexity. A couple of other methods are implemented for comparisons. The Abel transform can be used from Python with numpy arrays or from Cython using pointers.

Quick start

Requirements: Python >= 3.12 on Linux or macOS. numpy and scipy are installed automatically.

pip install openabel

Wheels are provided for CPython 3.12 to 3.14 on Linux x86_64 and macOS arm64. Elsewhere pip compiles the Cython extensions from the sdist, which needs a C compiler. The development version installs from the repository:

pip install git+https://github.com/oliverhaas/openAbel

A forward transform of a Gaussian sampled on 200 points, the first sample at x = 0:

import numpy as np
import openabel

n_data = 200
step_size = 3.5 / (n_data - 1)
x = np.arange(n_data) * step_size

abel_obj = openabel.Abel(n_data, -1, 0.0, step_size)
data_out = abel_obj.execute(np.exp(-(x**2)))

The examples show the transform types and methods in more detail, starting with example000_simple_forward.py. They need matplotlib (and example005 PyAbel), which a checkout provides as the examples dependency group:

uv run --group examples python examples/example000_simple_forward.py

Development

uv sync                    # builds the extensions into .venv (editable install)
uv run pytest
uv run pre-commit install  # ruff and the other hooks on commit, ty on push

After editing a .pyx or .pxd file, rebuild with uv sync --reinstall-package openabel.

Issues

If there are any issues, bugs or feature requests just let me know. As of now there are some gaps in the implementation, e.g. not all transform types are available in all methods, but since the default method vastly outperforms every other method anyway it's not really a pressing issue.

Transform methods

For the default and most important method of openAbel we adapted the Chebyshev interpolation Fast Multipole Method (FMM) as described by Tausch and calculated end corrections specifically for the Abel transform similar to Kapur. If data points outside of the integration interval can be provided these end corrections are arbitrary order stable and we provide coefficients up to 19th order, otherwise it's recommended to use at most 5th order. The FMM leads to a linear O(N) computational complexity algorithm.

In both error and computational complexity there is no better existing method for the intended purpose to my knowledge. I should really stress that there are dozens of publications and methods out there which claim to be fast and/or accurate, but don't get anywhere close to openAbel in those aspects.

For more information see the documentation, in particular the pages on the transform methods and the examples.

Copyright 2016-2026 Oliver Sebastian Haas.

The code openAbel is published under the GNU GPL version 3. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

For more information see the GNU General Public License copy provided in this repository: LICENSE.

Metadata

Release files for openabel 0.7.0

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

Source distribution (sdist)

Source distribution for openabel 0.7.0
File Size Uploaded
openabel-0.7.0.tar.gz 2.6 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for openabel 0.7.0
File
openabel-0.7.0-cp314-cp314t-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64 Details
openabel-0.7.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details
openabel-0.7.0-cp314-cp314t-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 Details
openabel-0.7.0-cp314-cp314-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ x86-64 Details
openabel-0.7.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
openabel-0.7.0-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
openabel-0.7.0-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details
openabel-0.7.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details
openabel-0.7.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
openabel-0.7.0-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details
openabel-0.7.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
openabel-0.7.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details

Total release size: 45.4 MB

Release files / openabel-0.7.0.tar.gz

Download URL openabel-0.7.0.tar.gz
Size 2.6 MB
Tags Source
SHA-256 checksum
How to use checksums
5de00a716345b397c165ad0a19b6f69d4b06e7aaf9d23b5319a24f1bfd19cdae
BLAKE2b-256 checksum
How to use checksums
fb97762ea08f4aff5fdc92c17382686e9cad5034f6f2825a6d4eb92ece8fe341
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 14, 2026.

Transparency log

Release files / openabel-0.7.0-cp314-cp314t-musllinux_1_2_x86_64.whl

Download URL openabel-0.7.0-cp314-cp314t-musllinux_1_2_x86_64.whl
Size 3.9 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
bd0a460c32f52b38fdcd2ae412bd9ce6b4c15dbe30b57ed42c117525e4ce19b8
BLAKE2b-256 checksum
How to use checksums
4ff210cc7b92f88afd35873f09ad8471f36689c6c07ae4d983a7cf2d3b4dd19d
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 14, 2026.

Transparency log

Release files / openabel-0.7.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL openabel-0.7.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 3.9 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
4acb730346787443796578ff8e7781c2f155982a92487b64c20f14e9872073c0
BLAKE2b-256 checksum
How to use checksums
0ab7891e89713118e703c525de5ef49658eea69a5cae11c6a44826536d068645
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 14, 2026.

Transparency log

Release files / openabel-0.7.0-cp314-cp314t-macosx_11_0_arm64.whl

Download URL openabel-0.7.0-cp314-cp314t-macosx_11_0_arm64.whl
Size 2.9 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
c2ed71f5eb7f8db322826660c69cd8d7d10ee7126e35f84ce03b52473cb5af19
BLAKE2b-256 checksum
How to use checksums
7bf4e2b3128998e4c1ec816b0d75716d9b1b598dc5f17154a6bb2b230b25ac7c
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 14, 2026.

Transparency log

Release files / openabel-0.7.0-cp314-cp314-musllinux_1_2_x86_64.whl

Download URL openabel-0.7.0-cp314-cp314-musllinux_1_2_x86_64.whl
Size 3.9 MB
Tags CPython 3.14 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
de077ffb47a051e5c171b52d5ad30c9503c7d21e30f1e9a48ea552e0e6caa664
BLAKE2b-256 checksum
How to use checksums
872bb15a54d5701e9a24a61a6f5f6e1b21bb3d3af6fa278d9e0e95319b72f217
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 14, 2026.

Transparency log

Release files / openabel-0.7.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL openabel-0.7.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 3.9 MB
Tags CPython 3.14 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
cfa67c600f81f78f6993e95eb033c07c1674c6b945b2ddd604b50141a0e6a53e
BLAKE2b-256 checksum
How to use checksums
a82f8d185477a7b1b7c8148c15e1c4988d9d5481be2ae5029301c7abd8952a37
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 14, 2026.

Transparency log

Release files / openabel-0.7.0-cp314-cp314-macosx_11_0_arm64.whl

Download URL openabel-0.7.0-cp314-cp314-macosx_11_0_arm64.whl
Size 2.9 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
72eb86ec31febc462a07a943c4dd446ef257d46e3c8dd06dd5665551778fc96c
BLAKE2b-256 checksum
How to use checksums
71a49343d40b76abbd42c8d468380884522ce060cc600acdb6530640eb8d8289
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 14, 2026.

Transparency log

Release files / openabel-0.7.0-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL openabel-0.7.0-cp313-cp313-musllinux_1_2_x86_64.whl
Size 3.9 MB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
73f0c2cdb9cb4907e1010c09de581c288b6003caf795cb944e0870f7346effdc
BLAKE2b-256 checksum
How to use checksums
376622bda3a10faea85bc345dc23d382ae144fb89b1a43bdb449b3dd915179d6
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 14, 2026.

Transparency log

Release files / openabel-0.7.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL openabel-0.7.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 3.9 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
6e18c64b5724b71125dc6082e2cb2de8c4c831ba91a5db8bbab07f94c71bd1d4
BLAKE2b-256 checksum
How to use checksums
5701846238419c1670d0c8f6d620d3458763b116d4788e0342447bc03d4e3134
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 14, 2026.

Transparency log

Release files / openabel-0.7.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL openabel-0.7.0-cp313-cp313-macosx_11_0_arm64.whl
Size 2.9 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
9203d9d3a2143f797ab8ba0eafdc0aec7db7c22c419f954b5d6322eb854c026a
BLAKE2b-256 checksum
How to use checksums
40ad3acb7577d8574cc91b4cb1db38437ebfdbe6d862bd74b94cb158fc2774ea
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 14, 2026.

Transparency log

Release files / openabel-0.7.0-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL openabel-0.7.0-cp312-cp312-musllinux_1_2_x86_64.whl
Size 3.9 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
b44a7c8b2ed7be9f8c531637bffefabc5a25578cf8b538f8de8f91d7970180c3
BLAKE2b-256 checksum
How to use checksums
992d51b20919a94f1b35fbf5be005155f5f0be0920ab475cc0fbf3a04476aa85
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 14, 2026.

Transparency log

Release files / openabel-0.7.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL openabel-0.7.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 3.9 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
faa088b0b0a4ee72f29156f0513cb0f142a8ea85444e99932a4b66b782283263
BLAKE2b-256 checksum
How to use checksums
7b60511a54740e50be74d3db89acc2b226e5ad1861bea4d7eab2a1f714b3ea9e
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 14, 2026.

Transparency log

Release files / openabel-0.7.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL openabel-0.7.0-cp312-cp312-macosx_11_0_arm64.whl
Size 2.9 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a601e88d01c2ef799be0ded6eda24bd7ea9599472ddee78c8193db42d05db5e0
BLAKE2b-256 checksum
How to use checksums
0f7c03da6de480d03236605802220f3480105db8c03e5889dfa2841b3388dccb
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 14, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.7.0 This release

13 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