pexif is a Python library for  parsing and more importantly 
editing EXIF data in JPEG files.

This grew out of a need to add GPS tagged data to my images,
Unfortunately the other libraries out there couldn't do updates and
didn't seem easily architectured to be able to add such a thing. Ain't
reusable software grand!

Apps:
 dump_exif.py: Output the EXIF file from a given file.

Status:
 WARNING: This could destroy your images!! Backup your images before using.
 
 Currently it parses files from my Canon without a problem, and is able
 to add a GPS tag without corrupting the rest of the image.

References:
 This work couldn't be done with the reference for the spec. In
 particular I worked to:
  http://www.exif.org/Exif2-2.PDF

 For the format of the Canon stuff I used:
   http://www.burren.cx/david/canon.html
