GithubHelp home page GithubHelp logo

gpasa / clj-jupyter Goto Github PK

View Code? Open in Web Editor NEW

This project forked from achesnais/clj-jupyter

0.0 0.0 0.0 13 KB

A Clojure Kernel for Jupyter Notebooks

License: Eclipse Public License 1.0

Clojure 98.72% Makefile 1.28%

clj-jupyter's Introduction

CLJ-Jupyter

UPDATE 2017-02-12: I actually won't have time to maintain this project for the foreseeable future. Feel free to fork.

This is a basic implementation of a Clojure kernel for Jupyter. It should in theory support most of what you'd expect of a basic Clojure Jupyter experience.

You can read this if you're wondering why I chose to build my own.

Usage

Vanilla kernel

Navigate to the root of the project and run make to compile the uberjar and set it up in the relevant folder. Unfortunately this process will only work on Macs for now, but I'm happy to take pull requests to implement the process for other OSes.

Once the build/install is done, Jupyter should now offer a Clojure kernel as an option when creating a notebook.

Custom kernel

You can of course add any dependency you want, or add new namespaces to be able to reference them from your notebook.

Outstanding issues

  • I'm still trying to figure out how Kernel restart is supposed to work (currently if you try and use "Restart" from the Jupyter interface, you'll get an error saying the kernel died).

Roadmap

  • Ensure a stable vanilla implementation, compliant with the basic Jupyter messaging protocol.
  • Extend the REPL evaluation to display data in different Jupyter compliant formats (tables, plots, etc.)
  • Develop a lein plugin to allow for any library or project to be turned into a Jupyter kernel.

Inspirations

This project would not have been possible without the work/proof of concept done by Rory Kirchner on his Clojupyter project.

License

Copyright © 2016 Antoine Chesnais

Distributed under the Eclipse Public License version 1.0.

clj-jupyter's People

Contributors

achesnais avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.