Skip to content

MohamedEihab/icsharp

 
 

Repository files navigation

Build Status

Interactive C# Notebook

ICSharp is an C# language kernel for Jupyter. It allows users to use Jupyter's Notebook frontend, except where Jupyter executes python code, ICSharp can execute C# code. It is based on Roslyn REPL engine of scriptcs., so all the goodies of scriptcs comes along with it.

This is on top of all of Jupyter's other frontend features like Markdown rendering, HTML rendering, saving notebooks for later use and even the ability to view ICSharp Notebooks in Jupyter's NBViewer.

Disclaimer

The development of this language kernel for C# is at it's very early stages. This is Alpha. Take with a large pinch of salt :)

Installation

BUILD ISSUE FIX AND INSTALLATION (Windows confirmed working for now)

Clone the respository and make sure that the submodule engine has been cloned by using this command:

git clone --recurse-submodules -j8 git://github.com/MohamedEihab/icsharp

Update and restore the nuget dependencies using the following commands

nuget\Nuget.exe update -self
.nuget\Nuget.exe restore
cd Engine
.nuget\Nuget.exe update -self
.nuget\Nuget.exe restore

Open the project on Visual Studio and attempt to build, follow the remaining instructions below after successful build to launch Jupyter Notebooks with the newly installed C# Kernel.

Feedback

I am eager to receive feedback from anyone who has attempted to use ICSharp. I would love to hear some thoughts on how to improve ICSharp.

Known Issues

  • Console.WriteLine does not print output in the notebook
  • Console.ReadLine does not work currently

TODO

Code to write

  • Intellisense Support
  • YellowBook addition

Current

  • Syntax Highlighting - Mohamed
  • Jupyter Notebook Fix - Mostafa

Done

About

C# kernel for Jupyter

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 47.3%
  • JavaScript 40.6%
  • CSS 11.5%
  • Other 0.6%