Skip to main content

peclet.morton — fast Morton (Z-order) codes with O(1) arithmetic, vectorised for NumPy

Project description

morton-arithmetic

PyPI version Python versions License: MIT CI

A small, header-only C++17 library for Morton (Z-order) codes whose distinguishing feature is arithmetic directly in Morton space.

Most Morton libraries only encode (interleave coordinates into a code) and decode (the inverse). This one adds the operations you actually want when you navigate a Z-ordered grid:

  • increment / decrement / add along a single axis,
  • find a neighbour,
  • step to the next or previous cell in Z-order,
  • sweep an axis-aligned region,

…all without the usual decode → modify → re-encode round trip. Each is a handful of branchless integer instructions.

#include "morton/morton.hpp"
using morton::Morton;

Morton<2, 32> m = Morton<2, 32>::encode(x, y);  // interleave (PDEP)
m.inc(0);          // x += 1, in place, leaving y's interleaved bits untouched
m.add(1, 10);      // y += 10
auto n = m.neighbor(0, -1);   // the cell at (x-1, y+10)
auto [xx, yy] = m.decode();   // back to coordinates (PEXT)

Why this is faster

Holding a Morton code and needing a neighbour is extremely common: stencils, finite-difference sweeps, octree/quadtree traversal, ray marching, spatial hashing. The conventional approach decodes to coordinates, changes one, and re-encodes. This library mutates the relevant axis' bits in place.

Measured on this machine (Intel x86-64 with BMI2, g++ 14, -O3), 2D 32-bit:

operation this library conventional (decode+encode) speedup
encode 1398 Mops/s 1400 Mops/s (libmorton) parity
decode 2040 Mops/s 2012 Mops/s (libmorton) parity
single neighbour (+1 on an axis) 2721 Mops/s 1110 Mops/s 2.5×
4-neighbour stencil (scattered) 6718 Mops/s 2245 Mops/s 3.0×

Encode/decode are at parity with libmorton (both use the hardware PDEP/PEXT instructions). The win is in the arithmetic operations, which libmorton and similar libraries do not provide.

Honest caveat (from profiling): for a dense, contiguous full-region sweep, simply re-encoding each (x, y) from scratch is actually faster than the arithmetic walk, because independent encodes pipeline while the arithmetic walk has a loop-carried dependency. The arithmetic advantage is for scattered / data-dependent neighbour access, where you already hold a code and cannot batch. See docs/EVALUATION.md.

Design

  • Header-only, C++17, no dependencies. #include "morton/morton.hpp".
  • Morton<Dim, Bits> interleaves Dim coordinates of Bits bits each; the code is stored in the smallest unsigned integer that fits. Dim * Bits ≤ 64 uses a built-in integer; 65–128 bits use __uint128_t where available, so 3D 32-bit (Morton3D32, 96-bit) and 2D 64-bit (Morton2D64, 128-bit) work too.
  • Encode/decode use BMI2 PDEP/PEXT when compiled with -mbmi2, with a portable software fallback otherwise. Both paths are tested for agreement.
  • constexpr: the software path runs at compile time (selected via __builtin_is_constant_evaluated()), so you can build lookup tables in constexpr.
  • Arithmetic wraps modulo 2^Bits per axis (branchless); add_sat/sub_sat/ try_add/try_sub clamp or refuse instead of wrapping.

Headers

header provides
morton/morton.hpp Morton<Dim,Bits>: encode/decode, axis arithmetic, saturating ops, face_neighbors/all_neighbors, ancestor/child hierarchy, Z-order ++/--
morton/iterate.hpp for_each_in_box (row-major), for_each_in_box_zorder (Z-order), and the Tropf-Herzog range-search pair bigmin_in_box / litmax_in_box
morton/batch.hpp vectorised bulk add/sub/step/encode over arrays (AVX2 auto-vectorised)
morton/wide_uint.hpp fixed-width word-array unsigned backing codes wider than 128 bits (pulled in automatically)

Convenience aliases: Morton2D32, Morton2D16, Morton3D21, Morton3D16, Morton3D32, Morton2D64. Codes wider than 128 bits (up to MORTON_MAX_BITS, default 256) work too, e.g. Morton<3,64> (192-bit), Morton<2,128> (256-bit).

