Pythonnet porta Python su Microsoft .Net

Il pacchetto Pythonnet offre agli sviluppatori Python l'interoperabilità tra .Net Common Language Runtime di Microsoft e l'implementazione CPython del linguaggio.

Conosciuto anche come Python per .Net, il pacchetto consente agli sviluppatori di creare script per applicazioni .Net o creare intere applicazioni in Python, utilizzando servizi e componenti .Net costruiti in qualsiasi linguaggio mirato a CLR. Fornisce inoltre uno strumento di scripting dell'applicazione e consente di incorporare il codice Python in un'applicazione .Net. Ma ci sono dei limiti.

"Si noti che questo pacchetto non implementa Python come linguaggio CLR di prima classe - non produce codice gestito (IL) dal codice Python", osserva la descrizione di GitHub. "Piuttosto, è un'integrazione del motore CPython con il runtime .Net o Mono."

Gli sviluppatori possono quindi utilizzare i servizi CLR e il codice Python esistente e le estensioni basate su C pur mantenendo velocità di esecuzione native per il codice Python. Il team di Pythonnet sta lavorando sul supporto CLR e desidera che Pythonnet funzioni come ci si aspetterebbe in Python, ad eccezione dei casi specifici di .Net, nel qual caso l'intento è quello di lavorare come gli sviluppatori si aspetterebbero in C #.

Su Windows, Pythonnet supporta la versione 4.0 di .Net CLR e funziona con Mono, il framework .Net open source e multipiattaforma, Linux e MacOS. Per un'implementazione del codice gestito puro di Python, i costruttori di Pythonnet consigliano IronPython, una versione open source di Python integrata con .Net Framework.

Pythonnet è un altro esempio della crescente popolarità di Python, che ha visto un aumento con il suo utilizzo nelle applicazioni di intelligenza artificiale ed è stato lodato per la facilità d'uso. Google, con il suo recente progetto Grumpy, ha iniziato a collegare Python al linguaggio Go del gigante della ricerca.