Skip to main content

refloxide

A blazingly fast 4x4 transfer matrix method for simulating reflection though stratified media.

This project is designed to be a fast core backend for simulating reflectivity using the 4x4 transfer matrix method. We are basing the code on the following pre existing codebases, but this is a ground up rewrite.

  • refnx - this library is great for simulation reflectivity though scalar media, but fails at tensor indeces.
  • refl1d - again, this works great for scal indeces, but is hard to work with in tensor materials, and with buidling complex structures.

What is refloxide?

This library started as just the pure transfer matrix simulation core but has grown to a full-featured optimized library for polarized energy dependent reflectivity simulation and optimization. We maintain a set of low memory footprint structures used to describe stratified media that are optimized for fast simulation and memory efficiency.

Installation

pip install refloxide

Or using uv (recommended):

uv add refloxide

Quick Start

import refloxide

print(refloxide.__version__)

Development

Prerequisites

  • Python 3.13+
  • uv for package management

Setup

git clone https://github.com/HarlanHeilman/refloxide.git
cd refloxide
make install

Running Tests

make test

# With coverage
make test-cov

# Across all Python versions
make test-matrix

Code Quality

# Run all checks (lint, format, type-check)
make verify

# Auto-fix lint and format issues
make fix

Prek

prek install
prek run --all-files

Documentation

make docs-serve

Dependency Updates

This project uses Renovate to keep dependencies up to date automatically. Renovate will open pull requests when new versions of dependencies are available.

To enable it, install the Renovate GitHub App and grant it access to this repository.

License

This project is licensed under the GPL-3.0 License - see the LICENSE file for details.

Download files

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

Source Distribution

refloxide-0.1.6.tar.gz (3.6 MB view details)

Uploaded Source

Built Distributions

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

refloxide-0.1.6-cp315-cp315t-manylinux_2_28_x86_64.whl (580.6 kB view details)

Uploaded CPython 3.15tmanylinux: glibc 2.28+ x86-64

refloxide-0.1.6-cp315-cp315-manylinux_2_28_x86_64.whl (579.0 kB view details)

Uploaded CPython 3.15manylinux: glibc 2.28+ x86-64

