Skip to main content

refloxide

DOI

An extremely fast 4×4 transfer-matrix engine for polarized reflectivity from stratified media — Rust core, optional wgpu GPU, thin Python bindings.

10k-slab uniaxial wall time 10k-slab uniaxial wall time

10 000 uniaxial film slabs · 256 q · Apple Silicon · vs PyPXR plugin

More charts

1 slab · wall time

1 slab · peak RSS

10k slabs · wall time

10k slabs · peak RSS

uv sync --group dev --extra plugin
uv run python examples/gpu_backend_bench.py --plot

Installation

pip install refloxide              # core TMM (CPU + GPU feature)
pip install 'refloxide[plugin]'    # plus refnx modeling / fitting
# or
uv add refloxide
uv add 'refloxide[plugin]'

refloxide[core] is an empty alias of the bare install. refloxide[all] aliases [plugin]. Wheels build with Maturin features python and gpu; use device="gpu" when a wgpu adapter is available (see GPU guide).

Quick start

from refloxide.tmm import uniaxial_reflectivity

refl, tran = uniaxial_reflectivity(q, layers, tensor, energy_ev, parallel=False)
refl, tran = uniaxial_reflectivity(
    q, layers, tensor, energy_ev, parallel=False, device="gpu"
)

Development

git clone https://github.com/ALS-RSOXS/refloxide.git
cd refloxide
make develop
make test && make verify

Citation

If you use refloxide in published work, please cite the Zenodo archive:

Heilman, H. D. (2026). ALS-RSOXS/refloxide (v0.2.1). Zenodo. https://doi.org/10.5281/zenodo.22759134

