Skip to main content

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

Project description

morton-arithmetic

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.1.0.tar.gz (166.9 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.1.0-cp313-cp313-win_amd64.whl (22.4 kB view details)

Uploaded CPython 3.13Windows x86-64

peclet_morton-0.1.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.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (30.2 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

peclet_morton-0.1.0-cp313-cp313-macosx_11_0_arm64.whl (28.2 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

peclet_morton-0.1.0-cp312-cp312-win_amd64.whl (22.4 kB view details)

Uploaded CPython 3.12Windows x86-64

peclet_morton-0.1.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.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (30.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

peclet_morton-0.1.0-cp312-cp312-macosx_11_0_arm64.whl (28.2 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

peclet_morton-0.1.0-cp311-cp311-win_amd64.whl (22.4 kB view details)

Uploaded CPython 3.11Windows x86-64

peclet_morton-0.1.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.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (30.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

peclet_morton-0.1.0-cp311-cp311-macosx_11_0_arm64.whl (28.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

peclet_morton-0.1.0-cp310-cp310-win_amd64.whl (22.4 kB view details)

Uploaded CPython 3.10Windows x86-64

peclet_morton-0.1.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.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (30.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

peclet_morton-0.1.0-cp310-cp310-macosx_11_0_arm64.whl (28.2 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

peclet_morton-0.1.0-cp39-cp39-win_amd64.whl (22.4 kB view details)

Uploaded CPython 3.9Windows x86-64

peclet_morton-0.1.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.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (30.2 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

peclet_morton-0.1.0-cp39-cp39-macosx_11_0_arm64.whl (28.2 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

peclet_morton-0.1.0-cp38-cp38-win_amd64.whl (22.4 kB view details)

Uploaded CPython 3.8Windows x86-64

peclet_morton-0.1.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.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (30.2 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

peclet_morton-0.1.0-cp38-cp38-macosx_11_0_arm64.whl (28.2 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: peclet_morton-0.1.0.tar.gz
  • Upload date:
  • Size: 166.9 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.1.0.tar.gz
Algorithm Hash digest
SHA256 145aa8592762b0d674b03a4643f6a94a8ddfa7f9dd622482230638c58153c601
MD5 c4005dcf7e68cd9889abbd8251be2048
BLAKE2b-256 97a87146aaba7c7e74615f27a7a84852d878f0fdce97bcf53bfb72306e84c51d

See more details on using hashes here.

Provenance

The following attestation bundles were made for peclet_morton-0.1.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.1.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for peclet_morton-0.1.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 16e5652fecd0ff613f84420c9f89a64acfa4a937dd097cf7a0c593fecd64d4a6
MD5 369de6abcb53fe48bbfadecbd77654f5
BLAKE2b-256 235bf2b7e7f4552a9a07cd7a0f661641ed50b09acf1da76267def29d83fd591a

See more details on using hashes here.

Provenance

The following attestation bundles were made for peclet_morton-0.1.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.1.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for peclet_morton-0.1.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 703d664963f4c3791cc7cf56f5d6258a1b555545d278e987c15244c88507d34b
MD5 46114daf4bdc2debdee61cc5bceb2ae6
BLAKE2b-256 1d308df864b39cd19f53e1141977616e05bb861d962b79e000d553bde41a6324

See more details on using hashes here.

Provenance

The following attestation bundles were made for peclet_morton-0.1.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.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for peclet_morton-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d30bd3b250a375a5a5aa97911cdef97b9a4fb792244c324b25d933f58c73ca02
MD5 1fe7e3051a55fe84b411186f909f5696
BLAKE2b-256 14eb9c55d24d492f5af41ed4d9d01f94cbba4916f4655a72606fad21ce47bc5b

See more details on using hashes here.

Provenance

The following attestation bundles were made for peclet_morton-0.1.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.1.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for peclet_morton-0.1.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cd6a855c80680683343e115318097ff58e664dbe8532b45e001acf40a29d8bd1
MD5 25e5686924b3306e2c5b7775daa9dd12
BLAKE2b-256 581f9118aca626e800c00dae4ba2646b48b8d694f38a3d6d6b7dbad97de68a9f

See more details on using hashes here.

Provenance

The following attestation bundles were made for peclet_morton-0.1.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.1.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for peclet_morton-0.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 358b2cc38d453aec533536b30600cec491bd821df2fdf23897c97b40248eb331
MD5 37070e9b4f0f2fa6b912bc0fa07cc76c
BLAKE2b-256 0c0ca36ea1d45accf37300aae67883a9df6d462870ab7957d367eb3c8c2db1cb

See more details on using hashes here.

Provenance

The following attestation bundles were made for peclet_morton-0.1.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.1.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for peclet_morton-0.1.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 21d7f4dcf0f774b5f13f689a40a82ed5efd67c64940edde9b668904969f6d882
MD5 262d925fe2beb763e10e9b623557c125
BLAKE2b-256 ab453d6b7d8c5a79eccc1e2ec1527b967489c4bcaa4736de49080153039534c5

See more details on using hashes here.

Provenance

The following attestation bundles were made for peclet_morton-0.1.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.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for peclet_morton-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 df2da2364e27a067880e5392011fbb56df704868e660f50404d0a5dd60a953a3
MD5 4d240b2a2d4cdff5f290ff3fd75bbe2f
BLAKE2b-256 154307d0e33e57295a78ef733873407c9814483ad3ccf5ea54ceb14012c21cfd

See more details on using hashes here.

Provenance

The following attestation bundles were made for peclet_morton-0.1.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.1.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for peclet_morton-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5bf9cc00f0fff8ba6874c0b9ec5d1abb4744ad3a28d9e6a197468f51f0dcce9b
MD5 f85d98a3cf3650dcffb8cd5992a90f9b
BLAKE2b-256 83598af12c6f6cbf906cff449f16586558535325ddd4af9739f5eb04e74ebad2

See more details on using hashes here.

Provenance

The following attestation bundles were made for peclet_morton-0.1.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.1.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for peclet_morton-0.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b67ecbe284072d7efaae7ce1001885a02da587a4b596ba2fc7f303bf86305db3
MD5 3ed8002f8bb260bf2db1cc59f8497266
BLAKE2b-256 2118f5da627152df8cf0e12ef81348b100e8981f1f5eeb89a587c29eae1f6d92

See more details on using hashes here.

Provenance

The following attestation bundles were made for peclet_morton-0.1.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.1.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for peclet_morton-0.1.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6ba86de13291a950fb38a46a500158a41dbe79e42274fbc209ccd10ee1641f2d
MD5 f35575802852a00535986c00b0dc0f0d
BLAKE2b-256 2b8e30cebee5b2e04e818fdb737fe16bd4346552bb0715b7843282afde74889c

See more details on using hashes here.

Provenance

The following attestation bundles were made for peclet_morton-0.1.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.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for peclet_morton-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3e66ba22c2a99965af7d98a06121343d8b4d8a58d37f57b3499d0aa65206697d
MD5 1ea2ccc08005dffeb3caedade53d5b66
BLAKE2b-256 1c591a53589b0f87c8bb57bb86ff22ad2db8f97a66731c4b9be98d7f65ddb5ba

See more details on using hashes here.

Provenance

The following attestation bundles were made for peclet_morton-0.1.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.1.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for peclet_morton-0.1.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9dd0b9290fb03e853df08c1d8ca2b2694408a349d8a499bed4e44e72b581e198
MD5 8467877fce6598114024aa056865f959
BLAKE2b-256 b3d760fad520de08e971daf337aa231219d4a94ec30758c3ac6f2e1fee64a3b3

See more details on using hashes here.

Provenance

The following attestation bundles were made for peclet_morton-0.1.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.1.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for peclet_morton-0.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 4d20903284289e8b3bea338637f4034bc69d95d8b91981b721a7dad1e1f5b9bf
MD5 1a2397bc2b2a198b4f3c211926db210b
BLAKE2b-256 e01bedd4df0c10c6adeb7d8de3ae79c4a1337920cf02fbcde07e7a7e5ff23982

See more details on using hashes here.

Provenance

The following attestation bundles were made for peclet_morton-0.1.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.1.0-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for peclet_morton-0.1.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9a6d328052e296c84a753ae13d9e0a7fa2a4d3a57ee172b6e4ed8f3611f0ffe4
MD5 e41779cc1f1cb1eefdd060b530f5d14e
BLAKE2b-256 2ffe09207c6b9ecf2c8d1271574d1a0221292fb4f4cf4801a3299cf188adf5cf

See more details on using hashes here.

Provenance

The following attestation bundles were made for peclet_morton-0.1.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.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for peclet_morton-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3574a5fedf2e5f15cc8b0c26003eaa594a49a587a2bef64f12565179a8789392
MD5 67fea2072a5b9e39b61cbc839b87f779
BLAKE2b-256 bd36bf4a9c196e5fb4dfd95a4970783b9084d5ccb0da5efc2860136520c2ca67

See more details on using hashes here.

Provenance

The following attestation bundles were made for peclet_morton-0.1.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.1.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for peclet_morton-0.1.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8d9cde0820f5c6abc177812c68deb1eab570ce54aec1daaf39b8fcedd86b50b5
MD5 f05355cb5afd1aa07627c516706b7372
BLAKE2b-256 9b4ce15006ca9398c4bdcb41d498af4a95e0b927ad4ac479b855c8ae2dcc28b2

See more details on using hashes here.

Provenance

The following attestation bundles were made for peclet_morton-0.1.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.1.0-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for peclet_morton-0.1.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 f74071bfa29f1866f646a7b5c8235025518cbb8ff8bd1d49c715ae79d90153df
MD5 0bb27810810e30c0535c55f0f371fdb4
BLAKE2b-256 ba64c580da98a3468a15e0955d1a235ff1ab6452414fdb8276ae67e228244f91

See more details on using hashes here.

Provenance

The following attestation bundles were made for peclet_morton-0.1.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.1.0-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for peclet_morton-0.1.0-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 bf88e121885dc62109ee781c9e683ab810293b25c984330040b1e3c73dbbc703
MD5 fecb92ecf71cbcf64221a5f93ca75d70
BLAKE2b-256 4ca56089d808a2975a3ce46459975f4c99a692b7dba849a63004b317872bdc95

See more details on using hashes here.

Provenance

The following attestation bundles were made for peclet_morton-0.1.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.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for peclet_morton-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 757d4f48184a7b73b4a1cd02797f2dcae4cb19d5024e935d0464da57b21553e2
MD5 24a0544986987e8228e2cb12b7d57a54
BLAKE2b-256 7df9f7802a3996717c41ee821da7ea4ebc2497008bf72557a66d5f2cc1e0a31b

See more details on using hashes here.

Provenance

The following attestation bundles were made for peclet_morton-0.1.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.1.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for peclet_morton-0.1.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ae6043d9b769057de3ed3b56d9e97033acd553a63021de288efc421059772483
MD5 0ac11f580636a8eff78a4d42f68f5d29
BLAKE2b-256 3d0b52d732c2998b00a3942eda0528c4fb4caf59c5dc98cb5fa4c299cb5f0eed

See more details on using hashes here.

Provenance

The following attestation bundles were made for peclet_morton-0.1.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.1.0-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for peclet_morton-0.1.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 51e09f0247b09942bb3f9196881a43427c9fb145fd7c3a74addf28a1fcef5495
MD5 e640dd682734c2e573ee51ec612e0cb5
BLAKE2b-256 6a56ce01ab2eb5f793e8bd5a2771e2511d22b4c516b4e6e8b00b8d99ed62a006

See more details on using hashes here.

Provenance

The following attestation bundles were made for peclet_morton-0.1.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.1.0-cp38-cp38-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for peclet_morton-0.1.0-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0a70e4940f00a20e607dfdc97dd498d91ba84675bb3e4cf30a8bfb276824036c
MD5 06a7c9cb7c551a4c5e999519c6406818
BLAKE2b-256 e4afc8a1ffe8bc5362b3edf6a77bd9f34f0daf4e8acfcde6685ae711a656e188

See more details on using hashes here.

Provenance

The following attestation bundles were made for peclet_morton-0.1.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.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for peclet_morton-0.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2f57309355992163e638bc4a4aa12bf9ed2d1222c334ee99a38d3b9390520a7b
MD5 d3ff1bdbb832c7e2f3c7c096e4ab792d
BLAKE2b-256 9aecda4cc5afd4735f5775a79cc06cbba6f04ca51f834dc1da7cab934e46a2e6

See more details on using hashes here.

Provenance

The following attestation bundles were made for peclet_morton-0.1.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.1.0-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for peclet_morton-0.1.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 82244febb1523744d05ff363978ade6a6f352b8488302cf8742d13455a4bd5ef
MD5 130ba8a0197005c8d842b8df21ada2b6
BLAKE2b-256 79c5b8cd43e00d82adf855f33e178dc08ce358dcf1ad1c86770c672abcdbc81f

See more details on using hashes here.

Provenance

The following attestation bundles were made for peclet_morton-0.1.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