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 optimizers, 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 Github, or install it with:
easy_install -U PyFFI
or:
pip3 install PyFFI
Developing
To get the latest (but possibly unstable) code, clone PyFFI from its Git repository:
git clone --recursive git://github.com/niftools/pyffi.git virtualenv -p python3 venv source venv/bin/activate pip install -r requirements-dev.txt
Be sure to use the –recursive flag to ensure that you also get all of the submodules.
If you wish to code on PyFFI and send your contributions back upstream, get a github account and fork PyFFI.
Testing
We love tests, they help guarantee that things keep working they way they should. You can run them yourself with the following:
source venv/bin/activate nosetest -v test
or:
source venv/bin/activate py.test -v tests
Documentation
All our documentation is written in ReST and can be generated into HTML, LaTeX, PDF and more thanks to Sphinx. You can generate it yourself:
source venv/bin/activate cd docs make html -a
Examples
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 issue tracker.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file PyFFI-2.2.3.tar.gz
.
File metadata
- Download URL: PyFFI-2.2.3.tar.gz
- Upload date:
- Size: 1.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.4.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 175827047e0f45e359aa401115d408030c5a2151938de751df9ab1d6c5b3de9d |
|
MD5 | 529f6da6a71a8bab2865350f55561f25 |
|
BLAKE2b-256 | ef8d2a427cc7adaafeffc7fdf3c15c28c8898662ac6fd94b798598288adfb589 |
File details
Details for the file PyFFI-2.2.3-py3-none-any.whl
.
File metadata
- Download URL: PyFFI-2.2.3-py3-none-any.whl
- Upload date:
- Size: 547.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.29.0 CPython/3.7.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6adaa791b2e79b48e5cbdde1a51705ef896e7c613bbd0b2abb07f5408e6e99b5 |
|
MD5 | 395fd35da9f8250f56171c11f49ccdf4 |
|
BLAKE2b-256 | 6eb8e088ea099405e66b19b24a45c3056048adc1a90840d0de16e0c6de63c6bf |