All Projects → kokes → Nbviewer.js

kokes / Nbviewer.js

Licence: mit
Client side rendering of Jupyter notebooks

Projects that are alternatives of or similar to Nbviewer.js

Jupyterwith
declarative and reproducible Jupyter environments - powered by Nix
Stars: ✭ 235 (+0%)
Mutual labels:  jupyter-notebook
Lasio
Python library for reading and writing well data using Log ASCII Standard (LAS) files
Stars: ✭ 234 (-0.43%)
Mutual labels:  jupyter-notebook
Jazzml
A (very incomplete) project that combines machine learning with music.
Stars: ✭ 235 (+0%)
Mutual labels:  jupyter-notebook
Datavisualization
Tutorials on visualizing data using python packages like bokeh, plotly, seaborn and igraph
Stars: ✭ 234 (-0.43%)
Mutual labels:  jupyter-notebook
Python Script Examples
This repository contains my python (3) script examples that focus on use cases for Network Engineers.
Stars: ✭ 233 (-0.85%)
Mutual labels:  jupyter-notebook
Jddc solution 4th
2018-JDDC大赛第4名的解决方案
Stars: ✭ 235 (+0%)
Mutual labels:  jupyter-notebook
Pyhessian
PyHessian is a Pytorch library for second-order based analysis and training of Neural Networks
Stars: ✭ 232 (-1.28%)
Mutual labels:  jupyter-notebook
Aleph star
Reinforcement learning with A* and a deep heuristic
Stars: ✭ 235 (+0%)
Mutual labels:  jupyter-notebook
Pyschedule
pyschedule - resource scheduling in python
Stars: ✭ 232 (-1.28%)
Mutual labels:  jupyter-notebook
Book
Deep Learning 101 with PaddlePaddle (『飞桨』深度学习框架入门教程)
Stars: ✭ 2,621 (+1015.32%)
Mutual labels:  jupyter-notebook
Pydqc
python automatic data quality check toolkit
Stars: ✭ 233 (-0.85%)
Mutual labels:  jupyter-notebook
Learning Pyspark
Code repository for Learning PySpark by Packt
Stars: ✭ 233 (-0.85%)
Mutual labels:  jupyter-notebook
Deep learning examples
Examples of using deep learning in Bioinformatics
Stars: ✭ 234 (-0.43%)
Mutual labels:  jupyter-notebook
Web scraping with python
Python 入门爬虫和数据分析实战
Stars: ✭ 234 (-0.43%)
Mutual labels:  jupyter-notebook
Emnlp 2019 Papers
Statistics and Accepted paper list with arXiv link of EMNLP-IJCNLP 2019
Stars: ✭ 236 (+0.43%)
Mutual labels:  jupyter-notebook
Socceraction
Convert existing soccer event stream data to SPADL and value player actions
Stars: ✭ 234 (-0.43%)
Mutual labels:  jupyter-notebook
Drkg
A knowledge graph and a set of tools for drug repurposing
Stars: ✭ 231 (-1.7%)
Mutual labels:  jupyter-notebook
Worldmodels
An implementation of the ideas from this paper https://arxiv.org/pdf/1803.10122.pdf
Stars: ✭ 236 (+0.43%)
Mutual labels:  jupyter-notebook
Youtubeli
Github repo to upload demo files of youtube videos and linkedin
Stars: ✭ 234 (-0.43%)
Mutual labels:  jupyter-notebook
Dlwpt Code
Code for the book Deep Learning with PyTorch by Eli Stevens, Luca Antiga, and Thomas Viehmann.
Stars: ✭ 3,054 (+1199.57%)
Mutual labels:  jupyter-notebook

client side rendering of jupyter notebooks

tl;dr: Render Jupyter notebooks straight in the browser, without a back end converter. Can be used as a library. Or if you're on macOS, you can even fire it up in Quick Look, see ipynb-quicklook.

I often want to read through my Jupyter notebooks, but I rarely have my Jupyter instances running in the right folders. I can't quite use the online nbviewer, because I don't have a public URL for these, so I resort to running dummy Jupyter instances or uploading my file as a one-time gist on Github (one I have to delete thereafter). One last possibility is nbconvert in the command line.

I thought it could be easier and more lightweight. So I hacked together this client side rendering of Jupyter notebooks. All you need is a browser that renders an HTML file (dependent on some JavaScript and CSS, both of which can be inlined). You simply drag and drop an .ipynb file and it renders. It's rather fast and it supports most notebook features. I tried supporting the previous version (v3), since there are tons of examples in this version out there.

Try a live demo

NEW: Rendering Github notebooks

You can now render notebooks hosted on Github. You can copy and paste their URL in the viewer, linked above, or you can save this following link as a bookmark:

javascript:(function(){location.href="https://kokes.github.io/nbviewer.js/viewer.html#"+btoa(location.href);})();

Clicking this while on Github, looking at a notebook, will launch our nbviewer with this notebook rendered here instead. You'll also get a permanent link for you to share.

Usage

There are two ways one can use this. You can use the library itself, there is just a single public method, you call nbv.render(data, target), where data is the JSON representation of your Jupyter notebook and target is the node where the notebook is to be rendered.

Or you can use the demo (or a local copy), which is just a simple wrapper of the library, with dropzones and other basic features. There is no data being transferred anywhere, so feel free to bookmark it and use it.

Tech details

It's rather simple at this point, all the DOM manipulation is written in vanilla JavaScript, Markdown rendering goes through marked.js, syntax highlighting is administered by Prism.js. The example implementation leverages a few goodies from modern web design, like File API or drag&drops, so a fairly modern browser is necessary.

Showcase

screencast

Contact

Drop me an email ([email protected]) or tweet at me (@pndrej) if you have any questions or suggestions. Contributions welcome.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].