The Python File Format Interface aims to make it easy to manipulate binary files in a Python environment. Starting from a file format description written in XML, PyFFI creates customizable Python classes to read and write file blocks as described by the XML. Currently, PyFFI supports the NetImmerse/Gamebryo NIF and KFM formats, FaceGen's EGM and TRI formats, CryTek's CGF format, the DDS format, and the TGA format. Many tools for files used by 3D games, such as a stripifier, and a tangent space calculator, are included in PyFFI as well.
QSkope is PyFFI's graphical user interface, and enables simple editing of files in any file format supported by PyFFI.
This release features a much improved windows installer for 64 bit systems, compatibility fixes for Python 2.5 users, pep8 updates and improved py3k support (via 2to3), a whole load of new spells (check the changelog), and a whole series of new command line options (akin the Alpha tool for nif optimization, not everything is there yet but more is planned!) for the toasters, including multithreading and a workaround for Python leaking memory when running the toaster for a long time (you'll need --jobs 2 or more for this to work), skipping files based on regular extensions, skipping nifs that have a .tri or .egm attached to them, and saving nifs in a destination folder different from the source folder. Finally, support for Atlantica and Howling Sword Online nifs has been added.
For information on how to use PyFFI, browse the documentation here:
http://pyffi.sourceforge.net/apidocs
You can download the latest version of PyFFI and the documentation here: