Python.NET (pythonnet) is a package that gives Python programmers nearly seamless integration with .NET Framework, .NET Core and Mono runtime on Windows, Linux and macOS. Python.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 a .NET runtime. This approach allows one to use CLR services and continue to use existing Python code and C-API 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
project, which is in active development.
Python.NET is currently compatible and tested with Python releases 3.7 - 3.13.
To subscribe to the
or read the
of the list, see the
page. Use the
to report issues.
This page provides a detailed overview of Python.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
code from github.
Installation
Python.NET is available as a source release on
and as a single binary wheel distribution for all supported versions of Python and from the
. A
is provided to embed Python into .NET.
Documentation
Documentation for Python.NET is available here:
Documentation for the lower-level
library is available here:
License
Python.NET is released under the open source MIT License. A copy of the license is included in the distribution, or you can find a copy of the
.
.NET Foundation
This project is supported by the
.