From 177229a39d5a60eea0a0d4ef08480f2ceda67144 Mon Sep 17 00:00:00 2001 From: Brendan Rius Date: Sat, 26 Mar 2016 14:54:39 +0000 Subject: [PATCH] Dockerized project :) --- Dockerfile | 8 ++++++++ c_kernel/kernel.py | 3 ++- c_kernel/kernel.json => kernel.json | 4 ++-- setup.py | 9 +++++++++ 4 files changed, 21 insertions(+), 3 deletions(-) create mode 100644 Dockerfile rename c_kernel/kernel.json => kernel.json (85%) create mode 100644 setup.py diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..71e6e21 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,8 @@ +FROM jupyter/minimal-notebook +MAINTAINER Brendan Rius + +USER root + +COPY ./ /home/$NB_USER/.jupyter/jupyter_c_kernel/ +RUN pip install /home/$NB_USER/.jupyter/jupyter_c_kernel/ +RUN jupyter-kernelspec install /home/$NB_USER/.jupyter/jupyter_c_kernel/ \ No newline at end of file diff --git a/c_kernel/kernel.py b/c_kernel/kernel.py index e601c61..eff4640 100644 --- a/c_kernel/kernel.py +++ b/c_kernel/kernel.py @@ -28,6 +28,7 @@ class CKernel(Kernel): """Create a new temp file to be deleted when the kernel shuts down""" # We don't want the file to be deleted when closed, but only when the kernel stops kwargs['delete'] = False + kwargs['mode'] = 'w' file = tempfile.NamedTemporaryFile(**kwargs) self.files.append(file.name) return file @@ -37,7 +38,7 @@ class CKernel(Kernel): """Execute a command and returns the return code, stdout and stderr""" p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE) stdout, stderr = p.communicate() - return p.returncode, stdout, stderr + return p.returncode, stdout.decode('utf-8'), stderr.decode('utf-8') @staticmethod def compile_with_gcc(source_filename, binary_filename): diff --git a/c_kernel/kernel.json b/kernel.json similarity index 85% rename from c_kernel/kernel.json rename to kernel.json index d1df8cf..e27c9ec 100644 --- a/c_kernel/kernel.json +++ b/kernel.json @@ -7,5 +7,5 @@ "{connection_file}" ], "display_name": "C", - "language":"c" -} + "language": "c" +} \ No newline at end of file diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..137f312 --- /dev/null +++ b/setup.py @@ -0,0 +1,9 @@ +from distutils.core import setup + +setup(name='jupyter_c_kernel', + version='1.0', + description='Minimalistic C kernel for Jupyter', + author='Brendan Rius', + author_email='ping@brendan-rius.com', + packages=['c_kernel'], + )