Pythonnet przenosi Python do Microsoft .Net

Pakiet Pythonnet zapewnia programistom języka Python współdziałanie między Microsoft .Net Common Language Runtime a implementacją języka CPython.

Pakiet ten, znany również jako Python for .Net, umożliwia programistom pisanie skryptów aplikacji .Net lub tworzenie całych aplikacji w języku Python, przy użyciu usług i komponentów .Net zbudowanych w dowolnym języku, które są przeznaczone dla środowiska CLR. Zapewnia również narzędzie do tworzenia skryptów aplikacji i umożliwia osadzenie kodu Pythona w aplikacji .Net. Ale są ograniczenia.

„Zauważ, że ten pakiet nie implementuje Pythona jako pierwszorzędnego języka CLR - nie tworzy zarządzanego kodu (IL) z kodu Pythona” - zauważa opis GitHub. „Jest to raczej integracja silnika CPython ze środowiskiem wykonawczym .Net lub Mono”.

W ten sposób programiści mogą korzystać z usług CLR i istniejącego kodu w języku Python oraz rozszerzeń opartych na języku C, zachowując przy tym natywne prędkości wykonywania kodu w języku Python. Zespół Pythonnet pracuje nad obsługą CLR i chce, aby Pythonnet działał tak, jak można by tego oczekiwać w Pythonie, z wyjątkiem przypadków, które są specyficzne dla .Net, w takim przypadku celem jest działanie zgodnie z oczekiwaniami programistów w C #.

W systemie Windows Pythonnet obsługuje wersję 4.0 środowiska .Net CLR i współpracuje z Mono, open source, wieloplatformowym frameworkiem .Net, Linuksem i MacOS. Aby uzyskać czystą implementację kodu zarządzanego Pythona, twórcy Pythonnet zalecają IronPython, otwartą wersję języka Python zintegrowaną z .Net Framework.

Pythonnet to kolejny przykład rosnącej popularności Pythona, który zyskał na popularności dzięki wykorzystaniu w aplikacjach sztucznej inteligencji i został doceniony za łatwość użycia. Google, ze swoim ostatnim projektem Grumpy, zaczął łączyć Pythona z własnym językiem Go giganta wyszukiwania.