Python for .NET

Python for .NET is a package that gives Python programmers nearly seamless integration with the .NET Common Language Runtime (CLR) and 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 (Managed C++, C#, VB, JScript).

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 C Python engine with the .NET runtime. This approach allows you to use use CLR services and continue to use existing Python code and C-based extensions while maintaining native execution speeds for Python code. If you are interested in a pure managed-code implementation of the Python language, you should check out the IronPython project, which is in active development.

Python for .NET is currently compatible with Python releases 2.5 and greater. To subscribe to the Python for .NET mailing list or read the online archives of the list, see the mailing list information page. You can also send questions or comments to me at or use the Python for .NET issue tracker to report issues.

My blog site is also (sometimes) a good source for more information on Python for .NET ;)

  • The README provides a detailed overview of Python for .NET, as well as some basic usage examples. Many other examples can be found in the demos and unit tests for the package.
  • Checkout the PythonNet code from Subversion..
  • Download releases for various versions of Python and CLR.