@software{heilman_refloxide_2026,
  author       = {Heilman, Harlan D},
  title        = {{ALS-RSOXS/refloxide}},
  version      = {v0.2.1},
  year         = {2026},
  publisher    = {Zenodo},
  doi          = {10.5281/zenodo.22759134},
  url          = {https://doi.org/10.5281/zenodo.22759134}
}

GitHub’s “Cite this repository” button uses CITATION.cff.

License

GPL-3.0 — see LICENSE.

Metadata

Release files for refloxide 0.3.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 refloxide 0.3.0
File Size Uploaded Provenance Actions
refloxide-0.3.0.tar.gz 256.0 kB Without provenance Details for refloxide-0.3.0.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for refloxide 0.3.0
File Actions
refloxide-0.3.0-cp315-cp315t-manylinux_2_28_x86_64.whl CPython 3.15 CPython 3.15 free-threading Linux glibc 2.28+ x86-64 Details for refloxide-0.3.0-cp315-cp315t-manylinux_2_28_x86_64.whl
refloxide-0.3.0-cp315-cp315-manylinux_2_28_x86_64.whl CPython 3.15 CPython 3.15 Linux glibc 2.28+ x86-64 Details for refloxide-0.3.0-cp315-cp315-manylinux_2_28_x86_64.whl
refloxide-0.3.0-cp314-cp314t-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-64 Details for refloxide-0.3.0-cp314-cp314t-manylinux_2_28_x86_64.whl
refloxide-0.3.0-cp314-cp314t-manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ ARM64 Details for refloxide-0.3.0-cp314-cp314t-manylinux_2_28_aarch64.whl
refloxide-0.3.0-cp314-cp314-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64 Details for refloxide-0.3.0-cp314-cp314-manylinux_2_28_x86_64.whl
refloxide-0.3.0-cp314-cp314-manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ ARM64 Details for refloxide-0.3.0-cp314-cp314-manylinux_2_28_aarch64.whl
refloxide-0.3.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for refloxide-0.3.0-cp313-cp313-win_amd64.whl
refloxide-0.3.0-cp313-cp313-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64 Details for refloxide-0.3.0-cp313-cp313-manylinux_2_28_x86_64.whl
refloxide-0.3.0-cp313-cp313-manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64 Details for refloxide-0.3.0-cp313-cp313-manylinux_2_28_aarch64.whl
refloxide-0.3.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details for refloxide-0.3.0-cp313-cp313-macosx_11_0_arm64.whl
refloxide-0.3.0-cp313-cp313-macosx_10_12_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.12+ x86-64 Details for refloxide-0.3.0-cp313-cp313-macosx_10_12_x86_64.whl
refloxide-0.3.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for refloxide-0.3.0-cp312-cp312-win_amd64.whl
refloxide-0.3.0-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details for refloxide-0.3.0-cp312-cp312-manylinux_2_28_x86_64.whl
refloxide-0.3.0-cp312-cp312-manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64 Details for refloxide-0.3.0-cp312-cp312-manylinux_2_28_aarch64.whl
refloxide-0.3.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details for refloxide-0.3.0-cp312-cp312-macosx_11_0_arm64.whl
refloxide-0.3.0-cp312-cp312-macosx_10_12_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.12+ x86-64 Details for refloxide-0.3.0-cp312-cp312-macosx_10_12_x86_64.whl

Total release size: 46.2 MB

Release files / refloxide-0.3.0.tar.gz

Download URL refloxide-0.3.0.tar.gz
Size 256.0 kB
Tags Source
SHA-256 checksum
How to use checksums
655bd765a92cdb93bb9261b66d396f6a81b7ef23a96f65f2ab0f73a1f6194c5b
BLAKE2b-256 checksum
How to use checksums
406d82e706df632f8251c23f2208141910c33fd5e9cd26312ad72d7caa816bf2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / refloxide-0.3.0-cp315-cp315t-manylinux_2_28_x86_64.whl

Download URL refloxide-0.3.0-cp315-cp315t-manylinux_2_28_x86_64.whl
Size 3.2 MB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
c4995141073f7c59d3464f264b0820992600680efd4adafb7855bc6fbef0b81f
BLAKE2b-256 checksum
How to use checksums
56410dfe2282295f284c4eb32b4f8882946d7fb5145846a310eff11029b6b946
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / refloxide-0.3.0-cp315-cp315-manylinux_2_28_x86_64.whl

Download URL refloxide-0.3.0-cp315-cp315-manylinux_2_28_x86_64.whl
Size 3.2 MB
Tags CPython 3.15 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
294758d2f0fc3284634be6dadf8e234be2dec2a7fa96b20cfb538e473c841267
BLAKE2b-256 checksum
How to use checksums
34b49506874c78465984696828ed489ab48d0a5ccafa907b692b9826626df6d6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / refloxide-0.3.0-cp314-cp314t-manylinux_2_28_x86_64.whl

Download URL refloxide-0.3.0-cp314-cp314t-manylinux_2_28_x86_64.whl
Size 3.2 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
3362407ba2998dcb4b8dcef780ada4d600375788fc322733acca19e38eb49e73
BLAKE2b-256 checksum
How to use checksums
84f56a8e9f0fff65c7908af854c87a76b4afd22f0e7b4a11f1b8d73531312b57
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / refloxide-0.3.0-cp314-cp314t-manylinux_2_28_aarch64.whl

Download URL refloxide-0.3.0-cp314-cp314t-manylinux_2_28_aarch64.whl
Size 3.0 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
d6ddbffec5996891e963deabe7001009303cc539c1a68ccdae992580760a9040
BLAKE2b-256 checksum
How to use checksums
5b73fce6f9774b4183b4b427a78c171f86645d39c772c83c02def6740338e9e3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / refloxide-0.3.0-cp314-cp314-manylinux_2_28_x86_64.whl

Download URL refloxide-0.3.0-cp314-cp314-manylinux_2_28_x86_64.whl
Size 3.2 MB
Tags CPython 3.14 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
e9ee35ad9a4fa9bf8027648b44c5a645c704c39c4d29c32dea6b0514da393006
BLAKE2b-256 checksum
How to use checksums
e475ab27124221eac869d9e76f8550e74289429cb7841a02db039bd5e4cd42af
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / refloxide-0.3.0-cp314-cp314-manylinux_2_28_aarch64.whl

Download URL refloxide-0.3.0-cp314-cp314-manylinux_2_28_aarch64.whl
Size 3.0 MB
Tags CPython 3.14 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
c12f901be3e4fd9ea8f8ffb7c990b0dcff24e42b715fd165c462dfc94650180f
BLAKE2b-256 checksum
How to use checksums
267db4f4ead955d81873f3f4bbee78b3580ca1debda3b9b0a93d5f569df3ba53
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / refloxide-0.3.0-cp313-cp313-win_amd64.whl

Download URL refloxide-0.3.0-cp313-cp313-win_amd64.whl
Size 2.9 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
bb4020343fca523f50715ed367ed61647fbe1eabb5b849b56b2adc24a312a7b7
BLAKE2b-256 checksum
How to use checksums
5e15fbf6ff14adfede22cb0c84b07f3d8d69c1c442935b471573ef3aca06bef0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / refloxide-0.3.0-cp313-cp313-manylinux_2_28_x86_64.whl

Download URL refloxide-0.3.0-cp313-cp313-manylinux_2_28_x86_64.whl
Size 3.2 MB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
f36924314a4fed5a336daaa5cb9e0112bcc8b22b9980d632f125d0b4323a9023
BLAKE2b-256 checksum
How to use checksums
539f65ae805de68a79322956a1d541a9d66b36174c2fae420c74d63533315562
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / refloxide-0.3.0-cp313-cp313-manylinux_2_28_aarch64.whl

Download URL refloxide-0.3.0-cp313-cp313-manylinux_2_28_aarch64.whl
Size 3.0 MB
Tags CPython 3.13 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
b16ec3b7c5fe7bcf5cc58609f025ea8d1bad073f486f2e3128f4ff71983c1494
BLAKE2b-256 checksum
How to use checksums
5e990436e3597efc738d7c527813972f3596dc272ce43ad38f3bd9ef3819528a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / refloxide-0.3.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL refloxide-0.3.0-cp313-cp313-macosx_11_0_arm64.whl
Size 2.2 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
8fd7a631b25b75f949e0f8f494527e66eb3ae77a91bbaaf00d1faefa285a0cb0
BLAKE2b-256 checksum
How to use checksums
bf1325e50446d1af1baedacca71fd72d2c044ca59da7a00a402a8a66ab651dfb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / refloxide-0.3.0-cp313-cp313-macosx_10_12_x86_64.whl

Download URL refloxide-0.3.0-cp313-cp313-macosx_10_12_x86_64.whl
Size 2.3 MB
Tags CPython 3.13 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
64f612c28157f9a2730ac99f1f8349bf35b80c6fdff3ffad2a3cb77c472a77d0
BLAKE2b-256 checksum
How to use checksums
67140b7004659c83ae636f80a57c09fa9fbe319af6ce5a4baec04ba93254a73c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / refloxide-0.3.0-cp312-cp312-win_amd64.whl

Download URL refloxide-0.3.0-cp312-cp312-win_amd64.whl
Size 2.9 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
f0dfcf01b1252657819e975040aab3c7e64c7c11e98d4af883ed7ea340c8d2cd
BLAKE2b-256 checksum
How to use checksums
d2df8dd1b62d6378f3994be1afbbc8a2f45e4a839bc590209f4b24c5e6dfcc04
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / refloxide-0.3.0-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL refloxide-0.3.0-cp312-cp312-manylinux_2_28_x86_64.whl
Size 3.2 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
c3e55a39d2819c0538c88c95736671ee17d31562c19359957830701e9b59f344
BLAKE2b-256 checksum
How to use checksums
5fe60af1f388dd6a0e8f2fec0074f78cc24cbe492194924208520ea9f6cdab76
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / refloxide-0.3.0-cp312-cp312-manylinux_2_28_aarch64.whl

Download URL refloxide-0.3.0-cp312-cp312-manylinux_2_28_aarch64.whl
Size 3.0 MB
Tags CPython 3.12 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
24a3a8f1ce2a14f786c91f73023ca8778da86ec01e20c77ecb5aabe28ef22385
BLAKE2b-256 checksum
How to use checksums
92d0fc5ec236e81aaf5a8f547c7869f045346aecb0eed93d5e654bc07075604f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / refloxide-0.3.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL refloxide-0.3.0-cp312-cp312-macosx_11_0_arm64.whl
Size 2.2 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ab08e72a565a175e89a8e1ed58b4747268b789b3ce95e23c6a293393abe167b7
BLAKE2b-256 checksum
How to use checksums
7d6fe9b47493fe252cbfb3e2948d02b8c08097c89a30cbd02a54c36f3f7cc4e9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / refloxide-0.3.0-cp312-cp312-macosx_10_12_x86_64.whl

Download URL refloxide-0.3.0-cp312-cp312-macosx_10_12_x86_64.whl
Size 2.3 MB
Tags CPython 3.12 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
9a42a7de6f1e1071e356e4be146a510a799b09a01d54e5d62ee3b6cef8f1dc7f
BLAKE2b-256 checksum
How to use checksums
e47fb86d18e08177e3ba67035c45a1d8109b7dc61023da9fb00bd246ca80b837
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Security for refloxide 0.3.0

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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