Even if you don't want to use it since it is not as efficient as a hand-written specialized parser, Kaitai Struct gives a perfect way of documenting file formats. I love the idea and every bit of the project!

I like using it for parsing structs but then intersperse procedural code in it for loops/containers, so not everything gets read into RAM all at once.