Online Jupyter Notebooks
CoCalc's own collaborative, fully compatible and supercharged notebooks.
Jupyter Notebooks made for teaching!
- A sophisticated course management system keeps track of all notebooks of all students. It manages distributing and collecting files as well as grading.
- The Jupyter collaborative whiteboard supports presentations that mix Jupyter cells, mathematical notation, and sketching with a pen and other tools.
- CoCalc's Jupyter Notebooks fully support very flexible automatic grading via nbgrader! The teacher's notebook contains exercise cells for students and test cells, some of which students can also run to get immediate feedback. Once collected, you tell CoCalc to automatically run the full test suite across all student notebooks and tabulate the results.
CoCalc supports many kernels right out of the box: several Python environments, SageMath, R Statistical SoftwareOctave, Julia and many more.
No software setup: 100% online
CoCalc is an online web service where you can run Jupyter notebooks right inside your browser. You can privately share your notebook with your project collaborators – all changes are synchronized in real-time.
You no longer have to worry about setting up your Python environment, installing/updating/maintaining your libraries, or backing up files. CoCalc manages everything for you!
Ready out of the box: Sign up, create a project, create or upload your
*.ipynb
file, and you're ready to go!Collaborative editing
You can share your Jupyter notebooks privately with project collaborators. All modifications are synchronized in real time, where you can see the cursors of others while they edit the document. You are also notified about the presence of collaborators.
Edit text between code cells using markdown or our collaborative rich text editor.
We have extended ipywidgets so that sliders, menus and knobs of interactive widgets are also fully synchronized among all collaborators.
Additionally, the status and results of all computations in the currently running kernel session are also synchronized, because the session runs remotely in CoCalc's cluster.
Together, everyone involved experiences the notebook in the same way.
Feature Overview
The following are some more specific features of Jupyter notebooks in CoCalc.
There is also more comprehensive documentation.
There is also more comprehensive documentation.
TimeTravel
TimeTravel is a powerful feature of the CoCalc platform. It records all your changes in your Jupyter notebook in fine detail. You can go back and forth in time across thousands of changes to see all previous edits.
This allows you to easily recover anything from previous versions of your notebook by copy and pasting.
You can also browse the entire process of creating the notebook from the start. This lets you discover how you arrived at a particular solution and see what you (or your students) tried to get there.
NBGrader: automatically grading assignments
CoCalc's Jupyter Notebooks fully support both automatic and manual grading!
When using NBGrader, the teacher's notebook contains exercise cells for students and test cells, some of which students run to get immediate feedback. Once collected, you tell CoCalc to automatically run the full test suite across all student notebooks and tabulate the results.
Learn more about NBGrader in CoCalc.
ChatGPT fixes code
Use the power of ChatGPT to help fixing errors or to generate code.
In this example, a code cell in a Jupyter Notebook returned an error. Clicking the botton to explain the error message creates a message addressed to ChatGPT, which asks for help and to fix the code.
With enough context – the few lines of input code and the lines in the stacktrace – it will attempt to fix the code for you. The fix might not be perfect, but it can be a good starting point.
Managed Jupyter kernels
CoCalc makes sure that your desired computational environment is available and ready to work with. Select from many pre-installed and fully managed kernels. You can also create your own custom kernel.
Look at our list of available software for more about what is available.
Chat about your Jupyter notebook
A chat to the side of each Jupyter notebook lets you discuss the content of your notebook with colleagues or students. You can drag and drop or paste images and files into chat, use math formulas, and fix typos in messages.
Collaborators who are not online will be notified about new messages the next time they sign in or you can @mention them so they get emailed.
Chat fully supports markdown formatting and formulas.
JupyterLab and Jupyter Classic
CoCalc's Jupyter is a complete rewrite of the classical Jupyter notebook interface and backend server. It is tightly integrated into CoCalc and adds realtime collaboration, TimeTravel history and more. This rewrite does not change the underlying Jupyter notebook file format; you can download your
*.ipynb
file at any time and continue working in another environment.In addition, CoCalc also fully supports running standard JupyterLab (with realtime collaboration enabled) and Jupyter Classic notebook servers from any CoCalc project! You can still use all libraries and extension that might rely on specifics of one of those implementations. Moreover, you can fully use your CoCalc project via the powerful JupyterLab interface!
CoCalc also supports using Jupyter Classic with collaborative editing and chat.
CPU and memory monitoring for each notebook
Long running notebook sessions or intense computations might deplete available CPU or memory resources. This slows down all calculations or even causes an unexpected termination of the current session.
CoCalc's per-notebook CPU and memory indicators helps you to keep an eye on the notebook's memory and CPU consumption.
You can even close your browser during long running computations, and check on the results later. Output will not be lost while your browser is closed.
Backups
Every couple of minutes, all files in your project are saved in consistent readonly snapshots using ZFS.
This means you can recover older versions of your files in case they are corrupted or accidentally deleted.
These backups are complementary to TimeTravel and provide browsable backups of images and data files in addition to the documents you are actively editing.
Publishing your notebooks
CoCalc helps you share your work with the world. It offers its own hosting of shared documents, which includes Jupyter notebooks and any other associated data files.
Under the hood, CoCalc uses a novel renderer which generates a static HTML representation of your notebook (sanitized to prevent XSS attacks) on the server, which includes pre-rendered formulas. This approach is very efficient and lightweight compared to solutions based on nbconvert.
Jupyter notebooks in CoCalc versus the competition
Feature | |||||
---|---|---|---|---|---|
Programming languages | Python, Sage, R, Octave, and many more | Python, R, etc. and customizable | Python 3 | Python 3 | Python 3, Quip |
IPython Widgets | |||||
File sharing between users | |||||
Realtime collaboration: multiple people use the same notebook together | Possible via experimental extension to JupyterLab. | Colab used to have realtime sync, but it ended in 2017, when Google terminated their realtime API product. https://workspaceupdates.googleblog.com/2017/11/committed-to-storage-apis-retiring.html | |||
Persistence | Notebook persists, but data and files do not. | ||||
Large preinstalled software environment | 1500+ Python libraries preinstalled; extensive R, Julia, Octave, and other packages. https://cocalc.com/software/python | Limited | Python3, SQL, Scala, R, and Kotlin kernels; large pre-installed env with top data science packages | 27 featured Python packages https://docs.deepnote.com/environment/pre-installed-packages | |
Paid Plans | Basic - $2 person/month; Pro - scales linearly depending on the resources you need; Pay as you go access to all VM's that Google Cloud offers with uniquely powerful spot instance price discovery https://cocalc.com/store | Free only | Pro - $9.99 person/month; Pro+ - $49.99 person/month https://colab.research.google.com/signup/pricing | Pro - $19.90 person/month; Enterprise - $125 person/month https://www.jetbrains.com/datalore/enterprise/ | Pro - $12 person/month; Enterprise - $99 person / month; plus an additional hourly fee for more powerful compute resources at about 7x the market rate https://deepnote.com/pricing |
Disk space | 3GB/project for free, and can buy up to 65TB disks via compute servers | Ephemeral | Uses your Google Drive storage | Limit of two simultaneously running notebooks | 5GB for free |
Memory | 1GB/project for free, and can buy TB's of RAM via compute servers | Limit of two simultaneously running notebooks | several GB for free | ||
Idle timeout | 30 minutes for free; pay for more | 15 minutes for free; pay for more | |||
Network access | Only for non-free projects; also compute servers provide network access | ||||
Public Google-indexed searchable publishing of files | Paid | ||||
Self hosting | Docker image, Kubernetes Helm charts, on Prem compute servers https://doc.cocalc.com/on-premises.html | Docker image local runtimes https://research.google.com/colaboratory/local-runtimes.html | https://www.jetbrains.com/datalore/enterprise/ | ||
Open source | Partial (noncommercial MS-RSL). Commercial license available. https://github.com/sagemathinc/cocalc | Some components are open https://github.com/googlecolab | Some of their modifications to upstreams projects are open source https://github.com/deepnote | ||
GPUs | YES -- pay as you go via compute servers and on prem https://doc.cocalc.com/compute_server.html | Only when self hosted | Yes, for free and paid. | Datalore Professional and when self-hosted |
These comparisons were made in good faith; however, they may contain errors, since we know CoCalc better and the products are constantly improving. Contact [email protected] if anything looks wrong or incomplete!
Start free today. Upgrade later.