An open-source implementation of Python 3.x for the .NET Framework, built on the Dynamic Language Runtime.
IronPython is an open-source implementation of the Python programming language built on the .NET Framework's Dynamic Language Runtime. It allows developers to write Python code that can directly interact with .NET libraries and enables .NET applications to execute and integrate Python scripts seamlessly.
.NET developers who want to use Python for scripting, automation, or embedding within their applications, and Python developers who need to leverage .NET libraries or integrate with existing .NET codebases.
It provides deep integration between Python and .NET, allowing bidirectional interoperability, access to the extensive .NET ecosystem from Python, and the ability to embed a Python runtime in .NET applications with minimal friction.
Implementation of Python 3.x for .NET Framework that is built on top of the Dynamic Language Runtime.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enables direct use of .NET libraries like System.Windows.Forms from Python code, allowing bidirectional integration without complex wrappers, as shown in the MessageBox example.
Runs on Windows, Linux, and macOS targeting .NET Framework, .NET Standard, and .NET Core, making it versatile for mixed-environment projects.
Can be embedded within .NET applications using the Python.CreateEngine() API, facilitating easy addition of Python scripting capabilities, as demonstrated in the C# example.
Implements core Python 3 features such as Unicode strings and the reorganized standard library, targeting Python 3.4 compatibility for modern Python development.
Targets Python 3.4, which is significantly behind current CPython releases, and the README admits that support for later versions is incomplete and slowly developed.
Many popular Python packages, especially those with C extensions, may not work due to .NET integration issues, as acknowledged in the package compatibility document.
Has known differences from CPython that can cause bugs or require code adjustments, limiting its use as a drop-in replacement for standard Python.
The project acknowledges slow progress on Python 3.x support, which may delay updates, bug fixes, and adoption of new features.