I generate tables and maps for Crusader Kings II and Europa Universalis IV using a parser and a series of disorganized scripts written in Python and hosted on GitHub. "ck2parser.py" is the parser.
If you're interested in looking at them or running them, depending on the script, you will need some or all of these:
You will also need to create a file "localpaths.py" somewhere visible to Python's import mechanism.
import pathlib rootpath = pathlib.Path('/cygdrive/c/Users/IoannesBarbarus/Documents/output') vanilladir = pathlib.Path('/cygdrive/c/Program Files (x86)/Steam/steamapps/common/Crusader Kings II') eu4dir = pathlib.Path('/cygdrive/c/Program Files (x86)/Steam/steamapps/common/Europa Universalis IV') cachedir = rootpath / 'parsecache'
"rootpath" is the output directory. "vanilladir" is the CK2 folder. "eu4dir" is the EU4 folder. "cachedir" is where the parser will put its cache. As you can see, I use Cygwin, but the code should work on any platform.
Many of the scripts on GitHub are for validating mod files and have nothing to do with the wikis. Sometimes a script depends on the output of another script, e.g., all the map-drawing scripts look for the output of the borderlayer script. But for the most part, each script recalculates whatever it needs from the game files.