/csharp-notebook

C# kernel in Jupyter Notebook

Primary LanguageJupyter Notebook

csharp-notebook Build Status

csharp-notebook is a community maintained Jupyter Docker Stack image. It makes i possible to try C# in Jupyter Notebooks.

Launch on mybinder

Try the Jupyter Notebooks online with this link. No installation is needed.
(It can take up to 5 min to prepare the image).

Binder mybinder.org/v2/gh/tlinnet/csharp-notebook/master

Examples of Jupyter Notebooks

Additional material is more than welcome! Please add by sending a GitHub Pull Requests.

Exam Ref 70-483 Programming in C#, 2nd Edition

The sample code has been converted to more than 200 Jupyter Notebooks.

Docker Hub

Docker Pull Command for Docker image with C# kernel installed and example Notebooks.

docker pull tlinnet/csharp-notebook:notebooks

Docker Pull Command for Docker image with C# kernel installed with no Notebooks.

docker pull tlinnet/csharp-notebook

GitHub

Git Pull Command, manual Docker build and run on Windows 10.

git clone https://github.com/tlinnet/csharp-notebook.git
cd csharp-notebook
.\notebooks_build.cmd
.\notebooks_run.cmd

References

iCsharp kernel

This Dockerfile is made possible by the work of https://github.com/zabirauf/icsharp

Install guides from

Jupyter Docker Stacks - Community Stack version

This project is developed with the helpful guide of Jupyter Docker Stacks. The base container is jupyter/minimal-notebook and this Community Stack is setup via the guide.

The setup has been slightly modified from the standard cookiecutter settings.

  • cloud.docker.com

    • Builds -> Configure Automated Builds
      • AUTOTEST : Off
      • REPOSITORY LINKS : Enable for Base Image
      • Build rules:
        • Source: master
        • Docker Tag: latest
        • Dockerfile location : Dockerfile_build
        • Build Context : /travis-ci
        • Autobuild : On
        • Build Caching: On
    • Uses /travis-ci/hooks/post_push (See setting for Build Context location)
  • travis-ci.com

    • General
      • Build pushed branches : On
      • Build pushed pull requests : On
      • Limit concurrent jobs : Off
    • Auto cancellation
      • Auto cancel branch builds : Off
      • Auto cancel pull request builds : Off

Known issues in C# Jupyter Notebooks

  • Main() is not called automatically. Has to be called manual. Remember 'public' in the function definition.
  • Console.ReadKey() should not be used.
  • using static System.Math; When importing Math, static has to included in the using command