A Zcode interpreter written in Python. Plays Inform games (up to v7). Give it an Infocom game and it'll run it. I suspect that it can be included in or called from other code.