This article covers an online collaborative notebook for data scientists with interactive coding. Nextjournal is a multi-language notebook with integrated coding environments. The purpose of this tool is to make the documentation of data science easy and quick. It supports Rich Text Format along with various coding environment which you can add within the document as code shells. The best thing about this notebook is that you can run the code within the documents and get the output right below the code. It provides you computation resources which you can use to carry out long and complex computation right inside your document.
In the free-tier, you can create unlimited notebooks with one concurrent computation (up to 4 GB RAM) and limited collaboration. All your drafts would be private and can be read and remixed by everyone when published. Whereas, the paid tier allows you to publish your notebooks to selected people along with unlimited private collaboration. You can also add additional computational resources and self-host or cloud-host your notebooks.
Collaborative Notebook for Data Scientists with Interactive Coding
Nextjournal is an online notebook where you can document your data science research. Currently, it supports the following coding environments which you can use within the documents:
- Minimal Bash
- Python 3
- Python 2
- Python Tensorflow
- Python TFLearn
- Python Keras
- Python PyTorch
- Julia 1.1
On Nextjournal, you can document your research in the form of notebooks. You can create a public or private notebook. The private notebook feature is paid so you are stuck with the public notebook in the free plan. Still, your drafts stay private and only become public when published.
This website provides you a few templates which you can choose and customize to create your book. You can also import notebook from Jupyter, RMarkdown, IPython or via URL.
After creating a notebook, you can start adding your work there. Initially, you get an ADD NEW CONTENT button in the notebook which lets you add various types of content to the notebook including text, image, code, sections, bullet points, formulas, references, and more. Apart from that button, you can hold the mouse cursor at the beginning of the line and tap the + icon to add a specific type of content.
You can add the following types of content to your notebook:
- Code Shell
- Bullet Points
- Bucket Access (S3 / GCS)
- Bulleted List
- Code Cell: Bash
- Code Cell: Clojure
- Code Cell: Julia
- Code Cell: R
- Code Listing
- Embed Video or Tweet
- Import Docker Environment
- Import GitHub Repository
- Numbered List
- Todo List
- Inline Formula
After adding a content type, you can anytime change its properties. Just hover mouse cursor at the beginning of that content and tap the 3-dot icon. From there, you can focus and delete content, add existing text/code, change runtime, hide source, assign name, and the lock the content cell.
Another handy feature of this notebook website it Outline. You can access this feature from the top menu of your current notebook. This feature shows you an outline preview of your document where you can reposition the content cells.
The notebook menu also has an option to add collaborators to the documents. This feature allows you to invite people for collaboration via their email addresses. To collaborate on the document, those people a Nextjournal account.
There is a header at the top of the document which displays the current state of the code execution. This bar has controls to run and stop the code excitation. From here, you can execute a single cell, start a cell by cell execution, or execute all the codes.
After the execution, the header displays the execution time along with logs and add the output along with each code cell. You can also execute each cell separately with the run button present on the code cell.
After finishing the document, you can keep it in the draft as long as you want where it’ll stay private. You can also publish the document on Nextjournal (with a direct link) which makes the document publicly available.
Give Nextjournal a try here.
Nextjournal is a handy notebook tool for data scientists. It makes the documentation of the research simple. The feature to embed the code cell within the document eliminates the need for an IDE to test the code and get the results. Do check it out yourself and share your thoughts with us in the comments.