Codepod: A Namespace-Aware, Hierarchical Jupyter for Interactive Development at Scale

01/06/2023
by   Hebi Li, et al.
0

Jupyter is a browser-based interactive development environment that has been popular recently. Jupyter models programs in code blocks, and makes it easy to develop code blocks interactively by running the code blocks and attaching rich media output. However, Jupyter provides no support for module systems and namespaces. Code blocks are linear and live in the global namespace; therefore, it is hard to develop large projects that require modularization in Jupyter. As a result, large-code projects are still developed in traditional text files, and Jupyter is only used as a surface presentation. We present Codepod, a namespace-aware Jupyter that is suitable for interactive development at scale. Instead of linear code blocks, Codepod models code blocks as hierarchical code pods, and provides a simple yet powerful module system for namespace-aware incremental evaluation. Codepod is open source at https://github.com/codepod-io/codepod.

READ FULL TEXT

page 3

page 4

research
06/08/2023

X-COBOL: A Dataset of COBOL Repositories

Despite being proposed as early as 1959, COBOL (Common Business-Oriented...
research
02/12/2020

A Study of Potential Code Borrowing and License Violations in Java Projects on GitHub

With an ever-increasing amount of open source software, the popularity o...
research
07/17/2012

PlotXY: a high quality plotting system for the Herschel Interactive Processing Environment (HIPE), and the astronomical community

The Herschel Interactive Processing Environment (HIPE) was developed by ...
research
02/22/2022

StickyLand: Breaking the Linear Presentation of Computational Notebooks

How can we better organize code in computational notebooks? Notebooks ha...
research
07/12/2020

Visualizing Classification Structure in Deep Neural Networks

We propose a measure to compute class similarity in large-scale classifi...
research
04/08/2021

AutoSVA: Democratizing Formal Verification of RTL Module Interactions

Modern SoC design relies on the ability to separately verify IP blocks r...
research
06/10/2019

BlockSwap: Fisher-guided Block Substitution for Network Compression

The desire to run neural networks on low-capacity edge devices has led t...

Please sign up or login with your details

Forgot password? Click here to reset