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.
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.Libraryobject 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×Gscattering 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.gcingestion ofopenmc.mgxs.Library,mgxs.h5files 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.StatePointreader
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)
| File | Size | Uploaded | |
|---|---|---|---|
| openndm-0.2.0.tar.gz | 281.6 kB | Details |
Built distributions (wheels)
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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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