I've been working on a python app that's sort of a replacement for extract-xiso, plus some other features like CSO compression/decompression, iso scrubbing, attach xbe generation, and batch processing. I have it done for the most part besides being able to write a new xiso from a game folder, which I'd consider a pretty important thing to be able to do.
This seems like the most complex task extract-xiso handles and the code for that program is honestly pretty hard for me to follow (I'm not fluent in C and it doesn't appear to be super well organized) so I'm looking for some more resources on the xiso format, how it's laid out, constraints, specs, and such.