IronPython, qui peut être considéré comme le rétroacronyme de Implementation Running On .NET[3] ou de It Runs On .NET[4], est une implémentation du langage Python, visant .NET et Mono, créée par Jim Hugunin. La version 1.0 est sortie le .
IronPython est écrit entièrement en C#. Il est disponible comme partie de l'initiative Shared source de Microsoft. Bien qu'à l'origine placé sous la licence Common Public License, il garde une partie de son héritage, et son code source semble « plus accessible » que d'autres objets placés sous la Shared Source initiative. Les auteurs affirment que la licence, bien que non examinée par l'Open Source Initiative, est conforme à leur définition de l'open source.
La version 2.0 est compatible CPython 2.5 et peut s'exécuter sur la machine virtuelle de Microsoft grâce à la surcouche pour langages interprétés qui permet de supporter d'autres langages que ceux supportés par défaut par le système d'exploitation Windows de Microsoft.
Le portage de Python sous .Net permet de bénéficier des avantages du langage Python (syntaxe, accès aux bibliothèques Python) et du Framework .NET qui bénéficie du travail de Microsoft fait sur les MFC.
Silverlight
IronPython est pris en charge sur Silverlight (qui est obsolète par Microsoft et a déjà perdu la prise en charge de la plupart des navigateurs Web, à l'exception d'Internet Explorer 11 qui mettra fin à sa prise en charge en octobre 2021)[5].
Il peut être utilisé comme moteur de script dans le navigateur, tout comme le moteur JavaScript[6]. Les scripts IronPython sont transmis comme de simples scripts JavaScript côté client dans les balises <script>. Il est alors également possible de modifier le balisage XAML intégré.
// DLR initialization script.
<scriptsrc="http://gestalt.ironpython.net/dlr-latest.js"type="text/javascript"></script>
// Client-side script passed to IronPython and Silverlight.
<scripttype="text/python">window.Alert("Hello from Python")</script>
La technologie sous-jacente s'appelle la Gestalt.
Outils
Plusieurs environnements supportent IronPython : Microsoft .NET et Mono.
Sous Microsoft .NET, les outils Visual Studio supportent IronPython depuis la version 5 par installation de Visual Studio 2005 SDK version 4.0. IronPython Studio [1], basé sur Visual Studio 2008 Shell Runtime, permet d'avoir un IDE gratuit.
Sous Linux, le projet Mono propose une image VMware du système d'exploitation SuSE avec l'IDEMonoDevelop qui supporte Mono 1.1.16.1 et IronPython 1.0 RC2.