You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

endf-parserpy

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

endf-parserpy

A Python package for reading, writing, verifying and translating ENDF-6 files

0.14.2
pipPyPI
Maintainers
1

endf-parserpy - an ENDF-6 toolkit for Python

endf-parserpy is a Python package for reading and writing ENDF-6 files. This functionality in combination with Python's powerful facilities for data handling enables you to perform various actions on ENDF-6 files, such as:

  • Easily access any information
  • Modify, delete and insert data
  • Perform format validation
  • Convert from and to other file formats, such as JSON
  • Merge data from various ENDF-6 files into a single one
  • Compare ENDF-6 files with meaningful reporting on differences
  • Construct ENDF-6 files from scratch

Many of these actions can be performed via the command line. The support for the ENDF-6 format is comprehensive and some special NJOY2016 output formats are also supported. The package has been tested on the various sublibraries of the major nuclear data libraries, such as ENDF/B, JEFF, and JENDL. Note that the package does not support several materials in a single ENDF-6 file.

Install endf-parserpy

This package is available on the Python Package Index and can be installed using pip:

python -m pip install endf-parserpy --upgrade

Documentation

The documentation is available online @readthedocs. Consider the README.md in the docs/ subdirectory for instructions on how to generate the help files locally.

Simple example

The following code snippet demonstrates how to read an ENDF-6 file, change the AWR variable in the MF3/MT1 section and write the modified data to a new ENDF-6 file:

from endf_parserpy import EndfParserFactory
parser = EndfParserFactory.create()
endf_dict = parser.parsefile('input.endf')
endf_dict[3][1]['AWR'] = 99.99
parser.writefile('output.endf', endf_dict)

Citation

If you want to cite this package, please use the following reference:

G. Schnabel, D. L. Aldama, R. Capote, "How to explain ENDF-6 to computers: A formal ENDF format description language", arXiv:2312.08249, DOI:10.48550/arXiv.2312.08249

License

This code is distributed under the MIT license augmented by an IAEA clause, see the accompanying license file for more information.

Copyright (c) International Atomic Energy Agency (IAEA)

Acknowledgments

Daniel Lopez Aldama made significant contributions to the development of this package. He debugged the ENDF-6 recipe files and helped in numerous discussions to convey a good understanding of the technical details of the ENDF-6 format that enabled the creation of this package.

FAQs

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts