public
Description: PyFFI is a Python library for processing block structured files.
Homepage: http://pyffi.sourceforge.net/
Clone URL: git://github.com/amorilia/pyffi.git
pyffi /
name age message
file .gitignore Fri Apr 10 04:36:04 -0700 2009 Eol fixes and .gitignore. * Added new fix.sh s... [amorilia]
file AUTHORS.rst Sun Apr 12 06:58:58 -0700 2009 Reformatted all old .TXT docs to restructured t... [amorilia]
file CHANGELOG.rst Sun Nov 08 14:29:30 -0800 2009 Set TSpace flags 16 to signal presence of tange... [amorilia]
file CONTRIBUTE.rst Sun Apr 12 12:33:38 -0700 2009 Shorter titles for contribute page. [amorilia]
file INSTALL.rst Sat May 02 02:16:12 -0700 2009 Fixed references to renamed pyffi module. [amorilia]
file LICENSE.rst Sat May 02 02:16:12 -0700 2009 Fixed references to renamed pyffi module. [amorilia]
file MANIFEST.in Sat May 02 02:48:50 -0700 2009 Fixed MANIFEST includes for renamed modules. [amorilia]
file README.rst Sat Nov 07 04:38:42 -0800 2009 Readme update. [amorilia]
file THANKS.rst Sat Nov 07 04:40:27 -0800 2009 Typo fix. [amorilia]
file TODO.rst Mon Aug 10 02:05:47 -0700 2009 Further Aion improvements based on cgfs provide... [amorilia]
file cleaninstall.sh Fri Jun 12 00:52:27 -0700 2009 The cleaninstall script now assumes Python 2.6 ... [amorilia]
directory docs-sphinx/ Sat Oct 31 14:48:21 -0700 2009 Document basic use of tri and egm files. [amorilia]
file epydoc-sphinx.patch Sun Apr 26 07:45:03 -0700 2009 Epydoc patch updated to recognize all of the sp... [amorilia]
directory examples/ Sat May 02 01:34:49 -0700 2009 Fixed links to renamed pyffi module. [amorilia]
file fix.sh Sun Apr 26 08:35:00 -0700 2009 Eol fix for Crytek .mtl files. [amorilia]
file install.bat Tue Apr 14 14:00:14 -0700 2009 Converted some remaining CRLF text files to LF.... [amorilia]
file makepy3k.sh Sat Aug 08 07:36:03 -0700 2009 The makepy3k.sh script now uses the 3.1 2to3 sc... [amorilia]
file makezip.bat Tue Aug 11 02:53:10 -0700 2009 Updated dist scripts. [amorilia]
file makezip.sh Mon Sep 28 09:58:28 -0700 2009 Wine workaround for non-ascii characters in fil... [amorilia]
directory pyffi/ Sun Nov 08 14:29:30 -0800 2009 Set TSpace flags 16 to signal presence of tange... [amorilia]
file pylintrc Fri Apr 10 01:41:14 -0700 2009 Removed "pyffi" directory and moved files to ro... [amorilia]
file rundoctest.bat Tue Apr 14 14:00:14 -0700 2009 Converted some remaining CRLF text files to LF.... [amorilia]
file rundoctest.py Fri Oct 30 10:07:40 -0700 2009 Enabled doctests for egm and tri, and fixed som... [amorilia]
file runparsetest.py Sat May 02 02:47:25 -0700 2009 Fixed links to renamed format modules. [amorilia]
directory scripts/ Sat May 02 02:47:25 -0700 2009 Fixed links to renamed format modules. [amorilia]
file setup.py Sun Nov 01 02:29:56 -0800 2009 Added tri and egm modules to setup script. [amorilia]
file sfannounce.txt Wed Jul 22 14:56:59 -0700 2009 Adding announce template for sourceforge. [amorilia]
directory tests/ Fri Oct 30 09:55:16 -0700 2009 Added some sample egm and tri files for regress... [amorilia]
directory todo/ Sat May 02 02:47:25 -0700 2009 Fixed links to renamed format modules. [amorilia]
directory utilities/ Fri Apr 10 01:41:14 -0700 2009 Removed "pyffi" directory and moved files to ro... [amorilia]
directory win-install/ Wed Aug 05 11:49:37 -0700 2009 Removing old installer files. [amorilia]
README.rst

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

Questions? Suggestions?

  • Open an issue at the tracker.
  • Or visit the #niftools channel on FreeNode.