Python for .NET

June 08, 2017

  • Denis Akhiyarov

Python for .NET (pythonnet) is a package that gives Python programmers nearly seamless integration with the .NET 4.0+ Common Language Runtime (CLR) on Windows and Mono runtime on Linux and OSX. Python for .NET provides a powerful application scripting tool for .NET developers. Using this package you can script .NET applications or build entire applications in Python, using .NET services and components written in any language that targets the CLR (C#, VB.NET, F#, C++/CLI). Note that this package does not implement Python as a first-class CLR language - it does not produce managed code (IL) from Python code. Rather, it is an integration of the CPython engine with the .NET or Mono runtime. This approach allows you to use CLR services and continue to use existing Python code and C-API extensions while maintaining native execution speeds for Python code. The purpose of this talk is to provide .NET and Python developers with methods to use both languages effectively for interoperability and simple integration without writing boilerplate code.

About Denis Akhiyarov

Denis Akhiyarov, Senior Consultant at Wood Group in Intelligent Operations group, is also pythonnet core developer and contributor to pythonnet since 2014. He was passionate about programming since high school, where he learned Pascal. He used this language and numerical simulations to win 3rd place in the national Theoretical Mechanics competition in 2005 as a part of university team. After trying Pascal, Matlab, VBA, Mathematica, and C++/CLI, he decided to settle on C# and Python for solving practical problems at work. Denis has experience in numerical methods, optimization problems, data analytics, and real-time models for providing value to large-scale systems.