- IronPython is an implementation of the Python Programming language written for the .net framework.
- IronPython scripts can make use of the .net platform and the .net libraries.
- IronPython is built on top of the Dynamic Language Runtime (DLR) of the .net platform.
- The DLR itself is built on top of the Common Language Runtime (CLR) of the .net platform.
- IronPython for the most part is written using the C# language.
IronPython, CPython and Python.NET:
- While CPython is the reference implementation of the Python Programming Language offered by the Python Software Foundation, IronPython is the mplementation of the Python Programming Language developed for .net framework.
- Both the language implementations tend to differ in certain functionalities. Similarly, the releases of the CPython-reference implementation and the IronPython implementation differ to a larger extent the later catching up with the former.
- Also the IronPython implementation does not have the bottleneck of Global Interpreter Lock (GIL), which prevents a Python Program running under CPython to exploit the presence multiple cores in the system by using multiple threads.
- The libraries written using C for CPython like numpy are not compatible with IronPython.
- For this reason, if a Python Script is written to make use of the .net platform and also is required to use some of the CPython libraries written in C like numpy, the choice is to go for a solution like Python for .NET (pythonnet) rather than using IronPython.
- Python for .NET package does not implement Python language on top of CLR. Instead, Python for .NET integrates CPython engine with .net runtime.
- Being developed as a open source project IronPython is released under Apache License.
- Source code IronPython is available at https://github.com/IronLanguages