Introduction to IronPython
IronPython is an implementation of the Python programming language targeting the .NET runtime. IronPython uses the Python programming language syntax and standard Python libraries and can additionally use .NET classes and objects to give the best of both worlds. This usage of .NET classes is seamless in that a class defined in a .NET assembly can be used as a base class of a python class.
Scope
This section of the help provides a basic introduction to the use of IronPython in SIwave. If you require a full tutorial on Python or IronPython, there are many online resources.
Python Compatibility
The version of IronPython in use is 2.7 and built on .NET framework version 4.0. While most Python files will execute under IronPython with no changes, Python libraries that make use of extensions written in the C programming language (NumPy or SciPy, for instance) cannot be expected to work in IronPython. In such cases, it might be possible to locate .NET implementation of such libraries or explore the use of IronClad (http://code.google.com/p/ironclad/).
Advantages of IronPython
The advantages that IronPython provides are significant:
- Python has a large ecosystem with plenty of supporting libraries, Visual IDEs and debuggers. It is actively developed and enhanced.
- IronPython has access to the entire .NET ecosystem. This allows us, for instance, to create a modern GUI using the System.Windows.Forms assembly from IronPython code and call any other .NET assembly.
- The Python syntax of dictionaries is somewhat easier to read and write when supplying arguments to the scripting methods.