@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