Skip to main content

OpenNDM

Open Nodal Diffusion Method — a three-dimensional, multi-group nodal diffusion solver for reactor core analysis, with a C++17 core, a pybind11 Python API, and a group-constant generation path built natively on the OpenMC stack.

CI Documentation PyPI conda-forge License: MIT

OpenNDM is the second stage of a two-step lattice → core calculation scheme in which OpenMC performs the lattice-physics stage. Its distinguishing goal:

A user who already has an openmc.mgxs.Library object should be able to run a full-core nodal calculation without writing a single line of format-conversion code.

See docs/requirements.md for the full software requirements specification, and docs/status.md for exactly which of those requirements are implemented today.


Status

Pre-alpha (v0.1.0). The static solver is implemented and verified against both the analytic bare-cuboid solution and the published IAEA-2D/3D PWR benchmarks; the transient, thermal-hydraulics and pin-power chapters of the specification are not yet written. docs/status.md maps every requirement ID to its state — read it before assuming a feature exists.

Implemented and tested:

  • 3D Cartesian geometry on an abstract node/surface graph, non-uniform mesh, inactive core-map positions, per-face zero-flux / vacuum / reflective / albedo boundaries
  • Arbitrary group count with full G×G scattering including upscattering, assembly discontinuity factors, branch-parameterised libraries with multilinear interpolation
  • Three run-time-selectable kernels: FDM, polynomial nodal (NEM) and semi-analytic nodal (SANM), coupled through a nonlinear two-node CMFD iteration
  • Power iteration with Wielandt shift, ILU0-preconditioned BiCGSTAB inners, forward / adjoint / fixed-source modes, critical boron search
  • openndm.gc ingestion of openmc.mgxs.Library, mgxs.h5 files and statepoints, with OpenMC as an optional dependency, validated end to end against a real OpenMC run (C-1)
  • HDF5 statepoint output and an openndm.StatePoint reader

Installation

pip install .            # needs a C++17 compiler; CMake and ninja come from pip
pip install '.[dev]'     # plus pytest, ruff and the docs toolchain

OpenMC is optional and only needed for openndm.gc.

Examples

Four executed notebooks live in examples/. The one the package exists for is 02_openmc_to_openndm.ipynb: an OpenMC lattice calculation becomes a nodal core calculation with no format conversion written by hand. On the run committed there it reproduces OpenMC's k_inf to 12 pcm, 0.2σ.

docs/user-guide.md is the reference.

Quick start

import numpy as np
import openndm

# A 2-group, 3D quarter-core model.
lib = openndm.XSLibrary(n_groups=2, n_compositions=2)
lib.set_composition(
    0,                                                 # fuel
    D=[1.5, 0.4], absorption=[0.010, 0.085],
    nu_fission=[0.0, 0.135], kappa_fission=[0.0, 0.135],
    chi=[1.0, 0.0], scatter=[[0.0, 0.020], [0.0, 0.0]],
)
lib.set_composition(
    1,                                                 # reflector
    D=[2.0, 0.3], absorption=[0.0, 0.010],
    scatter=[[0.0, 0.040], [0.0, 0.0]],
)
lib.finalize()                                         # validates, returns warnings

core = np.zeros((10, 9, 9), dtype=int)
core[:, 8, :] = 1                                      # radial reflector
core[:, :, 8] = 1

geom = openndm.Geometry.from_lattice(
    core, pitch=(20.0, 20.0, 20.0),
    boundaries={"x_min": "reflective", "y_min": "reflective",
                "x_max": "zero_flux", "y_max": "zero_flux",
                "z_min": "vacuum", "z_max": "vacuum"},
)

model = openndm.Model(geom, lib, openndm.Settings(kernel="sanm", verbosity=0))
result = model.solve()

print(result.k_eff)              # 1.036880
print(result.radial_power())     # assembly-wise relative power, (9, 9)
print(result.f_q, result.f_dh)   # peaking factors

Verification

