CSnakes.Runtime 1.0.16-beta.55

This is a prerelease version of CSnakes.Runtime.
There is a newer version of this package available.
See the version list below for details.
dotnet add package CSnakes.Runtime --version 1.0.16-beta.55                
NuGet\Install-Package CSnakes.Runtime -Version 1.0.16-beta.55                
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="CSnakes.Runtime" Version="1.0.16-beta.55" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add CSnakes.Runtime --version 1.0.16-beta.55                
#r "nuget: CSnakes.Runtime, 1.0.16-beta.55"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install CSnakes.Runtime as a Cake Addin
#addin nuget:?package=CSnakes.Runtime&version=1.0.16-beta.55&prerelease

// Install CSnakes.Runtime as a Cake Tool
#tool nuget:?package=CSnakes.Runtime&version=1.0.16-beta.55&prerelease                

CSnakes - a tool for embedding Python into .NET projects

[!WARNING]
This project is in prototype stage and the API is subject to change.

Documentation

NuGet Version NuGet Version

<img src="docs/res/logo.jpeg" alt="drawing" width="200"/>

CSnakes is a .NET Source Generator and Runtime that you can use to embed Python code and libraries into your .NET Solution without the need for REST, HTTP, or Microservices.

image

Features

  • .NET Standard 2.0 (.NET 6-8)
  • Supports Python 3.9-3.13
  • Supports Virtual Environments and C-Extensions
  • Supports Windows, macOS, and Linux
  • Uses Python's C-API for fast invocation of Python code directly in the .NET process
  • Uses Python type hinting to generate function signatures with .NET native types
  • Supports nested sequence and mapping types (tuple, dict, list)
  • Supports default values

Examples

Given the following Python file called example.py


def hello_world(name: str, age: int) -> str:
  return f"Hello {name}, you must be {age} years old!"

CSnakes will generate a static .NET class called Example with the function:

public class Example {
  public static string HelloWorld(string name, long age) {
    ...
  }
}

When called, HelloWorld() will invoke the Python function from example.py using Python's C-API and return native .NET types.

FAQ

See the FAQ for more information.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on CSnakes.Runtime:

Package Downloads
Glidergun

Package Description

GitHub repositories (1)

Showing the top 1 popular GitHub repositories that depend on CSnakes.Runtime:

Repository Stars
tonybaloney/CSnakes
Embed Python in .NET
Version Downloads Last updated
1.0.21 1,363 10/15/2024
1.0.21-beta.115 46 11/2/2024
1.0.21-beta.114 43 10/30/2024
1.0.21-beta.113 47 10/29/2024
1.0.21-beta.112 45 10/29/2024
1.0.21-beta.111 43 10/29/2024
1.0.21-beta.110 46 10/29/2024
1.0.21-beta.109 57 10/22/2024
1.0.21-beta.108 66 10/20/2024
1.0.21-beta.107 68 10/20/2024
1.0.21-beta.106 66 10/20/2024
1.0.21-beta.105 100 10/18/2024
1.0.21-beta.104 51 10/17/2024
1.0.21-beta.103 50 10/17/2024
1.0.21-beta.102 47 10/15/2024
1.0.20 442 10/11/2024
1.0.20-beta.101 49 10/15/2024
1.0.20-beta.100 53 10/15/2024
1.0.20-beta.99 56 10/14/2024
1.0.20-beta.98 55 10/14/2024
1.0.20-beta.97 48 10/14/2024
1.0.20-beta.96 51 10/11/2024
1.0.19-beta.95 66 10/11/2024
1.0.19-beta.94 87 10/11/2024
1.0.19-beta.93 63 10/11/2024
1.0.19-beta.92 56 10/11/2024
1.0.19-beta.91 78 10/11/2024
1.0.19-beta.90 50 10/11/2024
1.0.19-beta.89 55 10/11/2024
1.0.18 802 9/23/2024
1.0.18-beta.88 58 10/11/2024
1.0.18-beta.87 46 10/10/2024
1.0.18-beta.86 59 10/7/2024
1.0.18-beta.85 49 10/6/2024
1.0.18-beta.84 53 10/6/2024
1.0.18-beta.83 59 9/25/2024
1.0.18-beta.82 48 9/24/2024
1.0.18-beta.80 49 9/23/2024
1.0.17 1,409 8/30/2024
1.0.17-beta.79 52 9/23/2024
1.0.17-beta.78 49 9/23/2024
1.0.17-beta.77 39 9/19/2024
1.0.17-beta.73 62 9/17/2024
1.0.17-beta.72 57 9/17/2024
1.0.17-beta.71 60 9/17/2024
1.0.17-beta.70 61 9/17/2024
1.0.17-beta.69 58 9/17/2024
1.0.17-beta.68 59 9/17/2024
1.0.17-beta.67 56 9/16/2024
1.0.17-beta.66 58 9/10/2024
1.0.17-beta.65 58 9/10/2024
1.0.17-beta.64 61 9/5/2024
1.0.17-beta.63 54 9/4/2024
1.0.17-beta.62 62 9/4/2024
1.0.17-beta.61 54 8/30/2024
1.0.17-beta.60 55 8/30/2024
1.0.16 629 8/21/2024
1.0.16-beta.59 60 8/30/2024
1.0.16-beta.58 51 8/29/2024
1.0.16-beta.57 52 8/28/2024
1.0.16-beta.56 58 8/28/2024
1.0.16-beta.55 62 8/28/2024
1.0.16-beta.54 80 8/23/2024
1.0.16-beta.53 75 8/23/2024
1.0.16-beta.52 76 8/22/2024
1.0.16-beta.51 73 8/21/2024
1.0.15-beta.50 79 8/21/2024
1.0.15-beta.49 101 8/21/2024
1.0.15-beta.48 92 8/21/2024
1.0.15-beta.47 87 8/21/2024
1.0.15-beta.46 66 8/21/2024
1.0.13 385 8/15/2024
1.0.13-beta.36 75 8/17/2024
1.0.13-beta.35 71 8/16/2024
1.0.13-beta.34 74 8/16/2024
1.0.13-beta.33 79 8/16/2024
1.0.13-beta.32 75 8/15/2024
1.0.13-beta.31 70 8/15/2024
1.0.11 119 8/14/2024
1.0.11-beta.30 74 8/15/2024
1.0.11-beta.29 72 8/15/2024
1.0.11-beta.28 69 8/14/2024
1.0.11-beta.27 71 8/14/2024
1.0.11-beta.26 73 8/14/2024
1.0.10 128 8/14/2024
1.0.10-beta.25 74 8/14/2024
1.0.10-beta.24 66 8/14/2024
1.0.9 117 8/14/2024
1.0.9-beta.23 77 8/14/2024
1.0.8 123 8/13/2024
1.0.8-beta.22 72 8/13/2024
1.0.8-beta.21 74 8/13/2024
1.0.8-beta.20 77 8/13/2024
1.0.8-beta.19 73 8/13/2024
1.0.8-beta.18 73 8/13/2024
1.0.8-beta.17 89 8/13/2024
1.0.7-beta.16 69 8/6/2024
1.0.6 90 8/5/2024
1.0.4-beta.14 52 8/3/2024
1.0.4-beta.13 47 8/3/2024
1.0.4-beta.12 49 8/3/2024
1.0.4-beta.11 62 8/1/2024
1.0.4-beta.10 60 8/1/2024
1.0.3-beta.8 55 8/1/2024
1.0.3-beta.7 65 8/1/2024
1.0.2 99 7/26/2024
1.0.1 93 7/26/2024
1.0.0 104 7/25/2024