YANI
Yet Another Nuclide Inventory. A material, an irradiation schedule and a neutron spectrum in; inventories, activities, decay heat, contact dose and decay photon spectra out.
Try it online 🌐 | Documentation 📝 | PyPI 🐍
The browser version needs no install and no account. It is the same Rust solver compiled to WebAssembly, against the same continuous-energy data, so it answers what the wheel answers rather than a reduced version of it. The solve runs on your machine; nothing is uploaded.
pip install yani
import yani
yani.cross_section_data = "tendl-2025"
yani.transmutation_reactions = "tendl-2025"
yani.transmutation_branch_ratios = "tendl-2025"
yani.transmutation_decay_data = "endf-b8.1" # TENDL has no decay data
yani.transmutation_fission_yields = "endf-b8.1" # nor fission yields
steel = yani.materials.pnnl.material(key="Steel, Stainless 316", volume=1000.0)
spectrum = yani.NeutronSource(
energy=yani.sources.Histogram(
boundaries=[1e-5, 1e5, 1e6, 1.5e7], probabilities=[1e12, 1e13, 1e14]
)
)
schedule = yani.PulseSchedule(steps=[
yani.Pulse(rate=1.11e14, duration=(1, "a"), source=spectrum),
yani.Cooldown(duration=(1, "d")),
])
results = steel.transmute(schedule=schedule)
final = results.step_materials(material_id=steel.id or 0)[-1]
print(final.activity(), "Bq")
print(final.decay_heat(), "W")
print(final.contact_dose(), "Gy/h")
What it solves
The nuclide inventory under irradiation is the Bateman equations with reaction
terms, dN/dt = A N, solved as a matrix exponential N(t) = exp(A t) N(0) by
CRAM at order 48. The solver is Rust; the wheel needs no compiler and no
external toolchain.
What this repository contains
Documentation, packaging and release automation. The code lives in the
yani-core wheel this package depends on, which provides the yani module
itself, its type stubs and its docstrings. pip install yani pulls it in.
That arrangement is why there is no Python here: one source of truth for the API, and no re-export layer that can drift from it.
Metadata
Release files for yani 0.14.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 | |
|---|---|---|---|
| yani-0.14.0.tar.gz | 3.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| yani-0.14.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 6.2 kB
Release files / yani-0.14.0.tar.gz
| Download URL | yani-0.14.0.tar.gz |
|---|---|
| Size | 3.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
16f85db0b55ac70bf9fdffb32c0bc5b3a1cc6e07a7dba0e90cc919b6c6cd9517
|
|
BLAKE2b-256 checksum How to use checksums |
c361f0015c43dc31b314f8a8ab9771ff8341b9b7c5c5b20e3d068b9b91791464
|
| 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 4, 2026.
Transparency logRelease files / yani-0.14.0-py3-none-any.whl
| Download URL | yani-0.14.0-py3-none-any.whl |
|---|---|
| Size | 3.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3288ecdbbd949f8621339b03f6a4fec90d18bc57c26c4926eacecd0d8078697c
|
|
BLAKE2b-256 checksum How to use checksums |
660b57f032d139f6e88c0bb19879b7a068b9d83e0776696288bfd0efe550eb83
|
| 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 4, 2026.
Transparency log