Skip to main content

datafusion-extra-functions-ffi

CI

Apache DataFusion core deliberately keeps its function library lean, so aggregates like mode, skewness, and kurtosis live in the contrib datafusion-extra-functions crate — Rust-only, with no Python exposure. This package closes that gap: it exposes the crate's aggregate UDFs to datafusion-python through the __datafusion_aggregate_udf__ PyCapsule protocol, as prebuilt wheels — no Rust toolchain required.

Usage

from datafusion import SessionContext, col, udaf
import datafusion_extra_functions_ffi as ffi

ffi.list_functions()
# ['mode', 'max_by', 'min_by', 'kurtosis', 'skewness', 'kurtosis_pop']

skew = udaf(ffi.udaf_by_name("skewness"))

ctx = SessionContext()
df = ctx.from_pydict({"a": [1.0, 2.0, 2.0, 9.0]})
df.aggregate([], [skew(col("a"))]).show()

Or register for SQL:

ctx.register_udaf(udaf(ffi.udaf_by_name("mode")))
ctx.sql("SELECT mode(a) FROM my_table").show()

The API is name-driven: whatever aggregates the pinned datafusion-extra-functions revision provides appear in list_functions() automatically.

Version compatibility

The DataFusion FFI ABI is tied to the datafusion major version this package was compiled against. The wheel pins the matching datafusion range (currently >=54,<55), because a mismatch fails at the FFI boundary rather than with a clean error. When a new datafusion-python major ships, this package is rebuilt against it and re-released.

Building from source

Requires a Rust toolchain (see rust-version in Cargo.toml).

pip install maturin
maturin develop --release

License

Apache-2.0, same as the upstream crate it binds.

Release files for datafusion-extra-functions-ffi 0.1.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 datafusion-extra-functions-ffi 0.1.0
File Size Uploaded
datafusion_extra_functions_ffi-0.1.0.tar.gz 26.5 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for datafusion-extra-functions-ffi 0.1.0
File
datafusion_extra_functions_ffi-0.1.0-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details
datafusion_extra_functions_ffi-0.1.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 abi3 Linux glibc 2.17+ x86-64 Details
datafusion_extra_functions_ffi-0.1.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 abi3 Linux glibc 2.17+ ARM64 Details
datafusion_extra_functions_ffi-0.1.0-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details
datafusion_extra_functions_ffi-0.1.0-cp310-abi3-macosx_10_12_x86_64.whl CPython 3.10 abi3 macOS 10.12+ x86-64 Details

Total release size: 25.2 MB

Release files / datafusion_extra_functions_ffi-0.1.0.tar.gz

Download URL datafusion_extra_functions_ffi-0.1.0.tar.gz
Size 26.5 kB
Tags Source
SHA-256 checksum
How to use checksums
9ed6c0ed5e25d2c4e264755f8e0a07d9acdd60578d578d85ea58ef50c02a6057
BLAKE2b-256 checksum
How to use checksums
bf741e1a19d502ef8f99da0bef52d75e3eb55c6b852bfd9869c6f3e3128cada2
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 2, 2026.

Transparency log

Release files / datafusion_extra_functions_ffi-0.1.0-cp310-abi3-win_amd64.whl

Download URL datafusion_extra_functions_ffi-0.1.0-cp310-abi3-win_amd64.whl
Size 5.0 MB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
d3d6c92493f1e544a9bcd890d0206d34c0208609aa6d8a73e6b27c2205196168
BLAKE2b-256 checksum
How to use checksums
471e382509a572f7f43cfab08080c4616e3ebde563dd7c4ff87046f7fd393aa3
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 2, 2026.

Transparency log

Release files / datafusion_extra_functions_ffi-0.1.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL datafusion_extra_functions_ffi-0.1.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 6.4 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
aae8c096289fe4f91205c4a8e03d9c97ef3f17bd8da44a39b83cf12dbd188c0f
BLAKE2b-256 checksum
How to use checksums
6037581fbcc6dd3800cb7e5488872138ed37c99df7fcc18398a717ad026f618d
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 2, 2026.

Transparency log

Release files / datafusion_extra_functions_ffi-0.1.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL datafusion_extra_functions_ffi-0.1.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 4.7 MB
Tags CPython 3.10 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
5f8ac96295bf08fb78cc19c0f29ee10b9df2b83bcee26719904d4318167991c5
BLAKE2b-256 checksum
How to use checksums
4cc6fa2f062e24ad20cf5f464fe57053b612e8e14a1eb0d8cdacfc88c0a5babf
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 2, 2026.

Transparency log

Release files / datafusion_extra_functions_ffi-0.1.0-cp310-abi3-macosx_11_0_arm64.whl

Download URL datafusion_extra_functions_ffi-0.1.0-cp310-abi3-macosx_11_0_arm64.whl
Size 4.4 MB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
68e2ec5be9439e8df785677734bf869e43acdec7d352f4252c359ef23816496f
BLAKE2b-256 checksum
How to use checksums
6c20e79496e4636c8b823b5d12c1f9c3d1b4a7dd52a119d0a0725a4aca4bd358
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 2, 2026.

Transparency log

Release files / datafusion_extra_functions_ffi-0.1.0-cp310-abi3-macosx_10_12_x86_64.whl

Download URL datafusion_extra_functions_ffi-0.1.0-cp310-abi3-macosx_10_12_x86_64.whl
Size 4.7 MB
Tags CPython 3.10 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
c1cf1c9b7e9d8ae39c6f558429e93f0b50d30e3d54693e97b50e151896722907
BLAKE2b-256 checksum
How to use checksums
508be801e70aec1948eb2b23bb3a1d535e737dd11d87159e7d4f145997113a28
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 2, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

6 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