A linear octree/quadtree built on this library lives in the sibling octree/ project (morton_octree::Octree) — it is being split into its own repository; see octree/PLAN.md.

GPU (Kokkos)

A portable Kokkos backend lives in include/morton/kokkos.hpp (morton::kokkos). Because the core marks its functions with MORTON_HD (which defers to KOKKOS_FUNCTION), the device kernels run the same Morton<Dim,Bits> code as the CPU — no separate implementation — on any Kokkos backend (CUDA / HIP / OpenMP / Serial); the backend and architecture come from the Kokkos build, not the source. It offers Kokkos::View-based bulk ops (encode2/3, decode2/3, per-axis add/sub/step) plus *_host raw-pointer convenience wrappers. On an RTX 5080 (CUDA backend), 2D-32 encode hits ~51,000 Mops/s when data is resident on the GPU (~33× one CPU core); a one-shot call on host data is PCIe-transfer-bound and no faster than the CPU, so the GPU pays off only when codes live on-device across a pipeline. Opt in with -DMORTON_ENABLE_KOKKOS=ON (see DEVELOPMENT.md).

Build, test, benchmark

Full per-platform setup (incl. Python wheels and the GPU build) is in DEVELOPMENT.md. Quick start:

cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j
ctest --test-dir build --output-on-failure   # or: ./build/tests/morton_tests
./build/benchmarks/morton_bench

As a header-only dependency in another CMake project — either vendored:

add_subdirectory(morton_arithmetic)
target_link_libraries(your_target PRIVATE morton::morton)

…or installed and found via find_package (an install exports a CMake package config; Conan recipe in conanfile.py, vcpkg port in packaging/vcpkg/morton/):

find_package(morton CONFIG REQUIRED)
target_link_libraries(your_target PRIVATE morton::morton)

The test suite cross-checks every encode/decode against both a bit-by-bit reference and libmorton, validates all arithmetic exhaustively on small grids and against decode/modify/encode on large random inputs, and validates the region iterators against brute force (>1M assertions).

Python

A vectorised NumPy interface (pure ctypes, no pybind11/native build deps beyond a C++ compiler), published on PyPI as peclet-morton and imported as peclet.morton (part of the peclet suite namespace). Install as a wheel with scikit-build-core:

pip install .            # builds the extension and bundles it into the wheel
python -m pytest bindings/python/tests -q
import numpy as np, peclet.morton as ma
x = np.arange(1000, dtype=np.uint32); y = x * 2
codes = ma.encode(x, y, bits=32)
shifted = ma.shift(codes, axis=0, delta=+1, dims=2, bits=32)  # +1 in x, no decode
print(ma.decode(shifted, dims=2, bits=32))

For a quick dev loop without installing, drop the .so next to the package and use PYTHONPATH:

cmake --build build --target mortonarith_c
PYTHONPATH=bindings/python python3 -m pytest bindings/python/tests -q

Every call runs over whole arrays in compiled code. The arithmetic shift is ~3× faster than decode+encode in Python too (see bindings/python/bench_python.py).

Repository layout

include/morton/      the library: morton.hpp, iterate.hpp, batch.hpp, simd.hpp,
                     wide_uint.hpp, kokkos.hpp (portable GPU backend)
tests/               doctest suite (encode/decode, arithmetic, constexpr, wide,
                     neighbours, batch, iterate)
benchmarks/          C++ micro-benchmarks (vs libmorton) + batch/SIMD benchmark
bindings/python/     ctypes + NumPy wrapper and pytest tests
pyproject.toml       scikit-build-core wheel build + cibuildwheel config
conanfile.py         Conan recipe;  packaging/vcpkg/  vcpkg port
cmake/               CMake package-config template (find_package(morton))
.github/workflows/   ci.yml (build matrix) + release.yml (PyPI wheels on tag)
docs/                EVALUATION.md, ROADMAP.md, HILBERT_GPU_NOTES.md, Doxyfile
octree/              sibling project: linear octree on this library (being split out)
legacy/              the original arbitrary-width BitArray + octree prototype
third_party/         vendored doctest and libmorton (tests/benchmarks only)