pytest tests/python runs the verification suite, and ctest --test-dir build the C++ one. The checks that pin down correctness:

  • V-1, analytic buckling. A bare homogeneous cuboid against k = νΣf / (Σa + D B²). Every kernel converges second order; at 64 nodes per side the error is 0.1 pcm.
  • V-1, reflected slab. A core plus reflector against the transcendental criticality condition D₁B tan(B a) = D₂κ coth(κb), which exercises a material interface, a reflector and two boundary conditions at once.
  • Albedo boundary. Against its own analytic condition D B tan(B a) = γ across five albedo values, plus all three limits: β=1 is reflective, β=0 is vacuum, β=−1 is zero flux.
  • V-2, manufactured solutions. The full multi-group operator, scattering and fission included, against a solution chosen in advance, with the observed order of accuracy of each kernel.
  • V-3, kernel consistency. Coarse-mesh SANM and NEM against a refined FDM solution of the same problem. On the IAEA-2D core map, SANM at one node per assembly lands 3.7 pcm from the mesh-converged FDM eigenvalue, and all three kernels agree to within 25 pcm under refinement. This is the check that catches a wrong transverse leakage, a wrong discontinuity factor convention or a broken two-node closure; mesh refinement alone would not, because a kernel with any of those defects still converges smoothly, just to the wrong answer.
  • V-4, adjoint reciprocity. Forward and adjoint eigenvalues agree to under 1 pcm while the flux shapes differ.
  • V-4, perturbation theory. First-order adjoint-weighted reactivity against a direct re-solve. This tests the adjoint flux shape; eigenvalue equality alone only confirms the operator was transposed.
  • Neutron balance. Every node conserves neutrons to 3e-11, and the core-wide leakage-plus-absorption-equals-production identity closes to 1e-9.
  • Symmetry. A symmetric core map gives a symmetric power; rotating or mirroring a lopsided core is a pure relabelling.
  • Determinism. Bit-identical results on 1, 2, 4 and 8 threads.

OpenMC coupling

tests/validation/ runs the specification's coupling validation cases.

C-1 is a uniform infinite medium in OpenMC with continuous-energy physics, whose multi-group cross sections are then solved by OpenNDM. It isolates the translation path from every other source of error, and reproduces OpenMC's k_inf to 12 pcm, 1.2σ over 90M histories.

C-2 is a single reflected assembly, which must give discontinuity factors of exactly 1.0 when homogeneous and a thermal factor above 1.0 when it is a pin lattice. Measured: 1.0 to 1.2σ, and 1.045 thermal / 0.993 fast.

Between them these found three defects that stand-in test doubles could not have caught, two of which fail silently — see tests/validation/README.md.

Benchmarks

Deck Reference Result
Bare cuboid, analytic k = νΣf / (Σa + D B²) 0.05 pcm at 64 nodes/side
IAEA-2D PWR published k_eff = 1.02959 SANM −3.7 pcm at one node per assembly
IAEA-3D PWR published k_eff = 1.02903 SANM +44.7 pcm at a 20 cm axial mesh

All three meet the specification's 100 pcm acceptance criterion. See benchmarks/README.md for the full convergence tables and for the two transcription errors the structural invariants now catch.

Documentation

The full documentation is at openndm.readthedocs.io, built with Sphinx using a theme provided by Read the Docs. The same material is readable as Markdown in this repository:

Document Contents
docs/user-guide.md How to drive the solver. Start here
examples/ Four executed notebooks, including OpenMC to OpenNDM end to end
docs/requirements.md The full specification
docs/status.md Requirement-by-requirement implementation state
docs/theory.md Every equation the code solves, with the discretisation written out
docs/architecture.md Module layout and the deviations from the specification, with rationale
CONTRIBUTING.md Build, test and style workflow, and how to get a change merged
SECURITY.md What counts as a vulnerability here, and how to report one

Author

OpenNDM was initiated and is developed by Rizki Oktavian, PhD (@rizkiokt).

If you would like to contribute, or want to discuss using OpenNDM in your own work, get in touch at rizkiokt@gmail.com. Bug reports and feature requests are better filed as issues, and CONTRIBUTING.md describes the pull request workflow.

Citing

If OpenNDM contributes to published work, please cite it. GitHub renders CITATION.cff into BibTeX from the Cite this repository button in the sidebar.

