Processing block structured binary files.
Project description
The Python File Format Interface, briefly PyFFI, is an open source Python library for processing block structured binary files:
Simple: Reading, writing, and manipulating complex binary files in a Python environment is easy! Currently, PyFFI supports the NetImmerse/Gamebryo NIF and KFM formats, CryTek’s CGF format, the FaceGen EGM format, the DDS format, and the TGA format.
Batteries included: Many tools for files used by 3D games, such as a stripifier, tangent space calculator, 2d/3d hull algorithms, inertia calculator, as well as a general purpose file editor QSkope (using PyQt4), are included.
Modular: Its highly modular design makes it easy to add support for new formats, and also to extend existing functionality.
Download
Get PyFFI from Sourceforge, or install it with:
easy_install -U PyFFI
To get the latest (but possibly unstable) code, clone PyFFI from its Git repository. If you wish to code on PyFFI and send your contributions back upstream, get a github account and fork PyFFI.
Examples
The Blender NIF Scripts and the Blender CGF Scripts use PyFFI to import and export these files to and from Blender.
QSkope, PyFFI’s general purpose file editor.
The niftoaster (PyFFI’s “swiss army knife”) can for instance optimize nif files, and much more.
Questions? Suggestions?
Open an issue at the tracker.
Or visit the #niftools channel on FreeNode.