The following software is used by CoCalc under the hood. It’s either installed directly or slightly modified to fit into the infrastructure. Besides that, there is a more detailed and fairly up-to-date list available.

  • SageMath – Sage is an open-source mathematics software system. It is the patron for CoCalc’s former name “SageMathCloud”.
    • Inside Sage, there are a lot of components bundled. Note, they maybe replace existing system-wide software like Python libraries and R. (i.e. there is a difference between sage -R vs. R, sage -ipython vs. ipython/ipython3 and of course, sage -python vs. python/python3.)
  • IPython – This is a shell, a notebook and a distributed computing environment built on top of Python.
  • R Statistical Software – the R-project provides a statistical programming language and a vast plethora of packages on top of it to extend its core functionalities. Installed R packages
  • LaTeX – CoCalc provides the capability to author LaTeX documents online. This is a typesetting system with a focus for high-quality layout and formulas. Besides pdflatex, also other variants like XeTeX and LuaTeX are installed and available.
  • Linux – The famous open-source operating system, which holds together everything. The used variant is Ubuntu.
  • Python – Python is a general purpose programming language. Installed Python packages
  • Julia – programming language for scientific computing. Installed Julia packages


Via the Software Environment selector, you have a little bit control over the software you’re running in your project.

Software Updates

Recent updates to CoCalc’s software stack available in the “Default” environment.


  • Python 3:
    • (upd) pandas 0.24.2: check pandas release notes for changes since 0.23.
    • (new) umap-learn (UMAP example): Uniform Manifold Approximation and Projection (UMAP) is a dimension reduction technique that can be used for visualisation similarly to t-SNE, but also for general non-linear dimension reduction.
  • R:
    • (new) Seurat 3.0.0: A toolkit for quality control, analysis, and exploration of single cell RNA sequencing data. <>
    • (new) bibliometrix <>: An R-Tool for Comprehensive Science Mapping Analysis
  • Software:
    • (new) ttf-mscorefonts Linux package to provide more fonts, primarily for XeLaTeX.
    • (upd) routine Linux package update, including xpra-2.5.1.


  • SageMath 8.7
    • (new) package plot3D in Sage’s R, along with tidyverse and dplyr
  • Anaconda 5:
    • (new) additionally to hoomod blue, freud-1.0.0, fresnel-0.8.0, embree3-3.5.2, and gsd-1.6.1
  • Python 3:
    • (upd) SymPy 1.4
    • (new) Orange 3: Open source machine learning and data visualization for novice and expert.
    • (upd) Qiskit related: qiskit-0.8.0, qiskit-aer-0.1.1, qiskit-ignis-0.1.0, qiskit-terra-0.7.1
  • Library:
    • all entries are updated to their latest upstream version
    • adding VQE Playground: gaining intuition about Variational Quantum Eigensolver
  • R:
    • (upd) also updating tidyverse and dplyr


  • SageMath 8.7 is the default sage.
    • You can still use the previous one via sage-8.6, select the appropriate kernel, or switch it in your project by running sage_select 8.6 in a Linux Terminal.
    • SnapPy tests do not pass, I don’t know why …
  • R (R-Project):
    • (upd) bioconductor packages, in particular affy, limma, puma, etc.
  • Python:
  • Software:
    • Spyder IDE 3.3.4 (via X11) and Python 3 deps: PyQt5-sip-4.19.15, pyqt5-5.12.1, pyqtwebengine-5.12.1, qtawesome-0.5.7, qtpy-1.7.0, spyder-kernels-0.4.3, and wurlitzer-1.0.2.
    • VS Code 1.33
    • Gyoto



  • (UI/LaTeX) LaTeX editor: “shell-escape” mode to e.g. draw plots using Gnuplot
  • (UI/Chat) @Mention a project collaborator in a chat to ping her/him via email.
  • (new) ROOT Kernel: ROOT is a modular scientific software toolkit. It provides all the functionalities needed to deal with big data processing, statistical analysis, visualization and storage. ROOT example Jupyter worksheet
  • (new) rclonersync for cloud storage
  • R: installing qdap library and updating a couple of other ones …
  • Python 3: Sphinx 1.8.5
  • Julia 1.1: adding Images and updating various packages like JuMP 0.19!
  • Linux: various package updates, in particular bazel 0.23.2, xpra 2.5, git-lfs 2.7.1, and code 1.32
  • (upd) SageMath Development version 8.7.rc0


  • Python:
  • Software:
    • ts-node to run TypeScript files from the command line more easily
    • updating npm to version 6.9.0
  • Disabling jupyter lab drawio, because it didn’t build correctly





  • (Linux)
    • new: Cantera 2.4.0 for Python 2 and Python 3
    • updates: macaulay2 1.13, bazel 0.22, chrome and firefox, and various other packages
  • (Python3)
    • new: pyfftw 0.11.1, pymp-pypi 0.4.2
    • updates: dask-1.1.1
  • (Node): npm 6.7.0
  • (Julia): making Julia 1.1.0 the default (v1.1.0 release notes) and removing older, no longer maintained versions. Maybe cleanup the build cache, by running rm -rf ~/.julia in the Terminal/Miniterm.
  • (Anaconda 5): various updates to packages
  • (Sage) Development version 8.7 beta 3 (Python 3)


  • (sage): Sage 8.6 is the default! (use sage_select 8.4 to switch back). Enjoy the shorter startup time, which also speeds up compiling SageTeX documents!
    • A Python3 version of Sage 8.6 is also available: sage-8.6-py3 or in a Jupyter Notebook: sagemath-8.6-python3.ipynb. (this is experimental)
  • (py3):
    • new:
      • ipyvolume 0.5.1 (demo notebook, requires the plain jupyter server!)
      • qiskit-chemistry 0.4.2 – a set of tools, algorithms and software to use for quantum chemistry research
      • PySCF – a simple, light-weight, and efficient platform for quantum chemistry calculations
    • updated:
      • pip3 19.0.1
      • qiskit 0.7.2, qiskit-aqua 0.4.1
      • scikit-bio 0.5.5
      • dask 1.1.0
      • nbgrader 0.5.5
      • ipython 6.5.0
      • Cython 0.29.2
      • setuptools 40.6.3
      • tensorboard 1.12.2
      • tmuxp 1.4.2
      • axelrod 4.4.0
  • (R):
    • new:
    • updated: knitr 1.21, ggplot 3.1.0, data.table 1.20.0, dplyr 0.7.8, Rcpp 1.0, rlang 0.3.1, forecast 8.5, psych 1.8.12, plotly 4.8, yaml 2.2
  • (Julia): new: D4M packageDynamic Distributed Dimensional Data Model
  • (node/upd): npm 6.6.0, TypeScript 3.2.4, tslint 5.12.1, forever 0.15.3, CoffeeScript 2.3.2, reveal-md 2.4.1, prettier 1.16.0, tldr 3.2.6, docsify-cli 4.3.0, chromedriver 2.45.0
  • (Linux) various system packages, noteworthy: xpra 2.4.3


  • (new) SageMath version 8.6 (sage-8.6) + Jupyter Kernel available (not the default yet!)

  • (new) Cadabra2 _”a field-theory motivated approach to computer algebra”_ available via cadabra2 or in an X11 desktop as cadabra2-gtk (screenshot)

  • (chg) As announced previously, Julia version 1 is the default now. Symlink ~/bin/julia to julia-0.7 if you need to switch back.

  • (new): Julia 1 packages: SymPy, Combinatorics, UnicodePlots, Bokeh and Nemo

  • (py3):



  • Julia 1.0.3: comes with packages PyPlot, Plots, DifferentialEquations, Compat, LinearAlgebra, GLM, etc. now!
  • Sage development version 8.6.rc0