License

MIT — see LICENSE.

OpenNDM is research software. It carries no nuclear quality assurance pedigree and is not qualified for licensing or safety analysis; see SECURITY.md.

Metadata

Release files for openndm 0.2.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 openndm 0.2.0
File Size Uploaded
openndm-0.2.0.tar.gz 281.6 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for openndm 0.2.0
File
openndm-0.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
openndm-0.2.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
openndm-0.2.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
openndm-0.2.0-cp313-cp313-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.13+ x86-64 Details
openndm-0.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
openndm-0.2.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
openndm-0.2.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
openndm-0.2.0-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details
openndm-0.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
openndm-0.2.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
openndm-0.2.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
openndm-0.2.0-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details
openndm-0.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
openndm-0.2.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
openndm-0.2.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
openndm-0.2.0-cp310-cp310-macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ x86-64 Details

Total release size: 5.5 MB

Release files / openndm-0.2.0.tar.gz

Download URL openndm-0.2.0.tar.gz
Size 281.6 kB
Tags Source
SHA-256 checksum
How to use checksums
d0ef309177f1c783492d2d9140bf6b9910ad711e57c8185c8290340ca5796d70
BLAKE2b-256 checksum
How to use checksums
5722172f19c85c221560bfefd937a875191608618bc906e44321386cd50c8ebd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.

Transparency log

Release files / openndm-0.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL openndm-0.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 406.7 kB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
da77cb317c6f861dfdf51a9ec27399fc0efa7281aa9b04d677abd7eca061d309
BLAKE2b-256 checksum
How to use checksums
335b4df0eec28f3e29016907afbb13cd34fa2b74aaefbd61ebf4dcfbe6995942
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.

Transparency log

Release files / openndm-0.2.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL openndm-0.2.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 377.5 kB
Tags CPython 3.13 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
44bdafbfb286128bb2e213589cf4772051fad032920edb55ddcef700657429c0
BLAKE2b-256 checksum
How to use checksums
051b9351bf540265cfe15f6dcd5218239db04b52c0470efb5db458ab50bafb40
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.

Transparency log

Release files / openndm-0.2.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL openndm-0.2.0-cp313-cp313-macosx_11_0_arm64.whl
Size 246.3 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
12508a73e3e4d4a60e3dd41659a99a2b25686f2929c8b4ed8d5569ee7c958761
BLAKE2b-256 checksum
How to use checksums
79bef4d9d4a01e0d8ee88de8c7081128394efa2673cb0afac65560bd8070ae65
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.

Transparency log

Release files / openndm-0.2.0-cp313-cp313-macosx_10_13_x86_64.whl

Download URL openndm-0.2.0-cp313-cp313-macosx_10_13_x86_64.whl
Size 271.0 kB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
60b7919a907b339763f2dcebc864ef1049161fa8917e252bb3317c239202a958
BLAKE2b-256 checksum
How to use checksums
e02171ecd81f63d46b46cf189110e58471e4b26504508c623db1d219da9771be
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.

Transparency log

Release files / openndm-0.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL openndm-0.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 406.6 kB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
6409f38269ef32689eeeee802e8f42ad123728702e8fa1bcdb22f7657c967fdb
BLAKE2b-256 checksum
How to use checksums
ed8cd438cc487e3846b368be70c1e7e51c9a3f6242d04768fe01d81731d22d99
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.

Transparency log

Release files / openndm-0.2.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL openndm-0.2.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 377.5 kB
Tags CPython 3.12 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
a9b0e9f057ee0f78160d06ba00777bf8e10d04192a713269f9949e832b70d808
BLAKE2b-256 checksum
How to use checksums
fa91b520dd431be4f7830828232abf8f0a01051d2b823a3e4fd1a26f10d5cd85
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.

Transparency log

Release files / openndm-0.2.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL openndm-0.2.0-cp312-cp312-macosx_11_0_arm64.whl
Size 246.2 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
561887a8a8fa64bff13760ff20174e32c541f2f314d55bc5d19abeab10ebdfc3
BLAKE2b-256 checksum
How to use checksums
006aa46e19b4057c567a7eb66144ab7c707fa31c8e02e5d337342b2e40ce9081
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.

