QuantConnect.pythonnet 2.0.17

.NET 6.0
dotnet add package QuantConnect.pythonnet --version 2.0.17
NuGet\Install-Package QuantConnect.pythonnet -Version 2.0.17
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="QuantConnect.pythonnet" Version="2.0.17" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add QuantConnect.pythonnet --version 2.0.17
#r "nuget: QuantConnect.pythonnet, 2.0.17"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install QuantConnect.pythonnet as a Cake Addin
#addin nuget:?package=QuantConnect.pythonnet&version=2.0.17

// Install QuantConnect.pythonnet as a Cake Tool
#tool nuget:?package=QuantConnect.pythonnet&version=2.0.17

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 or PYTHONNET_PYDLL environment variable, otherwise you will receive BadPythonDllException (internal, derived from MissingMethodException) upon calling Initialize. Typical values are python38.dll (Windows), libpython3.8.dylib (Mac), libpython3.8.so (most other *nix). Full path may be required.
  • 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). You can also access Python objects via PyObject and dervied types instead of using dynamic.
  • Use mod.func(args, Py.kw("keywordargname", keywordargvalue)) or mod.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
.NET net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (26)

Showing the top 5 NuGet packages that depend on QuantConnect.pythonnet:

Package Downloads
QuantConnect.Common The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org.

QuantConnect LEAN Engine: Common Project - A collection of common definitions and utils

QuantConnect.Indicators The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org.

QuantConnect LEAN Engine: Indicators Project - A collection of financial indicators

QuantConnect.Algorithm The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org.

QuantConnect LEAN Engine: Algorithm Project - Core QCAlgorithm implementation

QuantConnect.Algorithm.Framework The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org.

QuantConnect LEAN Engine: Algorithm.Framework Project - The core QCAlgorithm framework implementation

QuantConnect.Algorithm.CSharp The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org.

QuantConnect LEAN Engine: Algorithm.CSharp Project - A collection of C# algorithm demonstrations for how to use the API

GitHub repositories (1)

Showing the top 1 popular GitHub repositories that depend on QuantConnect.pythonnet:

Repository Stars
QuantConnect/Lean
Lean Algorithmic Trading Engine by QuantConnect (Python, C#)
Version Downloads Last updated
2.0.17 16,253 8/24/2022
2.0.16 8,715 6/27/2022
2.0.15 9,306 5/17/2022
2.0.14 2,096 5/6/2022
2.0.13 1,560 5/2/2022
2.0.12 1,802 4/28/2022
2.0.11 29,628 12/27/2021
2.0.10 12,782 10/22/2021
2.0.9 297 10/21/2021
2.0.8 2,447 10/13/2021
2.0.7 556 10/8/2021
2.0.6 8,821 8/26/2021
2.0.5 10,440 7/14/2021
2.0.4 17,386 6/11/2021
2.0.3 799 6/8/2021
2.0.2 4,879 5/28/2021
2.0.1 12,617 3/13/2021
2.0.0 721 3/9/2021
1.0.5.30 127,134 3/31/2020
1.0.5.29 25,408 11/13/2019
1.0.5.28 493 11/12/2019
1.0.5.27 443 11/12/2019
1.0.5.26 4,723 10/15/2019
1.0.5.25 2,950 9/23/2019
1.0.5.24 3,591 9/10/2019
1.0.5.23 568 9/5/2019
1.0.5.22 477 9/5/2019
1.0.5.21 687 6/24/2019
1.0.5.20 22,147 4/23/2019
1.0.5.19 2,654 4/2/2019
1.0.5.18 697 3/27/2019
1.0.5.17 6,059 2/21/2019
1.0.5.16 555 2/20/2019
1.0.5.15 5,101 1/22/2019
1.0.5.14 689 1/18/2019
1.0.5.13 670 1/15/2019
1.0.5.12 5,923 8/27/2018
1.0.5.11 690 8/27/2018
1.0.5.10 725 8/24/2018
1.0.5.9 905 7/23/2018
1.0.5.8 21,231 7/16/2018
1.0.5.7 161,813 4/2/2018
1.0.5.6 923 4/2/2018
1.0.5.5 2,493 2/2/2018
1.0.5.4 2,199 12/29/2017
1.0.5.3 909 12/29/2017
1.0.5.2 1,295 11/29/2017
1.0.5.1 2,833 10/9/2017
1.0.5 1,012 9/29/2017
1.0.4.8 1,173 9/12/2017
1.0.4.7 796 9/8/2017
1.0.4.6 810 9/4/2017
1.0.4.5 821 8/21/2017
1.0.4.4 2,358 6/23/2017
1.0.4.3 879 6/23/2017
1.0.4.2 840 6/22/2017
1.0.4.1 829 6/22/2017
1.0.4 903 6/15/2017
1.0.3.5 1,294 6/1/2017
1.0.3.4 822 6/1/2017
1.0.3.3 817 6/1/2017
1.0.3.2 812 5/31/2017
1.0.3.1 847 5/31/2017
1.0.3 815 5/31/2017
1.0.2.1 942 5/25/2017
1.0.2 877 5/23/2017
1.0.1.1 1,428 4/11/2017
1.0.0 909 1/12/2017