Program efficiency vs user experience. Python Ancestor app
Pathlib
AncestoryDir = os.getenv(&quot;APPDATA&quot;) + &quot;\Ancestry&quot;
ConfigFile = AncestoryDir + &quot;\CONFIG.ini&quot;

# Make Ancestory Directory
if not os.path.exists(AncestoryDir):
    os.makedirs(AncestoryDir)

can reduce to
ancestry_dir = Path(os.getenv('APPDATA')) / 'Ancestry'
config_file = ancestry_dir / 'CONFIG.ini'

ancestry_dir.mkdir(exist_ok=True)

Note:

pathlib grants you a cleaner, object-oriented method for path manipulation
it's spelled &quot;ancestry&quot;
with pathlib there's no need for a separate existence check
even if you kept your approach, you have an invalid escape \A that either needs to be double-escaped or exist in a raw string

pathlib applies to your other code, too. Also it's spelled &quot;Trees&quot;, not &quot;Tree's&quot;.
PEP8
Protest thou may, but this actually matters. Coding is a form of communication, and the less we successfully communicate with other coders, the less they're able to help and work with us.