
Pythonnet – A package that integrates Python (2.7-3.6) with the .NET CLR - denfromufa
https://github.com/pythonnet/pythonnet
======
diimdeep
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 the .NET or Mono runtime. This approach
allows you to use use CLR services and continue to use existing Python code
and C-based 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 IronPython project, which is in
active development.

~~~
jmnicolas
I thought IronPython had been abandoned by MS ?

~~~
pjmlp
They still care about Python.

[https://blogs.msdn.microsoft.com/visualstudio/2015/08/03/why...](https://blogs.msdn.microsoft.com/visualstudio/2015/08/03/why-
write-python-in-visual-studio/)

[https://github.com/Microsoft/PTVS/releases](https://github.com/Microsoft/PTVS/releases)

------
lucb1e
C# and Python are my two favorite languages, but what would be cool is using
.NET without C#, but using C# without .NET.

The main reason I don't write C# much of the time is because of the .NET
dependency. There has always been Mono and nowadays there even is some
Microsoft official version of .NET for Linux-based systems if I remember
correctly, but really I'd just like C# to be completely independent of an
operating system and independent of $someBigCorp.

~~~
pjmlp
Using C# without .NET is like using C without libc or POSIX.

~~~
veli_joza
There are many standard C library implementations that target various
microprocessors and platforms, that enable us to use C instead of assembler.
Bringing more high level languages like C# on these platforms would benefit
security and development speed.

~~~
rubber_duck
How does removing .NET change anything ? You still need a runtime (GC,
reflection/type information for casting, etc.)

You could probably strip down .NET core runtime if size is your concern and
have an AoT compiled binary that links to that if you're concerned about JIT.
I think there was a MS project a while back that compiled .NET IL to static
code trough LLVM
([https://github.com/dotnet/llilc](https://github.com/dotnet/llilc) \- it
seems dead now unfortunately)

But C# without .NET doesn't really make sense.

~~~
simooooo
There is still ".Net native" which is used for Windows apps and planned to be
expanded to console apps etc.

You can also run ngen to pre-jit everything

~~~
rubber_duck
There's also Mono AoT which is used by Xamarin for iOS. But it would have been
nice to have an official .NET Core project that targets LLVM, hope they revive
it at some point - the project got abandoned without any announcements from
what I can tell.

~~~
pjmlp
If you mean CoreRT, it got postponed until they finalize the .NET 2.0 Standard
for core.

[https://blogs.msdn.microsoft.com/dotnet/2016/11/08/the-
week-...](https://blogs.msdn.microsoft.com/dotnet/2016/11/08/the-week-in-net-
on-net-on-corert-amp-net-native-enums-net-ylands-markdown-monster/)

[https://blogs.msdn.microsoft.com/alphageek/2016/10/13/native...](https://blogs.msdn.microsoft.com/alphageek/2016/10/13/native-
compilation-why-jit-when-you-can-codegen/)

~~~
rubber_duck
Hmm, does that also mean LILLC (the LLVM based IL AoT) is also suspended ? I
hope it's not abandoned - with the upcoming WASM it could be a big deal for
.NET to get all the platforms LLVM supports that don't support JIT.

~~~
pjmlp
Don't know, but they still have ongoing commits.

I am not a big fan of WASM, as I rather bet on native apps.

------
denfromufa
Download from PYPI using pip or from Anaconda using conda:

[https://pypi.python.org/pypi/pythonnet/2.2.2](https://pypi.python.org/pypi/pythonnet/2.2.2)

[https://anaconda.org/pythonnet/pythonnet](https://anaconda.org/pythonnet/pythonnet)