refloxide-0.1.6-cp314-cp314t-manylinux_2_28_x86_64.whl (580.5 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.28+ x86-64

refloxide-0.1.6-cp314-cp314t-manylinux_2_28_aarch64.whl (569.0 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.28+ ARM64

refloxide-0.1.6-cp314-cp314-manylinux_2_28_x86_64.whl (578.9 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

refloxide-0.1.6-cp314-cp314-manylinux_2_28_aarch64.whl (570.6 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ ARM64

refloxide-0.1.6-cp313-cp313-win_amd64.whl (409.9 kB view details)

Uploaded CPython 3.13Windows x86-64

refloxide-0.1.6-cp313-cp313-manylinux_2_28_x86_64.whl (582.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

refloxide-0.1.6-cp313-cp313-manylinux_2_28_aarch64.whl (572.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

refloxide-0.1.6-cp313-cp313-macosx_11_0_arm64.whl (521.4 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

refloxide-0.1.6-cp313-cp313-macosx_10_12_x86_64.whl (529.7 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

refloxide-0.1.6-cp312-cp312-win_amd64.whl (410.2 kB view details)

Uploaded CPython 3.12Windows x86-64

refloxide-0.1.6-cp312-cp312-manylinux_2_28_x86_64.whl (583.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

refloxide-0.1.6-cp312-cp312-manylinux_2_28_aarch64.whl (572.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

refloxide-0.1.6-cp312-cp312-macosx_11_0_arm64.whl (522.1 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

refloxide-0.1.6-cp312-cp312-macosx_10_12_x86_64.whl (530.1 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

File details

Details for the file refloxide-0.1.6.tar.gz.

File metadata

  • Download URL: refloxide-0.1.6.tar.gz
  • Upload date:
  • Size: 3.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for refloxide-0.1.6.tar.gz
Algorithm Hash digest
SHA256 fcef65f8095867bb897faadf29424517719c1026dcb512e46aab9812a2fef7d5
MD5 f09bcd7ea0c9e9be7a60ba5920ed0298
BLAKE2b-256 6227e5af15513f051b5756545c1535bafded0f9308a7acf12ff64b836897a367

See more details on using hashes here.

File details

Details for the file refloxide-0.1.6-cp315-cp315t-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for refloxide-0.1.6-cp315-cp315t-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8c4fe64f31e431146b9869e0d1253fe6b7368f50d59925fd6e4deaf89cec7bfe
MD5 723afddbae612b23cf7eca4847fcab8c
BLAKE2b-256 6ed8561715d66b49bd3115cccf697600971041f8a23deaf32687f2464f14bdd3

See more details on using hashes here.

File details

Details for the file refloxide-0.1.6-cp315-cp315-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for refloxide-0.1.6-cp315-cp315-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3fef84ee75fd44f87c5fd659a081308cd2da9cecfa5d8348f6555ee88b4b3e24
MD5 4b106bb11774103ca8dd788de1294662
BLAKE2b-256 956b3bb7c81870ab912eca4124d1c31e8e2438e6defb85b3fd6749b57fe335a4

See more details on using hashes here.

File details

Details for the file refloxide-0.1.6-cp314-cp314t-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for refloxide-0.1.6-cp314-cp314t-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c2eb32b99952eadcb3c3c48355c8204023b3241135fe06fbd83d3278c4937095
MD5 46919a4f913e111bb06870e963b7c069
BLAKE2b-256 8fbc34f5408c3521e09c1e06da365f86347aac169cc6f49fe5f23bae2ec5861f

See more details on using hashes here.

File details

Details for the file refloxide-0.1.6-cp314-cp314t-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for refloxide-0.1.6-cp314-cp314t-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 150217e60412799745d90c2517cff3959ec95f14a8ca7ce59095d3a02b3bcf97
MD5 aaa63ad71ba918fbfd44ba31d4a77bf5
BLAKE2b-256 846301c802ea9f9fcaf1ed6e4944e8acd2f28b4370e952606e63fd64276ae7e1

See more details on using hashes here.

File details

Details for the file refloxide-0.1.6-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for refloxide-0.1.6-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c905f827c34ae6596b9498e4d42bf9bc0bb4b2fea57cc0ae99999ad862b34bd5
MD5 686216d841afd352ff6caab22a9186cf
BLAKE2b-256 9ff0511263b135df4a7a3c89423d78a7f5f22198eb3117849bd6dc93c2007e53

See more details on using hashes here.

File details

Details for the file refloxide-0.1.6-cp314-cp314-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for refloxide-0.1.6-cp314-cp314-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 96facd5c86118366568577957c6ee7fc7c85220b7e345f753240f4ffc20c4be0
MD5 2f42290b43285f797c8528dc7c00eb69
BLAKE2b-256 916360f130a8cf43a3f001207c5d827cb6b46e2c087a3d0f8cd25698420648bf

See more details on using hashes here.

File details

Details for the file refloxide-0.1.6-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: refloxide-0.1.6-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 409.9 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for refloxide-0.1.6-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 6dbc338b7f963e0390a3dee5d6f5fe51c28f6cec33182470d4f8d09c8d8c5ed0
MD5 c37d37aad35f9bedf090e5b31002fd14
BLAKE2b-256 13dfc07e93e5666a1ee69684ed2012abc42e575698f94a9fe8b4aa0bc25f526c

See more details on using hashes here.

File details

Details for the file refloxide-0.1.6-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for refloxide-0.1.6-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ddd3e014db632aa2e63bd451ce12b54839456818634303674bff153c39c888a4
MD5 7387357963c81fa98dbbd8f8704e6959
BLAKE2b-256 104e926c72c266ffdb9e2b76854e072b8cf4d180023144c5fb29e06f7afd0166

See more details on using hashes here.

File details

Details for the file refloxide-0.1.6-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for refloxide-0.1.6-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 74c8cb567dc05f0abf5dc40ddc7c8ebdf778a4bd3b89878061dc9204e5fa6b5d
MD5 12aeadbb5a62041b30437b308b83d3a7
BLAKE2b-256 07baba3f5e5fe241072701177a0ed8d46f3f934316eb5368434753caa0eb8706

See more details on using hashes here.

File details

Details for the file refloxide-0.1.6-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for refloxide-0.1.6-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4046a730315b47ae5ac764f342a5cb6e51def2af19fe57b4e4a74e100b8ac96b
MD5 ff3ee93f3f17fa3e0ed1bca083abce9a
BLAKE2b-256 0253c8de8933f9207ec95fa5c4315abe9b763563636ed6639aa4afd0803d318c

See more details on using hashes here.

File details

Details for the file refloxide-0.1.6-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for refloxide-0.1.6-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 204c6ef5eac43eccc4dab3d3c6c97bee203e892dbcdb9686b59a46a97eb3ab70
MD5 7fad7e9dd4c4623b26276e0948f916ad
BLAKE2b-256 faf1350230d460ea713315b8e5a317e6be3dfb78b5ea9de4671acf10a9703a93

See more details on using hashes here.

File details

Details for the file refloxide-0.1.6-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: refloxide-0.1.6-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 410.2 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for refloxide-0.1.6-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d952a851a9edf377468ef1364b2833762cae6e561031538e772b9b40927da882
MD5 4c3a66552567feba9371188bad5f08a2
BLAKE2b-256 5411af98893e1846f2303fdb942840fb3ab5ec4c529acdb5bc753f3fe13d240f

See more details on using hashes here.

File details

Details for the file refloxide-0.1.6-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for refloxide-0.1.6-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4597b52529034fc93041cc6d1be3e3c0471190b349254a6646a9bd1bfcd2ce26
MD5 5bf5a7d4697a3393b41e5d63674f8b43
BLAKE2b-256 43181bc7069730d4ddbc19b3f9ea993518c4be6d5bb463b0f8bc187b23eb85ac

See more details on using hashes here.

File details

Details for the file refloxide-0.1.6-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for refloxide-0.1.6-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 85c894a5879beb4d0a0fe603e0d3941696f5a79418a32f05e6d31f82e8e6291a
MD5 8f8791357a6f208cefb94b114b6d7376
BLAKE2b-256 0e85e84737e3ddbba70d9f5e44ef4649e6a404c5e21473bc3ec673c26c8d5191

See more details on using hashes here.

File details

Details for the file refloxide-0.1.6-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for refloxide-0.1.6-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 18ae983dacc888491bf9eef299dee50582a89244941c1892e8c43612b0a83cde
MD5 e2d1cd102f21e56103881338ec16e3cb
BLAKE2b-256 78cbff0f958236119e44f8265158933dbfbe75f2ba8af6b9e76696c0752b4883

See more details on using hashes here.

File details

Details for the file refloxide-0.1.6-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for refloxide-0.1.6-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 61536cc8f054f8a5505de55b0e40cca3554700fe3ece2db97df61015a24fd389
MD5 992e94dd6956308dd6eb3b8f4a3878af
BLAKE2b-256 b722ff8ac6a944c340029da4f1a80db688c5fbc6d121dc85e736418495976603

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.6 This release

17 files

0.1.5

17 files

0.1.4

4 files

0.1.3

4 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