Changelog

ICOS Jupyter environments are a family of purpose-built images that share a common icosbase base image:

Both build on icosbase:0.1.1.

icosbase 0.1.1

(08/06/2026)

  • Move off the 2022 jupyter/datascience-notebook Docker Hub pin used by 0.1.0 onto a 2026 quay.io base
  • Drop the full TeX Live install, the extra R packages, the qgrid2 extension, and the legacy kernel; ship a single Python kernel
  • Trim requirements to only what ICOS notebooks need beyond the base image (12 mamba and 1 pip package, down from the previous full stack)
  • Install uv by copying it from the official ghcr.io/astral-sh/uv image instead of via pip
  • Replace qgrid2, icos-splash, and the nersc-announcements fork with the ICOS JupyterLab extensions from ICOS-Carbon-Portal/jupyterlab-extensions
  • Pin the ICOS libraries icoscp 0.2.3 and icoscp_stilt 0.1.4, bump icoscp_core to 0.3.12, and add fluxie
  • Add zarr 2.18.7, plotly 6.8.0, pydap 3.5.9, and jupyter-resource-usage 1.2.1 to mamba requirements; install pangaeapy from upstream git
  • Keep the geospatial and visualization stack (cartopy, folium, geoviews, holoviews, xarray) and pangaeapy

icosbase 0.1.0

(26/02/2026)

  • Essentially the same environment as 2.1.0 below (same 2022 base and package stack), published as the first icosbase image under registry.icos-cp.eu/stratos.icosbase
  • Carries the full TeX Live install, the qgrid2 extension, the R packages, and the conda permission fix from the 2.x line
  • Kept deliberately frozen so existing notebooks keep working, which means it is behind on newer Python libraries

Previous images

The entries below track the previous single monolithic image, before the move to the icosbase base plus variants model.

2.1.0

(07/03/2023 - 11/02/2025)

  • Add fluxengine version 4.0.9.1 to pip requirements, pyco2sys version 1.8.3.4 to mamba requirements, and uv utility to docker image installation (11/02/2025)
  • Add rsync utility to docker image installation (06/11/2024)
  • Add itables version 2.2.2 to pip requirements (28/10/2024)
  • Bump icoscp to version 0.2.2 (18/10/2024)
  • Bump icoscp_stilt to version 0.1.3 (18/10/2024)
  • Bump icoscp_core to version 0.3.7 (17/10/2024)
  • Bump icoscp to master branch (05/04/2024)
  • Bump icoscp_core to version 0.3.3 (05/04/2024)
  • Other notebook fixes mentioned here (05/04/2023)
  • Bump icoscp to version 0.1.20 (12/01/2024)
  • Add jupyter-splitview version 0.1.2, jupyterlab_mathjax2 version 4.0.0, and icoscp_core version 0.3.0 to pip requirements (12/01/2024)
  • Bump icoscp to version 0.1.19 (25/07/2023)
  • Add h5netcdf version 1.1.0 to mamba requirements (10/05/2023)
  • Add kaleido version 0.2.1 and cyclebars to the docker image installation (28/04/2023)
  • Update ipywidgets to version 8.0.4 and plotly to version 5.14.1 (13/04/2023)
  • Add zip library to the docker image installation (20/03/2023)
  • Add icos-splash to the docker image installation (07/03/2023)
  • Fork and patch nersc-announcements-extension to resolve TypeScript issues (07/03/2023)
  • Add jupyter-resource-usage to pip requirements (07/03/2023)
  • Add paramiko to pip requirements (07/03/2023)
  • Other notebook fixes mentioned here (07/03/2023)

2.0.1

(15/11/2022)

  • Add PyGeodesy version 22.11.3 library to the docker image installation
  • Add utm version 0.7.0 library to the docker image installation
  • Fix errors caused by cartopy library

2.0.0

(04/11/2022)

  • Jupyter Classic vs JupyterLab
    • Earlier versions of the Jupyter solutions provided by the ICOS Carbon Portal used the Jupyter Classic view.
    • One major advantage of JupyterLab compared to Jupyter Classic is the possibility to work with several notebooks using tabs.
    • The default view of ICOS Carbon Portal has changed to JupyterLab. For users who wish to use the Jupyter Classic view can do so by choosing Launch Classic view in the Help menu. For further reading on JupyterLab we refer to the JupyterLab documentation.
  • Docker image of jupyter/datascience-notebook

1.0.0