GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - fkarb/pythonnet_old: fork of http://sourceforge.net/projects/pythonnet/

BranchesTags
Open more actions menu

Latest commit

 

History

148 Commits
148 Commits

Folders and files

NameName
Last commit message
Last commit date
htdocs
htdocs
 
 
pythonnet
pythonnet
 
 
README.md
README.md
 
 

Repository files navigation

DON'T USE THIS FORK!

This fork was originated from the subversion repository, ported to Python3 and had a load of new features added.

Since that work started the main pythonnet repository has been moved from subversion to github independently of this fork.

A new repository has been created (https://github.com/renshawbay/pythonnet) which contains all of the new features and Python 3 work from this fork, but rebased on the pythonnet/pythonnet repository.

It is recommended that you switch to the python3 branch of that repository as that will be the one that's maintained and developed.

pythonnet

NOTE The official repo is now https://github.com/pythonnet/pythonnet. Changes from this fork of the original sourceforge project will be integrated back into that main repo in due course.

Features not yet integrated into the main repo:

  • Python 3 support
  • Subclassing managed types in Python

This fork of http://sourceforge.net/projects/pythonnet/ allows easy calling of python functions from C#.

  • 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, eg mod.func(args).
  • Use mod.func(args, Py.kw("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.pi2 works, 2np.pi doesn't

EG:

static void Main(string[] args)
{
  using (Py.GIL()) {
    dynamic np = Py.Import("numpy");
    dynamic sin = np.sin;
    Console.WriteLine(np.cos(np.pi*2));
    Console.WriteLine(sin(5));
    double c = np.cos(5) + sin(5);
    Console.WriteLine(c);
    dynamic a = np.array(new List<float> { 1, 2, 3 });
    dynamic b = np.array(new List<float> { 6, 5, 4 }, Py.kw("dtype", np.int32));
    Console.WriteLine(a.dtype);
    Console.WriteLine(b.dtype);
    Console.WriteLine(a * b);
    Console.ReadKey();
  }
}

outputs:

1.0  
-0.958924274663
-0.6752620892
float64
int32
[  6.  10.  12.]

About

fork of http://sourceforge.net/projects/pythonnet/

Resources

Readme
Activity
Custom properties

Stars

23 stars

Watchers

6 watching

Forks

5 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.