Calculating pins, why ?? each card has a fixed hardware design, IE a screen mask which declares the relative position on the hardware of where a IO location is.
A simple text file like a INI for each card would have removed a massive user facing error inducing design choice.
If you are talking about cards that are fairly hardware unconfiguarable such as 7i76e or most daughter cards, then a hard coded lookup table or INI style file would work fine.
Pncconf covers cards such as the 5i20 (not so popular now) that are completely hardware configurable with custom firmware or the standard firmware by 'turning off' modules such as step components to reveal GPIO.
and probably more importantly Pncconf was built when these were the only cards so all the data paradigms and basic programming were laid out.
Also this is the program I used to learn python. (so ya the programming code is not very nice)
I want to say that - I am not against changes to make this happen, it's just I don't see how to get all the way there without some help on the hardware side and any way to get there will require significant work.
I am certainly not the best coder and would be happy to either remove pncconf for a better program or let someone else to take it over. I am mostly just doing work to keep it running and incorporating code others have offered (there have been many) and bug fixing.
Thank you for your questions and suggestions
Chris