Extending and Embedding the Python Interpreter