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 version features a much improved version of the optimizer. Most notably, the fps drop for skinned meshes has been resolved, and the optimizer also runs a lot faster particularly for very large meshes. New spells have been added: opt_collisiongeometry for optimizing triangle based collisions, opt_collisionbox for optimizing simple box collisions, a spell for cleaning far nifs, and for deleting meshes with zero scale. A vast number of bugs have been fixed as well. Check the changelog for full details.
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: