Catalog PyPI
PACKAGE EXPLORERView in registry

actinv

PyPI

Open, standalone nuclide-inventory and activation solver

activationdecay-heatinventoryneutronicsnuclear
Versions collected1
Direct dependencies0From release 1.5.0
Last observed20 Oct, 18:31 UTC

README

Version 1.5.0 documentation

ACTINV for Python

ACTINV calculates how a material's nuclide inventory changes during irradiation and cooling. It reports inventories, activities, decay heat, photon sources, selected radiological indices, NRT damage observables (dpa), uncertainty information, and an explicit ledger of incomplete input data.

Installation is one command:

pip install actinv

That installation provides both import actinv and the actinv terminal command. No Rust compiler is needed when a wheel is available for the platform.

import actinv
import json

with open("problem.json", encoding="utf-8") as source:
    result = json.loads(actinv.run(source.read()))

print(result["steps"][-1]["heat_W_per_g"]["total"])

Nuclear-data libraries are distributed separately from the Python wheel. Install and verify the recommended versioned bundle with actinv data fetch and actinv data verify; each calculation records hashes for the selected files. See the project README for the quick start, download instructions, examples, validation evidence, and qualification boundary.

ACTINV is research-grade software. It is not approved for licensing, safety, or regulatory decisions.

Object interface

from pathlib import Path
from actinv import Problem, Material, Schedule, solve

problem = Problem.example(data_dir=Path("actinv-data"))
problem["material"] = Material({"Fe": 100}, mass_g=10)
problem["schedule"] = Schedule().irradiate("5 min").cool("1 h")
problem.save("iron.json")
result = solve(problem)  # Also accepts Path("iron.json") or a plain dictionary.
print(result.heat())      # (seconds, W/g)
print(result.activity())  # (seconds, total Bq/g)
result.save("iron-result.json")

Problem.from_file(path) resolves data references against the problem's directory; supply base= for older repository-relative files. Plain mappings use the current working directory. Spectrum(values, structure=…, total=…, descending=…) provides explicit spectrum construction. Complete result fields remain accessible by key. Existing run(json_text) still returns JSON text; run_json is an explicit alias. solve returns Result.

Schedule steps may carry continuous feed and first-order removal:

problem["schedule"] = Schedule().irradiate("5 min", feed={"Co60": 1e12}, removal={"Mn56": 1e-3}).cool("1 h")

actinv.reverse(problem, measurements, segments=False) — or actinv-reverse on the command line — recovers a flux multiplier (or per-segment multipliers) from measured activities in the linear regime. Damage observables are requested with options.outputs containing "damage" plus a damage section pinning an actinv-damage-table-1 file and per-element displacement energies.

actinv.decide(decision, base_dir=None) runs the decision loop: an actinv-decide-1 mapping (or file path) naming a banded run spec plus response constraints at declared band edges returns the certified actinv-decision-1 document — verdict, binding constraints, completeness, and ranked measurement targets. actinv.optimize(optspec_path, outdir=None, resume=False) runs an actinv-optimize-1 design search and returns the optimize_result document (the ledger lands in outdir). Certified screening is a spec option: problem["options"]["screen"] = {"bmin_atoms_per_g": 1e-4} adds the screen certificate to any solve. actinv.budget(budget, base_dir=None, verify=True) runs an actinv-budget-1 mapping (or file path) — an impurity budget for the IAEA clearance index — and returns the actinv-budget-result-1 document; a failed verification is returned, not raised (the CLI's exit code 3 has no Python equivalent).

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
1.5.016 Oct 20260

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
avilalabs/actinv

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 18:31 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:af20191b855a45e445f2f4b9fc28c1587d94d77e50cfb7c6bfc8d1d27666f361