Python bindings for Apollo FFT
Project description
apollo-python
PyO3 bindings for the Apollo workspace.
Distribution
GitHub Releases tagged apollo-fft-v<version> build locked Linux, Windows,
and universal macOS wheels, install and import each artifact, attach the
validated wheel set and SHA-256 checksums to the release, and publish the same
wheels to apollo-fft on PyPI through OIDC Trusted Publishing. The tag
version must equal the apollo-python Cargo package version; Python metadata
reads that Cargo version rather than maintaining a second version field.
Architecture
src/
domain/ Python-facing domain boundary marker
application/ binding orchestration boundary marker
infrastructure/ host/runtime integration boundary marker
lib.rs PyO3 module, class, and function exports
apollo-python is an adapter crate. It owns Python type conversion,
contiguity validation, error translation into PyValueError, and PyO3 module
registration. The mathematical single sources of truth remain in the owning
Rust crates:
apollo-fftowns CPU FFT plans, precision profiles, full-spectrum 1D/2D/3D execution, and real-to-complex helpers.apollo-fftowns WGPU backend capability discovery surfaced throughavailable_backends()andbackend_capabilities().apollo-nufftowns exact and fast NUFFT execution.
The binding layer does not implement transform kernels. It validates Python
array layout, maps precision strings to Apollo PrecisionProfile values, and
delegates computation to the owning crate APIs.
Mathematical Contract
FFT bindings preserve Apollo's normalization convention: forward transforms are
unnormalized and inverse transforms divide by the transformed volume. The
rfft3 and irfft3 functions expose Apollo's full-spectrum real transform
contract rather than a half-spectrum NumPy compatibility surface.
NUFFT bindings preserve the owning crate's uniform-domain contracts. Positions, values, grid spacing, output shape, and kernel width are validated before delegation; invalid contracts are returned as Python value errors.
Precision Contract
Python callers select precision with:
high_accuracy:f64/complex128storage andf64compute.low_precision:f32/complex64storage andf32compute.mixed_precision:f32Python input converted tof16storage for Apollo's mixedf16/f32path where exposed by the owning FFT plan.
Storage/profile mismatches are rejected before transform execution. WGPU capability metadata reports the backend precision profiles that are actually available on the host.
Verification
This crate is verified through workspace checks and the PyO3 unit target:
cargo clippy --workspace --all-targets -- -D warningscargo test --workspace --all-targets
The workspace tests cover Python binding compilation, backend capability
metadata shape, full-spectrum rfft3/irfft3 value semantics, contiguity
rejection paths, and delegated CPU/WGPU/NUFFT API compatibility.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file apollo_fft-0.2.0-cp38-abi3-win_amd64.whl.
File metadata
- Download URL: apollo_fft-0.2.0-cp38-abi3-win_amd64.whl
- Upload date:
- Size: 3.8 MB
- Tags: CPython 3.8+, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4eef82e6a1fb1f5e94be3c25a970b52e04cea7be069b91d5211e23935acef4f8
|
|
| MD5 |
ff60d72a219685481d04b340bc676bc6
|
|
| BLAKE2b-256 |
2c6cc68e35f14a8180624d589af6dfa7f34df14fbefada6bef873315da92d7d4
|
Provenance
The following attestation bundles were made for apollo_fft-0.2.0-cp38-abi3-win_amd64.whl:
Publisher:
python-release.yml on ryancinsight/apollo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
apollo_fft-0.2.0-cp38-abi3-win_amd64.whl -
Subject digest:
4eef82e6a1fb1f5e94be3c25a970b52e04cea7be069b91d5211e23935acef4f8 - Sigstore transparency entry: 2219867461
- Sigstore integration time:
-
Permalink:
ryancinsight/apollo@2df60e4c23d7bb1f558920516db34943de2140b2 -
Branch / Tag:
refs/tags/apollo-fft-v0.2.0 - Owner: https://github.com/ryancinsight
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-release.yml@2df60e4c23d7bb1f558920516db34943de2140b2 -
Trigger Event:
release
-
Statement type:
File details
Details for the file apollo_fft-0.2.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: apollo_fft-0.2.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 4.5 MB
- Tags: CPython 3.8+, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
245d5f6ed5842f573da9ea8a8d68fcb4cf47d43e28693fe5cc488f7940776b0a
|
|
| MD5 |
ac1e2599fd7b5a58eb5a8b988ed01370
|
|
| BLAKE2b-256 |
422999d1ce658701e4b094293fb6c4fd56c8a62d5c0d1c844f1a3ea6274bba28
|
Provenance
The following attestation bundles were made for apollo_fft-0.2.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
python-release.yml on ryancinsight/apollo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
apollo_fft-0.2.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
245d5f6ed5842f573da9ea8a8d68fcb4cf47d43e28693fe5cc488f7940776b0a - Sigstore transparency entry: 2219867308
- Sigstore integration time:
-
Permalink:
ryancinsight/apollo@2df60e4c23d7bb1f558920516db34943de2140b2 -
Branch / Tag:
refs/tags/apollo-fft-v0.2.0 - Owner: https://github.com/ryancinsight
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-release.yml@2df60e4c23d7bb1f558920516db34943de2140b2 -
Trigger Event:
release
-
Statement type:
File details
Details for the file apollo_fft-0.2.0-cp38-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.
File metadata
- Download URL: apollo_fft-0.2.0-cp38-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
- Upload date:
- Size: 8.2 MB
- Tags: CPython 3.8+, macOS 10.12+ universal2 (ARM64, x86-64), macOS 10.12+ x86-64, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6db8dec05067e3d1b55a109f5d715b891aced05494c58cdbe99d0f8f3ecdcac9
|
|
| MD5 |
309ce748b88427e9be3721265aac534a
|
|
| BLAKE2b-256 |
491f8d8deed7696cf308b8c151142e182e4bcad61584ee7d7af2f8919f463b2d
|
Provenance
The following attestation bundles were made for apollo_fft-0.2.0-cp38-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:
Publisher:
python-release.yml on ryancinsight/apollo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
apollo_fft-0.2.0-cp38-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl -
Subject digest:
6db8dec05067e3d1b55a109f5d715b891aced05494c58cdbe99d0f8f3ecdcac9 - Sigstore transparency entry: 2219867393
- Sigstore integration time:
-
Permalink:
ryancinsight/apollo@2df60e4c23d7bb1f558920516db34943de2140b2 -
Branch / Tag:
refs/tags/apollo-fft-v0.2.0 - Owner: https://github.com/ryancinsight
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-release.yml@2df60e4c23d7bb1f558920516db34943de2140b2 -
Trigger Event:
release
-
Statement type: