CSnakes.Runtime
1.2.1
See the version list below for details.
dotnet add package CSnakes.Runtime --version 1.2.1
NuGet\Install-Package CSnakes.Runtime -Version 1.2.1
<PackageReference Include="CSnakes.Runtime" Version="1.2.1" />
<PackageVersion Include="CSnakes.Runtime" Version="1.2.1" />
<PackageReference Include="CSnakes.Runtime" />
paket add CSnakes.Runtime --version 1.2.1
#r "nuget: CSnakes.Runtime, 1.2.1"
#:package CSnakes.Runtime@1.2.1
#addin nuget:?package=CSnakes.Runtime&version=1.2.1
#tool nuget:?package=CSnakes.Runtime&version=1.2.1
CSnakes - a tool for embedding Python code into .NET projects
<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 C#.NET Solution at a performant, low-level without the need for REST, HTTP, or Microservices.
Check out the getting started guide or check out the demo solution to see more.
Features
- ๐ค Supports .NET 8 and 9
- ๐ Supports Python 3.9-3.13
- ๐ฆ Supports Virtual Environments and C-Extensions
- ๐ป Supports Windows, macOS, and Linux
- ๐งฎ Tight integration between NumPy ndarrays and Spans, 2D Spans and TensorSpans (.NET 9)
- โก 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 CPython 3.13 "free-threading" mode
- ๐งฉ Supports nested sequence and mapping types (
tuple
,dict
,list
) - ๐ท๏ธ Supports default values
- ๐ฅ Supports Hot Reload of Python code in Visual Studio and supported IDEs
- ๐ Supports UV for fast installation of Python packages and dependencies
Benefits
- Uses native Python type hinting standards to produce clean, readable C# code with minimal boiler plate!
- Integration between .NET and Python is done at the C-API, meaning strong compatibility between Python versions 3.8-3.13 and .NET 8-9.
- Integration is low-level and high-performance.
- CSnakes uses the CPython C-API and is compatible with all Python extensions.
- Invocation of Python code and libraries is in the same process as .NET
<br />
Click to watch the CSnakes demo video on YouTube
<br />
Example
CSnakes will generate a C#.NET class for any Python file in a project that is tagged as CSharp Analyzer Additional File (see Getting Started). All functions in that class with type annotations will be reflected to callable C# methods and an environment builder added to that module.
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 | Versions 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. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- CommunityToolkit.HighPerformance (>= 8.4.0)
- Microsoft.Extensions.Hosting (>= 9.0.7)
- ZstdSharp.Port (>= 0.8.6)
-
net9.0
- CommunityToolkit.HighPerformance (>= 8.4.0)
- Microsoft.Extensions.Hosting (>= 9.0.7)
- System.Numerics.Tensors (>= 9.0.7)
- ZstdSharp.Port (>= 0.8.6)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on CSnakes.Runtime:
Package | Downloads |
---|---|
Glidergun
Package Description |
|
TransformersSharp
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated |
---|---|---|
2.0.0-beta.265 | 12 | 8/18/2025 |
2.0.0-beta.264 | 9 | 8/18/2025 |
2.0.0-beta.263 | 9 | 8/18/2025 |
2.0.0-beta.262 | 9 | 8/18/2025 |
2.0.0-beta.261 | 95 | 8/14/2025 |
2.0.0-beta.260 | 94 | 8/13/2025 |
2.0.0-beta.259 | 92 | 8/12/2025 |
2.0.0-beta.258 | 93 | 8/12/2025 |
1.2.1 | 232 | 8/8/2025 |
1.2.1-beta.257 | 91 | 8/12/2025 |
1.2.1-beta.256 | 95 | 8/12/2025 |
1.2.1-beta.255 | 80 | 8/9/2025 |
1.2.1-beta.254 | 143 | 8/8/2025 |
1.2.0 | 152 | 8/1/2025 |
1.2.0-beta.253 | 142 | 8/8/2025 |
1.2.0-beta.252 | 144 | 8/8/2025 |
1.2.0-beta.250 | 66 | 8/1/2025 |
1.1.0 | 3,354 | 6/24/2025 |
1.1.0-beta.249 | 73 | 8/1/2025 |
1.1.0-beta.246 | 434 | 7/24/2025 |
1.1.0-beta.245 | 434 | 7/24/2025 |
1.1.0-beta.244 | 482 | 7/23/2025 |
1.1.0-beta.243 | 484 | 7/22/2025 |
1.1.0-beta.242 | 469 | 7/22/2025 |
1.1.0-beta.241 | 111 | 7/15/2025 |
1.1.0-beta.240 | 106 | 7/14/2025 |
1.1.0-beta.239 | 115 | 7/9/2025 |
1.1.0-beta.238 | 112 | 7/8/2025 |
1.1.0-beta.237 | 117 | 6/25/2025 |
1.1.0-beta.236 | 116 | 6/24/2025 |
1.1.0-beta.235 | 112 | 6/24/2025 |
1.0.35 | 2,665 | 6/5/2025 |
1.0.35-beta.234 | 110 | 6/24/2025 |
1.0.35-beta.233 | 113 | 6/24/2025 |
1.0.35-beta.232 | 109 | 6/24/2025 |
1.0.35-beta.231 | 109 | 6/23/2025 |
1.0.35-beta.230 | 115 | 6/23/2025 |
1.0.35-beta.229 | 112 | 6/23/2025 |
1.0.35-beta.228 | 115 | 6/23/2025 |
1.0.35-beta.227 | 112 | 6/23/2025 |
1.0.35-beta.226 | 112 | 6/18/2025 |
1.0.35-beta.225 | 116 | 6/18/2025 |
1.0.35-beta.224 | 114 | 6/16/2025 |
1.0.35-beta.223 | 118 | 6/15/2025 |
1.0.35-beta.222 | 115 | 6/15/2025 |
1.0.35-beta.221 | 121 | 6/15/2025 |
1.0.35-beta.220 | 110 | 6/15/2025 |
1.0.35-beta.219 | 102 | 6/15/2025 |
1.0.35-beta.218 | 99 | 6/15/2025 |
1.0.35-beta.217 | 99 | 6/15/2025 |
1.0.35-beta.216 | 114 | 6/14/2025 |
1.0.35-beta.215 | 256 | 6/12/2025 |
1.0.35-beta.214 | 260 | 6/12/2025 |
1.0.35-beta.213 | 261 | 6/11/2025 |
1.0.35-beta.212 | 258 | 6/11/2025 |
1.0.35-beta.211 | 259 | 6/11/2025 |
1.0.35-beta.210 | 263 | 6/11/2025 |
1.0.35-beta.209 | 258 | 6/11/2025 |
1.0.35-beta.208 | 45 | 6/6/2025 |
1.0.35-beta.207 | 119 | 6/5/2025 |
1.0.34 | 1,904 | 5/25/2025 |
1.0.34-beta.206 | 123 | 6/5/2025 |
1.0.34-beta.205 | 114 | 6/4/2025 |
1.0.34-beta.204 | 118 | 6/4/2025 |
1.0.34-beta.203 | 119 | 6/4/2025 |
1.0.34-beta.202 | 118 | 6/4/2025 |
1.0.34-beta.201 | 119 | 6/4/2025 |
1.0.34-beta.200 | 117 | 6/3/2025 |
1.0.34-beta.199 | 117 | 6/2/2025 |
1.0.34-beta.198 | 119 | 6/2/2025 |
1.0.34-beta.197 | 117 | 6/2/2025 |
1.0.34-beta.196 | 73 | 5/25/2025 |
1.0.34-beta.195 | 77 | 5/25/2025 |
1.0.33 | 1,142 | 5/7/2025 |
1.0.33-beta.194 | 45 | 5/24/2025 |
1.0.33-beta.193 | 72 | 5/23/2025 |
1.0.33-beta.192 | 64 | 5/23/2025 |
1.0.33-beta.191 | 76 | 5/23/2025 |
1.0.33-beta.190 | 131 | 5/8/2025 |
1.0.33-beta.189 | 121 | 5/8/2025 |
1.0.33-beta.188 | 144 | 5/7/2025 |
1.0.32 | 617 | 4/29/2025 |
1.0.32-beta.187 | 141 | 5/7/2025 |
1.0.32-beta.186 | 117 | 5/6/2025 |
1.0.32-beta.185 | 121 | 5/5/2025 |
1.0.32-beta.184 | 135 | 5/5/2025 |
1.0.32-beta.183 | 125 | 4/30/2025 |
1.0.32-beta.182 | 137 | 4/30/2025 |
1.0.32-beta.181 | 118 | 4/30/2025 |
1.0.32-beta.180 | 135 | 4/29/2025 |
1.0.31 | 1,271 | 4/23/2025 |
1.0.31-beta.179 | 139 | 4/28/2025 |
1.0.31-beta.178 | 136 | 4/28/2025 |
1.0.31-beta.177 | 139 | 4/28/2025 |
1.0.31-beta.176 | 135 | 4/28/2025 |
1.0.31-beta.175 | 129 | 4/28/2025 |
1.0.31-beta.174 | 138 | 4/27/2025 |
1.0.31-beta.173 | 147 | 4/24/2025 |
1.0.31-beta.172 | 137 | 4/24/2025 |
1.0.31-beta.171 | 130 | 4/24/2025 |
1.0.31-beta.170 | 135 | 4/24/2025 |
1.0.31-beta.169 | 132 | 4/24/2025 |
1.0.31-beta.168 | 144 | 4/23/2025 |
1.0.31-beta.167 | 134 | 4/23/2025 |
1.0.31-beta.166 | 133 | 4/23/2025 |
1.0.31-beta.165 | 138 | 4/23/2025 |
1.0.30 | 2,994 | 3/26/2025 |
1.0.30-beta.164 | 137 | 4/23/2025 |
1.0.30-beta.163 | 132 | 4/22/2025 |
1.0.30-beta.162 | 135 | 4/22/2025 |
1.0.30-beta.161 | 130 | 4/18/2025 |
1.0.30-beta.160 | 166 | 4/17/2025 |
1.0.30-beta.159 | 145 | 4/6/2025 |
1.0.30-beta.158 | 137 | 4/6/2025 |
1.0.30-beta.157 | 145 | 4/4/2025 |
1.0.30-beta.156 | 133 | 4/3/2025 |
1.0.30-beta.155 | 131 | 4/3/2025 |
1.0.30-beta.154 | 137 | 4/3/2025 |
1.0.30-beta.153 | 138 | 4/3/2025 |
1.0.30-beta.152 | 144 | 3/30/2025 |
1.0.30-beta.151 | 446 | 3/26/2025 |
1.0.29 | 566 | 3/14/2025 |
1.0.29-beta.150 | 449 | 3/26/2025 |
1.0.29-beta.149 | 120 | 3/21/2025 |
1.0.29-beta.148 | 128 | 3/20/2025 |
1.0.29-beta.147 | 139 | 3/17/2025 |
1.0.29-beta.146 | 118 | 3/16/2025 |
1.0.29-beta.145 | 114 | 3/14/2025 |
1.0.28 | 237 | 3/12/2025 |
1.0.28-beta.144 | 114 | 3/14/2025 |
1.0.28-beta.143 | 149 | 3/12/2025 |
1.0.27 | 1,884 | 2/14/2025 |
1.0.27-beta.142 | 143 | 3/12/2025 |
1.0.27-beta.141 | 136 | 3/12/2025 |
1.0.27-beta.140 | 138 | 3/10/2025 |
1.0.27-beta.139 | 71 | 2/28/2025 |
1.0.27-beta.138 | 67 | 2/14/2025 |
1.0.26 | 3,464 | 1/27/2025 |
1.0.26-beta.137 | 72 | 2/14/2025 |
1.0.26-beta.136 | 80 | 2/10/2025 |
1.0.26-beta.135 | 92 | 1/27/2025 |
1.0.25 | 525 | 1/14/2025 |
1.0.25-beta.134 | 71 | 1/27/2025 |
1.0.25-beta.133 | 66 | 1/22/2025 |
1.0.25-beta.132 | 69 | 1/22/2025 |
1.0.25-beta.131 | 65 | 1/22/2025 |
1.0.25-beta.130 | 62 | 1/14/2025 |
1.0.25-beta.129 | 60 | 1/14/2025 |
1.0.25-beta.128 | 64 | 1/14/2025 |
1.0.24 | 150 | 1/13/2025 |
1.0.24-beta.127 | 55 | 1/13/2025 |
1.0.24-beta.126 | 60 | 1/13/2025 |
1.0.24-beta.125 | 64 | 1/13/2025 |
1.0.23 | 337 | 1/10/2025 |
1.0.23-beta.124 | 67 | 1/13/2025 |
1.0.23-beta.123 | 62 | 1/12/2025 |
1.0.23-beta.122 | 76 | 1/12/2025 |
1.0.23-beta.121 | 72 | 1/11/2025 |
1.0.23-beta.120 | 63 | 1/10/2025 |
1.0.22-beta.119 | 59 | 1/10/2025 |
1.0.21 | 3,180 | 10/15/2024 |
1.0.21-beta.118 | 58 | 1/10/2025 |
1.0.21-beta.117 | 71 | 1/8/2025 |
1.0.21-beta.116 | 57 | 1/8/2025 |
1.0.21-beta.115 | 85 | 11/2/2024 |
1.0.21-beta.114 | 79 | 10/30/2024 |
1.0.21-beta.113 | 73 | 10/29/2024 |
1.0.21-beta.112 | 73 | 10/29/2024 |
1.0.21-beta.111 | 69 | 10/29/2024 |
1.0.21-beta.110 | 70 | 10/29/2024 |
1.0.21-beta.109 | 89 | 10/22/2024 |
1.0.21-beta.108 | 95 | 10/20/2024 |
1.0.21-beta.107 | 98 | 10/20/2024 |
1.0.21-beta.106 | 91 | 10/20/2024 |
1.0.21-beta.105 | 119 | 10/18/2024 |
1.0.21-beta.104 | 67 | 10/17/2024 |
1.0.21-beta.103 | 70 | 10/17/2024 |
1.0.21-beta.102 | 65 | 10/15/2024 |
1.0.20 | 476 | 10/11/2024 |
1.0.20-beta.101 | 73 | 10/15/2024 |
1.0.20-beta.100 | 69 | 10/15/2024 |
1.0.20-beta.99 | 79 | 10/14/2024 |
1.0.20-beta.98 | 73 | 10/14/2024 |
1.0.20-beta.97 | 76 | 10/14/2024 |
1.0.20-beta.96 | 72 | 10/11/2024 |
1.0.19-beta.95 | 88 | 10/11/2024 |
1.0.19-beta.94 | 107 | 10/11/2024 |
1.0.19-beta.93 | 86 | 10/11/2024 |
1.0.19-beta.92 | 75 | 10/11/2024 |
1.0.19-beta.91 | 100 | 10/11/2024 |
1.0.19-beta.90 | 69 | 10/11/2024 |
1.0.19-beta.89 | 77 | 10/11/2024 |
1.0.18 | 826 | 9/23/2024 |
1.0.18-beta.88 | 75 | 10/11/2024 |
1.0.18-beta.87 | 67 | 10/10/2024 |
1.0.18-beta.86 | 83 | 10/7/2024 |
1.0.18-beta.85 | 71 | 10/6/2024 |
1.0.18-beta.84 | 72 | 10/6/2024 |
1.0.18-beta.83 | 87 | 9/25/2024 |
1.0.18-beta.82 | 70 | 9/24/2024 |
1.0.18-beta.80 | 75 | 9/23/2024 |
1.0.17 | 2,296 | 8/30/2024 |
1.0.17-beta.79 | 90 | 9/23/2024 |
1.0.17-beta.78 | 71 | 9/23/2024 |
1.0.17-beta.77 | 60 | 9/19/2024 |
1.0.17-beta.73 | 87 | 9/17/2024 |
1.0.17-beta.72 | 86 | 9/17/2024 |
1.0.17-beta.71 | 97 | 9/17/2024 |
1.0.17-beta.70 | 86 | 9/17/2024 |
1.0.17-beta.69 | 88 | 9/17/2024 |
1.0.17-beta.68 | 93 | 9/17/2024 |
1.0.17-beta.67 | 86 | 9/16/2024 |
1.0.17-beta.66 | 91 | 9/10/2024 |
1.0.17-beta.65 | 81 | 9/10/2024 |
1.0.17-beta.64 | 91 | 9/5/2024 |
1.0.17-beta.63 | 80 | 9/4/2024 |
1.0.17-beta.62 | 90 | 9/4/2024 |
1.0.17-beta.61 | 79 | 8/30/2024 |
1.0.17-beta.60 | 90 | 8/30/2024 |
1.0.16 | 655 | 8/21/2024 |
1.0.16-beta.59 | 101 | 8/30/2024 |
1.0.16-beta.58 | 88 | 8/29/2024 |
1.0.16-beta.57 | 82 | 8/28/2024 |
1.0.16-beta.56 | 84 | 8/28/2024 |
1.0.16-beta.55 | 87 | 8/28/2024 |
1.0.16-beta.54 | 112 | 8/23/2024 |
1.0.16-beta.53 | 106 | 8/23/2024 |
1.0.16-beta.52 | 121 | 8/22/2024 |
1.0.16-beta.51 | 96 | 8/21/2024 |
1.0.15-beta.50 | 102 | 8/21/2024 |
1.0.15-beta.49 | 128 | 8/21/2024 |
1.0.15-beta.48 | 117 | 8/21/2024 |
1.0.15-beta.47 | 115 | 8/21/2024 |
1.0.15-beta.46 | 89 | 8/21/2024 |
1.0.13 | 418 | 8/15/2024 |
1.0.13-beta.36 | 100 | 8/17/2024 |
1.0.13-beta.35 | 95 | 8/16/2024 |
1.0.13-beta.34 | 108 | 8/16/2024 |
1.0.13-beta.33 | 102 | 8/16/2024 |
1.0.13-beta.32 | 108 | 8/15/2024 |
1.0.13-beta.31 | 101 | 8/15/2024 |
1.0.11 | 149 | 8/14/2024 |
1.0.11-beta.30 | 107 | 8/15/2024 |
1.0.11-beta.29 | 101 | 8/15/2024 |
1.0.11-beta.28 | 95 | 8/14/2024 |
1.0.11-beta.27 | 101 | 8/14/2024 |
1.0.11-beta.26 | 102 | 8/14/2024 |
1.0.10 | 166 | 8/14/2024 |
1.0.10-beta.25 | 111 | 8/14/2024 |
1.0.10-beta.24 | 90 | 8/14/2024 |
1.0.9 | 143 | 8/14/2024 |
1.0.9-beta.23 | 106 | 8/14/2024 |
1.0.8 | 157 | 8/13/2024 |
1.0.8-beta.22 | 102 | 8/13/2024 |
1.0.8-beta.21 | 97 | 8/13/2024 |
1.0.8-beta.20 | 106 | 8/13/2024 |
1.0.8-beta.19 | 101 | 8/13/2024 |
1.0.8-beta.18 | 108 | 8/13/2024 |
1.0.8-beta.17 | 111 | 8/13/2024 |
1.0.7-beta.16 | 101 | 8/6/2024 |
1.0.6 | 128 | 8/5/2024 |
1.0.4-beta.14 | 76 | 8/3/2024 |
1.0.4-beta.13 | 71 | 8/3/2024 |
1.0.4-beta.12 | 82 | 8/3/2024 |
1.0.4-beta.11 | 94 | 8/1/2024 |
1.0.4-beta.10 | 84 | 8/1/2024 |
1.0.3-beta.8 | 78 | 8/1/2024 |
1.0.3-beta.7 | 95 | 8/1/2024 |
1.0.2 | 128 | 7/26/2024 |
1.0.1 | 125 | 7/26/2024 |
1.0.0 | 219 | 7/25/2024 |