The legacy/ directory holds the project's original prototype: an arbitrary-width BitArray, a wide-code Morton, and an octree built on it. The new core supersedes it for codes that fit in 64 bits; see the roadmap for how the octree could be ported.

License

MIT — see LICENSE.

Project details


Download files

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

Source Distribution

peclet_morton-0.2.0.tar.gz (168.0 kB view details)

Uploaded Source

Built Distributions

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

peclet_morton-0.2.0-cp313-cp313-win_amd64.whl (22.6 kB view details)

Uploaded CPython 3.13Windows x86-64

peclet_morton-0.2.0-cp313-cp313-musllinux_1_2_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

peclet_morton-0.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (30.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

peclet_morton-0.2.0-cp313-cp313-macosx_11_0_arm64.whl (28.3 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

peclet_morton-0.2.0-cp312-cp312-win_amd64.whl (22.6 kB view details)

Uploaded CPython 3.12Windows x86-64

peclet_morton-0.2.0-cp312-cp312-musllinux_1_2_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

peclet_morton-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (30.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

peclet_morton-0.2.0-cp312-cp312-macosx_11_0_arm64.whl (28.3 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

peclet_morton-0.2.0-cp311-cp311-win_amd64.whl (22.6 kB view details)

Uploaded CPython 3.11Windows x86-64

peclet_morton-0.2.0-cp311-cp311-musllinux_1_2_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

peclet_morton-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (30.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

peclet_morton-0.2.0-cp311-cp311-macosx_11_0_arm64.whl (28.3 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

peclet_morton-0.2.0-cp310-cp310-win_amd64.whl (22.6 kB view details)

Uploaded CPython 3.10Windows x86-64

peclet_morton-0.2.0-cp310-cp310-musllinux_1_2_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

peclet_morton-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (30.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

peclet_morton-0.2.0-cp310-cp310-macosx_11_0_arm64.whl (28.3 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

peclet_morton-0.2.0-cp39-cp39-win_amd64.whl (22.6 kB view details)

Uploaded CPython 3.9Windows x86-64

peclet_morton-0.2.0-cp39-cp39-musllinux_1_2_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

peclet_morton-0.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (30.3 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

peclet_morton-0.2.0-cp39-cp39-macosx_11_0_arm64.whl (28.3 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

peclet_morton-0.2.0-cp38-cp38-win_amd64.whl (22.6 kB view details)

Uploaded CPython 3.8Windows x86-64

peclet_morton-0.2.0-cp38-cp38-musllinux_1_2_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ x86-64

peclet_morton-0.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (30.3 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

peclet_morton-0.2.0-cp38-cp38-macosx_11_0_arm64.whl (28.3 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

File details

Details for the file peclet_morton-0.2.0.tar.gz.

File metadata

  • Download URL: peclet_morton-0.2.0.tar.gz
  • Upload date:
  • Size: 168.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for peclet_morton-0.2.0.tar.gz
Algorithm Hash digest
SHA256 3a61e81acf215eb8f2a3cbb8905d972fad0d4f9e8e3039fc4eb13d9ac860d6c7
MD5 3511b3d6095dfdb6d456a0d4f696af32
BLAKE2b-256 8979890f426cca5920504d9f61ddf11827cd48aa64dee4250de7215b553db667

See more details on using hashes here.

Provenance

The following attestation bundles were made for peclet_morton-0.2.0.tar.gz:

Publisher: release.yml on computational-chemical-engineering/peclet-morton

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file peclet_morton-0.2.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for peclet_morton-0.2.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c9b32318dc1d451cc14f3de2304510aca7eec1a14d742a15edba30002579f794
MD5 fd64e7e6bf5f1ec5cee4221c37cb94ca
BLAKE2b-256 492479c1f00b9bb7939265c2d52f447c72b19bcb2a9d37066afe5cc6b9ef8189

See more details on using hashes here.

Provenance

The following attestation bundles were made for peclet_morton-0.2.0-cp313-cp313-win_amd64.whl:

Publisher: release.yml on computational-chemical-engineering/peclet-morton

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file peclet_morton-0.2.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for peclet_morton-0.2.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 379e8d0d5b33b1036e8f045ccc0f610ac94bdcda45a56677768dfebf9da153ee
MD5 fd2f0024051eddd6d4db23cc83c94a50
BLAKE2b-256 8151216e8f16e324a99cd48321e08e8d73c25aaeb811add621eafc2a3c01bb6c

See more details on using hashes here.

Provenance

The following attestation bundles were made for peclet_morton-0.2.0-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: release.yml on computational-chemical-engineering/peclet-morton

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file peclet_morton-0.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for peclet_morton-0.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 76c12f07c6d80b2388371dc25cacb43ec967074f92a148810dd8dabaf5319374
MD5 1ece9aa013c8cc3c329ea960acab91db
BLAKE2b-256 b8c4f933875342aebc010b71067c5aeee8494fd8dcc6b9f3b2a63a7f287d87e1

See more details on using hashes here.

Provenance

The following attestation bundles were made for peclet_morton-0.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on computational-chemical-engineering/peclet-morton

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file peclet_morton-0.2.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for peclet_morton-0.2.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3924ebbb992de6adaa2a4ac4a7a21e675668e099bc0ba64f23696e6cb61c77f4
MD5 b8508ec74494872741983ee35180981d
BLAKE2b-256 8e1880d731f1adea792d0a7eb6225a8045182fc02b5b4cdf259a0c7f38d0fdf7

See more details on using hashes here.

Provenance

The following attestation bundles were made for peclet_morton-0.2.0-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: release.yml on computational-chemical-engineering/peclet-morton

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file peclet_morton-0.2.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for peclet_morton-0.2.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 28ed75bad23adac66b52fb512cef42fb363999592decc5a0b2dbf016ee51f7ae
MD5 1792b61e0fb19686fe70de460e532fdd
BLAKE2b-256 793519bf06844d98e179202159d3509cf583aa4db58a87e880dac6ea817d9639

See more details on using hashes here.

Provenance

The following attestation bundles were made for peclet_morton-0.2.0-cp312-cp312-win_amd64.whl:

Publisher: release.yml on computational-chemical-engineering/peclet-morton

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file peclet_morton-0.2.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for peclet_morton-0.2.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d29864cdebc4f5130b48120e9ab290014c6135c99f9bba83dc75890cc2bc0531
MD5 35d3de7aaf54686b1449a991877ccbb0
BLAKE2b-256 c9fd596ad68537858f08cdc1508ead2888a4d542042d84fd3fc165e0b8810aca

See more details on using hashes here.

Provenance

The following attestation bundles were made for peclet_morton-0.2.0-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: release.yml on computational-chemical-engineering/peclet-morton

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file peclet_morton-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for peclet_morton-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7e5203488356848cd6a634f5f93dc95e6d516fb78af8f90182a9a6a8718b9df1
MD5 56f3dc4c1ab4323e7b87d74b3e6f733b
BLAKE2b-256 3b731734b7491674f2369514fdecc58287c8e7d5b8df20da66bf4c4ab16cdf16

See more details on using hashes here.

Provenance

The following attestation bundles were made for peclet_morton-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on computational-chemical-engineering/peclet-morton

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file peclet_morton-0.2.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for peclet_morton-0.2.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6ea25bf55bd4b7413687d5f38273c237832c27c11d0936eff1f9d30d96a884e5
MD5 e6967cd290b3940c4e22e59d2de0f024
BLAKE2b-256 38fcd640d16ab512de0a5913f960ef6f0301c9dbbc85b51a761f4d8498554cbe

See more details on using hashes here.

Provenance

The following attestation bundles were made for peclet_morton-0.2.0-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release.yml on computational-chemical-engineering/peclet-morton

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file peclet_morton-0.2.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for peclet_morton-0.2.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ecddf71a8ec53f0adf44bbb45c999db186cac8870701e9081e618f7c6e317331
MD5 fba846aa460ebb17ebe0c5a47ee51126
BLAKE2b-256 734836123846a61eb622feccd2f4bc6e64fc70a152e1c306362d268181490315

See more details on using hashes here.

Provenance

The following attestation bundles were made for peclet_morton-0.2.0-cp311-cp311-win_amd64.whl:

Publisher: release.yml on computational-chemical-engineering/peclet-morton

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file peclet_morton-0.2.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for peclet_morton-0.2.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3328633735c0047725e9ab86bf1fc7b209cbf3b7bfd4e7e065a3136a0ca42e6d
MD5 c9843d84bea8619c9bc752c22fcd034e
BLAKE2b-256 253df7f94d5a0cae21feb342420a7501179c3e00765fc4d6b5559f56f56aed22

See more details on using hashes here.

Provenance

The following attestation bundles were made for peclet_morton-0.2.0-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: release.yml on computational-chemical-engineering/peclet-morton

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file peclet_morton-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for peclet_morton-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 647979540d9b164c407e6a680da0a83a534029e401254b130ff33ed854a64be9
MD5 3a9a94fbdd899970148e017b91158c95
BLAKE2b-256 a4be1cc91701f140c837ccfd3e698e9193622f7410036d9e26aae022fbaf2848

See more details on using hashes here.

Provenance

The following attestation bundles were made for peclet_morton-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on computational-chemical-engineering/peclet-morton

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file peclet_morton-0.2.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for peclet_morton-0.2.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d688c70a1d1220b5174ba8761b9d1c38371bdbaee8e92c2afb52de988c028b32
MD5 26d5e786ab3ba5b178201738506eb133
BLAKE2b-256 2bcd3a8237d3460986c3dd0f0f302305146b756ca5a5955d6616cfec1046043c

See more details on using hashes here.

Provenance

The following attestation bundles were made for peclet_morton-0.2.0-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release.yml on computational-chemical-engineering/peclet-morton

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file peclet_morton-0.2.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for peclet_morton-0.2.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 ca637812ca4e5498ad9f19624e96f733ae1c95b36d24dd2e11db599e08c1a22f
MD5 5f455f52c8d607c54b4654d1c24e5a8b
BLAKE2b-256 6c937a063bb356fbcc7647c7bc0955fcb97adafe91b0bfcba8474f849d9c4595

See more details on using hashes here.

Provenance

The following attestation bundles were made for peclet_morton-0.2.0-cp310-cp310-win_amd64.whl:

Publisher: release.yml on computational-chemical-engineering/peclet-morton

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file peclet_morton-0.2.0-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for peclet_morton-0.2.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9a5248edf87545a5698ee3c169f1000dc65df72a8d0c403a50def24f46fd904d
MD5 e963aecfb8e9ce14a1ad317383ebe362
BLAKE2b-256 23c005178cc79a3ac979609dc1468a901ea92cf454e0779520d8cf1f27db02dd

See more details on using hashes here.

Provenance

The following attestation bundles were made for peclet_morton-0.2.0-cp310-cp310-musllinux_1_2_x86_64.whl:

Publisher: release.yml on computational-chemical-engineering/peclet-morton

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file peclet_morton-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for peclet_morton-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7e6636d808eefa1d37eedb37dc1bbd075f8b1e9233c9daaeacbd9dbad8162b06
MD5 378607a0b3337a43eabe3a40fe0f482f
BLAKE2b-256 a82afb045637d8430a572f4050f11ca6cc054e8933f4345608c28dbbfa01379a

See more details on using hashes here.

Provenance

The following attestation bundles were made for peclet_morton-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on computational-chemical-engineering/peclet-morton

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file peclet_morton-0.2.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for peclet_morton-0.2.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e1a55d6cda98c3a443c035cc11378c657a46709be7ec0c4f9f6ee3d47eac9ec0
MD5 7990685a89bf4c80b272b6a36d53a086
BLAKE2b-256 7fa1eaf593054930ae4772f00498b61a988c3d27f4058d151ff15a5f69661221

See more details on using hashes here.

Provenance

The following attestation bundles were made for peclet_morton-0.2.0-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: release.yml on computational-chemical-engineering/peclet-morton

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file peclet_morton-0.2.0-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for peclet_morton-0.2.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 4835c816295787162b26046a6775c1df4f8d915a2c5787028223a168d00d2e05
MD5 80de303535a925e46c18767a63245635
BLAKE2b-256 395fd1cd9a859a40fae6748e90988efa94bebc63db6d0997640a994c907b6a56

See more details on using hashes here.

Provenance

The following attestation bundles were made for peclet_morton-0.2.0-cp39-cp39-win_amd64.whl:

Publisher: release.yml on computational-chemical-engineering/peclet-morton

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file peclet_morton-0.2.0-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for peclet_morton-0.2.0-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3d263465de023136cbeafed0559928b1019f203c5f6664a88c099cea92fa60ad
MD5 5eeca546624bd03b86d5c496dcd4a5d1
BLAKE2b-256 73979e2446f560dde7768baa1135ab61b0d71272a372d4a320645ccdba8810d7

See more details on using hashes here.

Provenance

The following attestation bundles were made for peclet_morton-0.2.0-cp39-cp39-musllinux_1_2_x86_64.whl:

Publisher: release.yml on computational-chemical-engineering/peclet-morton

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file peclet_morton-0.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for peclet_morton-0.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9de6f3173682a9a1d2bd5c278efddf6beff451e03c6da0cc07dd5d3f24c3df2c
MD5 bf3ef9ce794f6d2178fde6bee97fa384
BLAKE2b-256 60e4d754e6af2a9efdf235da66f1457e5384caf930258173f88affde69ccb0fa

See more details on using hashes here.

Provenance

The following attestation bundles were made for peclet_morton-0.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on computational-chemical-engineering/peclet-morton

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file peclet_morton-0.2.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for peclet_morton-0.2.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0b3be1c87acc48a20162b05251e6cb0847368e7adc69aecd8b4ea7e34d52d1b0
MD5 f411ab3c5c4fea0c69938e92408e58e4
BLAKE2b-256 ab7187a0953d57d857c9681df716fee0a9bfff8595c355179454c13caf97337e

See more details on using hashes here.

Provenance

The following attestation bundles were made for peclet_morton-0.2.0-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: release.yml on computational-chemical-engineering/peclet-morton

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file peclet_morton-0.2.0-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for peclet_morton-0.2.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 6ed110f846f511af0f5023746847222c18a0950e5cd6fe5b24e3fcc23f9b5d95
MD5 77e150c5cd7eebae40fbfc3c4857c41d
BLAKE2b-256 ebd8bb1a2ef452611f07878eb98a098ecba2626c68df5cab17406fb52bf50cda

See more details on using hashes here.

Provenance

The following attestation bundles were made for peclet_morton-0.2.0-cp38-cp38-win_amd64.whl:

Publisher: release.yml on computational-chemical-engineering/peclet-morton

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file peclet_morton-0.2.0-cp38-cp38-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for peclet_morton-0.2.0-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c003b51aa75967738af28d8d2cd43a2c40853450afc5f45099b709438f62b45f
MD5 aad3d293a18a4af1d7b8ef43c360db4a
BLAKE2b-256 b93540c2b375d4702c48e88d9265184108146a09aafbada6bfe1e8b5211fe959

See more details on using hashes here.

Provenance

The following attestation bundles were made for peclet_morton-0.2.0-cp38-cp38-musllinux_1_2_x86_64.whl:

Publisher: release.yml on computational-chemical-engineering/peclet-morton

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file peclet_morton-0.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for peclet_morton-0.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4865569855b027818fea54b352bd2e6cad6d27315099434c500c839357506f4a
MD5 790ae150e730a0baf07749944caf42b9
BLAKE2b-256 5c8843a378a214983f46ac0a63100f50edc430b4b9911f279585b556b3487516

See more details on using hashes here.

Provenance

The following attestation bundles were made for peclet_morton-0.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on computational-chemical-engineering/peclet-morton

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file peclet_morton-0.2.0-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for peclet_morton-0.2.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d790bb9a70728f06759f1841f5479ad49a487db7ecfe9f52ef3389b68ccb7245
MD5 5dd667cdf83df373fa837c5079635fd1
BLAKE2b-256 def5c23a73042c7b5a651271d00f9d6f4ab7f2ca2bbec63a23b4da0c5c579c5d

See more details on using hashes here.

Provenance

The following attestation bundles were made for peclet_morton-0.2.0-cp38-cp38-macosx_11_0_arm64.whl:

Publisher: release.yml on computational-chemical-engineering/peclet-morton

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page