[IronPython] Publishing a Module when Embedding

Michael Foord fuzzyman at voidspace.org.uk
Tue Jul 8 22:42:53 CEST 2008

Hello all,

I've been looking at writing some examples of publishing a module in an 
embedded scenario.

The straightforward example (which also appears in the DLR hosting spec) 
is to just publish an *object*:

          ScriptRuntime _runtime = ScriptRuntime.Create();
            _runtime.Globals.SetVariable("ModuleName", someObject);

What I *really* want to do is to create a PythonModule from a dictionary 
of objects and publish that into the runtime globals.

Creating a populated PythonModule seems to be problematic. The useful 
overload of PythonCOntext.CreateModule (that takes 4 arguments) isn't 
public (internal) - I can't see how to populate the module once I've 
created one.

There is also an internal constructor to PythonModule that takes a 
Scope. These seem to be the routes taken by the importer.

You can't publish a dictionary (well - except as a dictionary).

How can I create and populate a PythonModule from C#?

Michael Foord


More information about the Ironpython-users mailing list