CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutSign UpSign In
sagemathinc

Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.

GitHub Repository: sagemathinc/cocalc
Path: blob/master/src/packages/jupyter/README.md
Views: 687

@cocalc/jupyter

What this is

Jupyter code in CoCalc. This is used by the frontend, the project and compute.

There is still a lot of Jupyter related code that hasn't been organized yet into this package. It's a refactor-in-progress situation.

Directories

The blobs subdirectory stores large objects, while execute manages code execution. ipynb is for handling ipynb files, and kernel handles kernel enumeration and spawning. nbgrader contains CoCalc's grading tool for Jupyter notebooks, and pool maintains pre-started kernels to reduce waiting time. redux houses actions and stores for Jupyter's notebook doc compatibility. stateless-api implements a stateless code-evaluating API, and util includes miscellaneous Jupyter-related functionalities.

  • blobs: the backend blobstore, where large objects are stored, instead of storing them in the client or sync file.

  • execute: handles execution of code

  • ipynb: handles importing and exporting to the ipynb format. CoCalc uses its own internal jsonlines format.

  • kernel: enumerating and spawning kernels

  • nbgrader: our implementation of nbgrader, especially the backend support

  • pool: manages a pool of prestarted kernels so people often don't have to wait for a kernel to start

  • redux: Redux Actions and Store for jupyter, so we can work with the jupyter notebook doc

  • stateless-api: implements stateless api for evaluating code, which is used e.g., for the share server and in markdown.

  • types: typescript declarations.

  • util: little jupyter related things