pythonnet 3.0.1
See the version list below for details.
dotnet add package pythonnet --version 3.0.1
NuGet\Install-Package pythonnet -Version 3.0.1
<PackageReference Include="pythonnet" Version="3.0.1" />
paket add pythonnet --version 3.0.1
#r "nuget: pythonnet, 3.0.1"
// Install pythonnet as a Cake Addin
#addin nuget:?package=pythonnet&version=3.0.1
// Install pythonnet as a Cake Tool
#tool nuget:?package=pythonnet&version=3.0.1
pythonnet
is a package that gives .NET programmers ability to
integrate Python engine and use Python libraries.
Embedding Python in .NET
- You must set
Runtime.PythonDLL
property orPYTHONNET_PYDLL
environment variable, otherwise you will receiveBadPythonDllException
(internal, derived fromMissingMethodException
) upon callingInitialize
. Typical values arepython38.dll
(Windows),libpython3.8.dylib
(Mac),libpython3.8.so
(most other *nix). Full path may be required. - Then call
PythonEngine.Initialize()
. If you plan to use Python objects from multiple threads, also callPythonEngine.BeginAllowThreads()
. - All calls to Python should be inside a
using (Py.GIL()) {/* Your code here */}
block. - Import python modules using
dynamic mod = Py.Import("mod")
, then you can call functions as normal, egmod.func(args)
. You can also access Python objects viaPyObject
and dervied types instead of usingdynamic
. - Use
mod.func(args, Py.kw("keywordargname", keywordargvalue))
ormod.func(args, keywordargname: keywordargvalue)
to apply keyword arguments. - Mathematical operations involving python and literal/managed types
must have the python object first, eg.
np.pi * 2
works,2 * np.pi
doesn't.
Example
using var _ = Py.GIL();
dynamic np = Py.Import("numpy");
Console.WriteLine(np.cos(np.pi * 2));
dynamic sin = np.sin;
Console.WriteLine(sin(5));
double c = (double)(np.cos(5) + sin(5));
Console.WriteLine(c);
dynamic a = np.array(new List<float> { 1, 2, 3 });
Console.WriteLine(a.dtype);
dynamic b = np.array(new List<float> { 6, 5, 4 }, dtype: np.int32);
Console.WriteLine(b.dtype);
Console.WriteLine(a * b);
Console.ReadKey();
Output:
1.0
-0.958924274663
-0.6752620892
float64
int32
[ 6. 10. 12.]
Resources
Information on installation, FAQ, troubleshooting, debugging, and projects using pythonnet can be found in the Wiki:
https://github.com/pythonnet/pythonnet/wiki
Mailing list https://mail.python.org/mailman/listinfo/pythondotnet Chat https://gitter.im/pythonnet/pythonnet
.NET Foundation
This project is supported by the .NET Foundation.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Microsoft.CSharp (>= 4.7.0)
- System.Reflection.Emit (>= 4.3.0)
NuGet packages (24)
Showing the top 5 NuGet packages that depend on pythonnet:
Package | Downloads |
---|---|
Python.Included
Python.Included is an automatic deployment mechanism for .NET packages which depend on the embedded Python distribution. This allows libraries depending on Python and/or Python packages to be deployed via Nuget without having to worry about any local Python installations. |
|
Numpy.Bare
C# bindings for NumPy on Win64 - a fundamental library for scientific computing, machine learning and AI. Does require Python 3.7 with NumPy 1.16 installed! |
|
Gradient.Runtime
Core runtime components for Gradient |
|
LostTech.NumPy
.NET bindings for NumPy. Requires the actual Python with NumPy installed. |
|
Alternet.Studio.Scripter.Python
AlterNET Scripter is a component library designed to integrate C#, Visual Basic, TypeScript, JavaScript, Python, and IronPython scripts into your WinForms and WPF .NET desktop applications. It allows extending the application logic by implementing custom functionality or automating custom tasks without recompiling and redeploying the application. This package includes a ScriptRun component, which provides a framework for the execution of Python scripts. It supports compiling scripts and projects into a dynamically linked library or a standalone executable, referencing application-defined objects and types in the script, and executing script code. This multi-target package can be used with .NET applications targeting .NET Framework starting from 4.5.2 or .NET Core starting from 3.1. More information about Scripter can be found here: https://www.alternetsoft.com/products/scripter Documentation and sample projects can be downloaded here: https://www.alternetsoft.com/download NOTE: This is a commercial software product and requires purchasing a license for legal usage. Please refer to our licensing FAQ here: https://www.alternetsoft.com/faq#license |
GitHub repositories (3)
Showing the top 3 popular GitHub repositories that depend on pythonnet:
Repository | Stars |
---|---|
henon/Python.Included
A Python.NET based framework enabling .NET libraries to call into Python packages without depending on a local Python installation.
|
|
NickvisionApps/TubeConverter
Get video and audio from the web
|
|
dmitry-merzlyakov/nledger
.Net Ledger: Double-Entry Accounting System
|
Version | Downloads | Last updated |
---|---|---|
3.1.0-preview2023-04-03 | 873 | 4/3/2023 |
3.0.1 | 77,778 | 11/2/2022 |
3.0.0 | 7,141 | 9/29/2022 |
2.3.0-py35-dotnet | 3,445 | 3/16/2017 |
2.3.0-py27-dotnet | 1,791 | 3/16/2017 |