Hachoir library
===============

Hachoir is a library written in Python which allows to represent the content
of file into a tree of fields. A field is the most basic information: a
number, a string, a boolean, etc. Many parser are included: PNG picture, AVI
video, MP3 audio, etc.

Some Hachoir features:
 * Smart parser syntax ;
 * Nice API based on objects ;
 * Lazy parser ;
 * Many ways to explore field set ;
 * Able to fix some parser/file errors.

For the installation: see INSTALL file

Website: http://hachoir.org/


Frontends
=========

Four frontends (scripts) are included:
 * hachoir-metadata: extract meta-datas from a file ;
 * hachoir-urwid: interactive file explorer using urwid (ncurses) ;
 * hachoir-console: display the content of a file into the console ;
 * hachoir-grep: search a string in a file or list all strings.

Use --help option to get more information.

Version 0.5.2 changelog
=======================

 * Better setup.py script: can use distutils instead of setuptools, and
   can be run from any directory
 * All scripts can be used out-of-the-box (don't need PYTHONPATH)
 * Add iTunesDB parser (eg. used for iPod playlist)
 * Fix Quicktime movie parser (buggy validate() function)

Version 0.5.1 changelog
=======================

 * Fix hachoir.bits for 64-bit CPU
 * Fix parsing of fragmented files in the FAT parser

Most important changes between version 0.4 and 0.5
==================================================

 * hachoir script splitted in many scripts (hachoir-urwid, hachoir-metadata
   and hachoir-console) and each script have now many options ;
 * Creation of the script 'hachoir-grep' ;
 * Creation of field type Link and Fragment which allow to explore FAT
   partition (fragmented stream) ;
 * String content is stored in Unicode ;
 * Creation of a testcase to easily test the whole project ;
 * New file parser: ASF (WMV video and WMA audio), MOV (Quicktime movie),
   CDA (Windows audio file); RIFF parser is rewritten from scratch ;
 * hachoir-metadata supports Matroska and is rewritten from scratch.

