Python bindings for KFReader, a library from the ADF computational chemistry package
kfreader-cffi is a Python package for reading binary result files produced by the Amsterdam Density Functional (ADF) program suite (http://scm.com). Instead of kf.py, this package does not require working ADF installation.
Note that kfreader-cffi currently is only tested under Python 3.x on Ubuntu
First we need to install some prerequisites:
apt-get update apt-get install build-essential gcc libffi-dev python3-dev
Then to install the package, simply:
pip install kfreader-cffi
Or for development:
git clone https://github.com/mstolyarchuk/kfreader-cffi pip install -e kfreader-cffi
Shared library libkfreader.so will be automatically built from C source files provided in /vendor directory during the installation process (see Makefile for details).
Now you are ready to go!
Before attempting to use this package, you might find the official documentation on TAPE21 useful.
>>> from kfreader import KFReader, kfropen # Open a TAPE21 file. >>> kfr = KFReader('file.t21') # Get the value of a variable given its section and name. >>> kfr.get_data('General', 'file-ident') 'TAPE21' >>> kfr.close() # We can also seamlessly use the with-statement. # Let's simplify the above example: >>> with kfropen('file.t21') as kfr: >>> # Use the reader as regular. The file will be closed >>> # when the block ends. >>> print(kfr.get_data('General', 'termination status')) 'NORMAL TERMINATION'
Many thanks to Alexei Yakovlev and all the other developers (http://scm.com) of the original C routines. This package would not exist without their work.