ClrKernel.Primitives
0.3.0
See the version list below for details.
dotnet add package ClrKernel.Primitives --version 0.3.0
NuGet\Install-Package ClrKernel.Primitives -Version 0.3.0
<PackageReference Include="ClrKernel.Primitives" Version="0.3.0" />
<PackageVersion Include="ClrKernel.Primitives" Version="0.3.0" />
<PackageReference Include="ClrKernel.Primitives" />
paket add ClrKernel.Primitives --version 0.3.0
#r "nuget: ClrKernel.Primitives, 0.3.0"
#:package ClrKernel.Primitives@0.3.0
#addin nuget:?package=ClrKernel.Primitives&version=0.3.0
#tool nuget:?package=ClrKernel.Primitives&version=0.3.0
ClrKernel
A Jupyter kernel for .NET. C# cells are evaluated with Roslyn's scripting engine
(Microsoft.CodeAnalysis.CSharp.Scripting),
with more CLR languages (PowerShell, F#) on the roadmap. Notebooks run
interactively in JupyterLab / VS Code (Jupyter extension) and headlessly via
nbconvert or papermill — including from schedulers like SQL Server Agent.
ClrKernel is a maintained fork of
SciSharp/ICSharpCore, created after
Microsoft deprecated .NET Interactive / Polyglot Notebooks (April 2026).
Relative to upstream it adds: correct headless execution under
nbclient/papermill, full output capture for async/await cells, control
channel + heartbeat + graceful shutdown_request handling, patched vulnerable
dependencies, and the kernelspec shipped inside the NuGet package.
Install
dotnet tool install --global ClrKernel
jupyter kernelspec install "$(clrkernel --kernel-spec-path)" --user --name clrkernel
jupyter kernelspec list # should show: clrkernel
Requires a .NET 8+ runtime (RollForward=Major: newer majors work) and Jupyter.
Use
Pick the ClrKernel (C#) kernel in JupyterLab or VS Code. Cells support
#r "nuget: Package, Version" and #r "path/to/local.dll" references, with
REPL-style state persisting across cells.
Headless / scheduled execution:
jupyter nbconvert --to notebook --execute --output out.ipynb etl.ipynb
papermill etl.ipynb runs/etl_out.ipynb -k clrkernel --language .net-csharp -p run_date 2026-08-04
A failing cell exits non-zero (job schedulers see the failure); papermill also persists the partially-executed output notebook as a diagnostic artifact.
Develop
./scripts/install-dev-kernel.sh # kernel 'clrkernel-dev' running from bin/ output
# iterate: dotnet build + restart kernel
./scripts/install-local-tool.sh # pack + install the global tool from a local
# feed; tests the full packaged experience
clrkernel --kernel-spec-details # show which kernelspec the binary resolves
License
Apache 2.0, preserving the upstream license. Original work © SciSharp (Kerry Jiang, Haiping Chen, and contributors); fork maintained by ClrKernel.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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 was computed. 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. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Newtonsoft.Json (>= 13.0.4)
NuGet packages (11)
Showing the top 5 NuGet packages that depend on ClrKernel.Primitives:
| Package | Downloads |
|---|---|
|
ClrKernel.Server
JSON-RPC-over-stdio notebook host for ClrKernel: executes C# cells via ClrKernel.Core for editor integrations (VS Code notebooks) — no Python or Jupyter required. Hosted by the ClrKernel CLI (`clrkernel serve`) and embeddable by other clients. |
|
|
ClrKernel.Core
Execution core for ClrKernel: Roslyn C# scripting engine with #r nuget resolution, #!import/#!lib document loading (.dib, .ipynb, .csx), and display primitives — independent of any notebook transport (Jupyter, VS Code, CLI runners). |
|
|
ClrKernel.Jupyter
Jupyter kernel implementation for ClrKernel: the ZeroMQ wire protocol, message handlers, and kernel event loop that host ClrKernel.Core over the Jupyter messaging protocol. Used by the ClrKernel CLI tool and embeddable by other hosts. |
|
|
ClrKernel.Runner
Headless runner for ClrKernel notebooks: parses and executes .nb.md (executable markdown), .dib, .ipynb, and .csx files with papermill-style parameterization (-p/-r/-f/-y) and executed .ipynb output (-o). Built on ClrKernel.Core; no Jupyter or Python required. |
|
|
ClrKernel.Fabric
Microsoft Fabric warehouse helpers for ClrKernel: from C# notebook cells, connect to a Fabric Warehouse SQL endpoint (Microsoft Entra auth), run T-SQL, and bulk-insert query results into warehouse tables by staging Parquet to OneLake and loading with OPENROWSET. Includes a reload-batch helper (delete a segment, reload it, run a batch of tables in parallel). Built on Microsoft.Fabric.Api, Azure.Storage.Files.DataLake, Parquet.Net, and Microsoft.Data.SqlClient. |
GitHub repositories
This package is not used by any popular GitHub repositories.