PyXSD was developed in order to map schema (XSD) and their related XML files into the programming language python. The program builds a pythonic representation of the XML tree according to the specifications in the schema and raises non-fatal parser errors whenever possible in order to help the user make a more valid xml document. The program allows the user to specify transform classes, which manipulate the xml tree in various ways. The program then writes the xml tree back out. This program was written in order to replace many of the old tools that were written in FORTRAN with the more modern XML format and the more modern and powerful Python programming language. PyXSD allows users to create their own transform classes with the help of a transform library. These classes are fairly simple to write, making the system highly adaptable to very specific uses, as one might find in many scientific applications. The program allows the user to specify the desired transform classes with their arguments and the order that the program will use in a file so the user can create a sort of custom tool. The program can be used as a standalone program at the command line or as a library in other programs. 
 
