Configurando e obtendo variáveis no script IronPython hospedado em .Net

Estou tentando criar um protótipo de um mecanismo de regras de validação usando o IronPython hospedado em um aplicativo de console .Net. Eu reduzi o script até o que acredito ser o básico

var engine = Python.CreateEngine();
engine.Execute("from System import *");
engine.Runtime.Globals.SetVariable("property_value", "TB Test");
engine.Runtime.Globals.SetVariable("result", true);

var sourceScope = engine.CreateScriptSourceFromString("result = property_value != None and len(property_value) >= 3");
sourceScope.Execute();

bool result = engine.Runtime.Globals.GetVariable("result");

engine.Runtime.Shutdown();

No entanto, ele não pode detectar as variáveis globais que eu acho que configurei. Falha quando o script é executado com

global name 'property_value' is not defined

mas posso verificar as variáveis globais no escopo e elas estão lá - essa declaração retorna verdadeira quando eu corro no depurador

sourceScope.Engine.Runtime.Globals.ContainsVariable("property_value")

Eu sou um novato completo no IronPython, então peço desculpas se esta for uma pergunta fácil / óbvia.

A motivação geral para isso é criaresse tipo de mecanismo de regras mas com uma versão posterior (mais recente) do IronPython, em que alguns dos métodos e assinaturas foram alterados.

questionAnswers(2)

yourAnswerToTheQuestion