Loic.pythonnet.pythonnet
1.0.0
dotnet add package Loic.pythonnet.pythonnet --version 1.0.0
NuGet\Install-Package Loic.pythonnet.pythonnet -Version 1.0.0
<PackageReference Include="Loic.pythonnet.pythonnet" Version="1.0.0" />
<PackageVersion Include="Loic.pythonnet.pythonnet" Version="1.0.0" />
<PackageReference Include="Loic.pythonnet.pythonnet" />
paket add Loic.pythonnet.pythonnet --version 1.0.0
#r "nuget: Loic.pythonnet.pythonnet, 1.0.0"
#:package Loic.pythonnet.pythonnet@1.0.0
#addin nuget:?package=Loic.pythonnet.pythonnet&version=1.0.0
#tool nuget:?package=Loic.pythonnet.pythonnet&version=1.0.0
pythonnet - Python.NET
|Join the chat at https://gitter.im/pythonnet/pythonnet| |stackexchange shield|
|gh shield| |appveyor shield|
|license shield|
|pypi package version| |conda-forge version| |python supported shield|
|nuget preview shield| |nuget release shield|
Python.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. It allows Python code to interact with the CLR, and may also be used to embed Python into a .NET application.
.. note::
The master branch of this repository tracks the ongoing development of version 3.0.
Backports of patches to 2.5 are tracked in the
backports-2.5 branch <https://github.com/pythonnet/pythonnet/tree/backports-2.5>
_.
Calling .NET code from Python
Python.NET allows CLR namespaces to be treated essentially as Python packages.
.. code-block:: python
import clr from System import String from System.Collections import *
To load an assembly, use the AddReference
function in the clr
module:
.. code-block:: python
import clr clr.AddReference("System.Windows.Forms") from System.Windows.Forms import Form
Embedding Python in .NET
- You must set
Runtime.PythonDLL
property orPYTHONNET_PYDLL
environment variable starting with version 3.0, otherwise you will receiveTypeInitializationException
. Typical values arepython38.dll
(Windows),libpython3.8.dylib
(Mac),libpython3.8.so
(most other *nix). - 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)
. - Use
mod.func(args, Py.kw("keywordargname", keywordargvalue))
ormod.func(args, keywordargname: keywordargvalue)
to apply keyword arguments. - All python objects should be declared as
dynamic
type. - 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
.. code-block:: csharp
static void Main(string[] args)
{
using (Py.GIL())
{
dynamic np = Py.Import("numpy");
Console.WriteLine(np.cos(np.pi * 2));
dynamic sin = np.sin;
Console.WriteLine(sin(5));
double c = 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:
.. code:: csharp
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 <https://dotnetfoundation.org>`_.
.. |Join the chat at https://gitter.im/pythonnet/pythonnet| image:: https://badges.gitter.im/pythonnet/pythonnet.svg
:target: https://gitter.im/pythonnet/pythonnet?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
.. |appveyor shield| image:: https://img.shields.io/appveyor/ci/pythonnet/pythonnet/master.svg?label=AppVeyor
:target: https://ci.appveyor.com/project/pythonnet/pythonnet/branch/master
.. |travis shield| image:: https://img.shields.io/travis/pythonnet/pythonnet/master.svg?label=Travis
:target: https://travis-ci.org/pythonnet/pythonnet
.. |codecov shield| image:: https://img.shields.io/codecov/c/github/pythonnet/pythonnet/master.svg?label=Codecov
:target: https://codecov.io/github/pythonnet/pythonnet
.. |license shield| image:: https://img.shields.io/badge/license-MIT-blue.svg?maxAge=3600
:target: ./LICENSE
.. |pypi package version| image:: https://img.shields.io/pypi/v/pythonnet.svg
:target: https://pypi.python.org/pypi/pythonnet
.. |python supported shield| image:: https://img.shields.io/pypi/pyversions/pythonnet.svg
:target: https://pypi.python.org/pypi/pythonnet
.. |stackexchange shield| image:: https://img.shields.io/badge/StackOverflow-python.net-blue.svg
:target: http://stackoverflow.com/questions/tagged/python.net
.. |conda-forge version| image:: https://img.shields.io/conda/vn/conda-forge/pythonnet.svg
:target: https://anaconda.org/conda-forge/pythonnet
.. |nuget preview shield| image:: https://img.shields.io/nuget/vpre/pythonnet
:target: https://www.nuget.org/packages/pythonnet/
.. |nuget release shield| image:: https://img.shields.io/nuget/v/pythonnet
:target: https://www.nuget.org/packages/pythonnet/
.. |gh shield| image:: https://github.com/pythonnet/pythonnet/workflows/GitHub%20Actions/badge.svg
:target: https://github.com/pythonnet/pythonnet/actions?query=branch%3Amaster
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 is compatible. 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. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net5.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated |
---|---|---|
1.0.0 | 0 | 7/31/2021 |