Transparency log

Release files / openndm-0.2.0-cp312-cp312-macosx_10_13_x86_64.whl

Download URL openndm-0.2.0-cp312-cp312-macosx_10_13_x86_64.whl
Size 270.9 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
92cbdcf8a2c4994fbaee1529be11f5c27882a5e2e4c7a9f656e530c8d376d75f
BLAKE2b-256 checksum
How to use checksums
4ebc13886d37dc3e5d8b53ccc2d979b049a01167346d99e7b44ea31c93bc4cf9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.

Transparency log

Release files / openndm-0.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL openndm-0.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 405.2 kB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
2da236cf600a0e9bf1b5e34644529a400b0adf7c31bd7012a20243b5a07789f7
BLAKE2b-256 checksum
How to use checksums
60a2da3e46e671951f16fa256945416f44070314f9779da5c94ff825578c02cc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.

Transparency log

Release files / openndm-0.2.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL openndm-0.2.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 377.6 kB
Tags CPython 3.11 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
fdf7814ef64c4801c0bfe7dff74a4f1b5ef7a786d639abd1b1e69bd1d0104e24
BLAKE2b-256 checksum
How to use checksums
89d75a8cbcd0ae6fd8f7373dc5f3c3d999c6f9a3a2fb8ab5fdd3e91598305427
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.

Transparency log

Release files / openndm-0.2.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL openndm-0.2.0-cp311-cp311-macosx_11_0_arm64.whl
Size 244.0 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
086f1ee1e7e468c7aedc3c7214f6bd0c93d5a07c180aefc8a92476bdeaf108fe
BLAKE2b-256 checksum
How to use checksums
0576f8438a7ed453bc838d23800ba878dc5c042b829140edaef0eed4d52d46c1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.

Transparency log

Release files / openndm-0.2.0-cp311-cp311-macosx_10_9_x86_64.whl

Download URL openndm-0.2.0-cp311-cp311-macosx_10_9_x86_64.whl
Size 265.9 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
d5abf94616206b08b174238ab3585e4a37994b8c585ca3d0a5dd317a5eca8108
BLAKE2b-256 checksum
How to use checksums
76ccb7da874f3c8ce684c53b32df80c729675af4ce70e8c62fccbc99a9c768ab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.

Transparency log

Release files / openndm-0.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL openndm-0.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 404.1 kB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
f03795aeb58b22cf7b1cfead05f442889129116ed2abb622ad753a860f4381e7
BLAKE2b-256 checksum
How to use checksums
687cf8907b79cab28fc10504aec32787d3154e1f4df91a67400b30ce10b18008
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.

Transparency log

Release files / openndm-0.2.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL openndm-0.2.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 376.9 kB
Tags CPython 3.10 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
13b98a1b93343b10997f4c631308f65899a283920bc490eb8cc725e5aa5ff824
BLAKE2b-256 checksum
How to use checksums
e3a0ebb3cd38b2297db9e71b9c020a70f66a6bc43a71c937b488d631f375b15f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.

Transparency log

Release files / openndm-0.2.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL openndm-0.2.0-cp310-cp310-macosx_11_0_arm64.whl
Size 242.7 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
1c619592884db3fe8bc1810a0dfd5417bb74c96fbc11e207c47982363abb52f9
BLAKE2b-256 checksum
How to use checksums
e70b9c18d8e273cf7a59d2757c40f43d0ef60786b7d89fc1cc850409f8be92c9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.

Transparency log

Release files / openndm-0.2.0-cp310-cp310-macosx_10_9_x86_64.whl

Download URL openndm-0.2.0-cp310-cp310-macosx_10_9_x86_64.whl
Size 264.6 kB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
17c73a7c52dfcd05f49ef1d55f97e3c765675752e157b1715beb6cffc9054f10
BLAKE2b-256 checksum
How to use checksums
569f039ceb75436f4de409f5a90f77b616d079eccc47c35c68f6fed1167db4bf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.0 This release

17 release 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