- Notifications
You must be signed in to change notification settings - Fork7
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.
License
amos402/pythonnet
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Python for .NET is a package that gives Python programmers nearlyseamless integration with the .NET Common Language Runtime (CLR) andprovides a powerful application scripting tool for .NET developers. Itallows Python code to interact with the CLR, and may also be used toembed Python into a .NET application.
Python for .NET allows CLR namespaces to be treated essentially asPython packages.
import clrfrom System import Stringfrom System.Collections import *
To load an assembly, use theAddReference
function in theclr
module:
import clrclr.AddReference("System.Windows.Forms")from System.Windows.Forms import Form
- All calls to python should be inside a
using (Py.GIL()) {/* Your code here */}
block. - Import python modules using
dynamic mod = Py.Import("mod")
, thenyou can call functions as normal, egmod.func(args)
. - Use
mod.func(args, Py.kw("keywordargname", keywordargvalue))
ormod.func(args, keywordargname: keywordargvalue)
to apply keywordarguments. - All python objects should be declared as
dynamic
type. - Mathematical operations involving python and literal/managed typesmust have the python object first, eg.
np.pi * 2
works,2 * np.pi
doesn't.
staticvoidMain(string[]args){using(Py.GIL()){dynamicnp=Py.Import("numpy");Console.WriteLine(np.cos(np.pi*2));dynamicsin=np.sin;Console.WriteLine(sin(5));doublec=np.cos(5)+sin(5);Console.WriteLine(c);dynamica=np.array(newList<float>{1,2,3});Console.WriteLine(a.dtype);dynamicb=np.array(newList<float>{6,5,4},dtype:np.int32);Console.WriteLine(b.dtype);Console.WriteLine(a*b);Console.ReadKey();}}
Output:
1.0-0.958924274663-0.6752620892float64int32[ 6. 10. 12.]
Information on installation, FAQ, troubleshooting, debugging, andprojects using pythonnet can be found in the Wiki:
About
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.
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Languages
- C#79.7%
- Python19.4%
- Other0.9%