Compatibility Matrix¶
See the list of Carto-Lab Versions and supported features or package versions.
▼Feature or Package - Carto-Lab Docker Version ▶ | 0.13.0 | 0.19.0 | 0.24.2 | 0.28.0 | 1.0.0 |
---|---|---|---|---|---|
Container OS | Debian 11 | Debian 12 | |||
Conda | 23.3.1 | 24.7.1 | 24.11.0 | 25.3.1 | 25.7.0 |
Jupyter Lab | 3.6.3 | 4.2.5 | 4.3.1 | 4.4.2 | 4.4.5 |
Jupyter Server | 2.5.0 | 2.14.2 | 2.15.0 | 2.16.0 | |
Python (Server) | 3.10.10 | 3.12.5 | 3.12.7 | 3.12.10 | 3.13.5 |
Python (worker_env) | 3.9.15 | 3.12.5 | 3.12.7 | 3.13.3 | 3.13.5 |
notebook | 6.5.3 | 6.5.7 | |||
IPython | 8.12.0 | 8.26.0 | 8.29.0 | 9.2.0 | 9.4.0 |
nodejs | / | 22.11.0 | 22.13.0 | v24.4.1 | |
Language Server: jupyterlab-lsp | / | 5.1.0 (x) | 5.2.0 | ||
Language Server: pyright | / | 1.1.389 (x) | 1.1.400 | 1.1.403 | |
Jupyter Real Time collaboration (RTC) | / | 1.16.4 (o) | 4.0.2 (x) | 4.1.0 | |
jupyterlab_widgets | 3.0.7 | 3.0.13 | 3.0.13 | 3.0.15 | |
Jupytext | 1.14.5 | 1.16.4 | 1.17.1 | 1.17.2 | |
Jupyterlab-git | 0.50.1 | 0.50.2 | 0.51.1 | 0.51.2 | |
Spellchecker | 0.7.3 | 0.8.4 | |||
nbextensions | 0.7.0 | ||||
R | / | 4.2.2 | 4.4.1 | ||
Mapnik | 3.1 | ||||
nbconvert | 7.2.10 | 7.16.4 | 7.16.6 | ||
papermill | 2.3.4 | 2.6.0 | |||
geopandas | 0.12.2 | 1.0.1 | 1.1.1 | ||
ipywidgets | 8.0.6 | 8.1.5 | 8.1.7 | ||
matplotlib | 3.7.1 | 3.9.2 | 3.10.1 | 3.10.5 | |
shapely | 1.7.1 | 2.0.6 | 2.1.0 | 2.1.1 | |
pyproj | 3.2.1 | 3.6.1 | 3.7.0 | 3.7.1 | |
pandas | 1.5.3 | 2.2.2 | 2.2.3 | 2.3.1 | |
numpy | 1.22.4 | 1.26.4 | 2.2.5 | 2.2.6 | |
cartopy | 0.20.1 | 0.23.0 | 0.24.0 | 0.25.0 | |
geoviews | 1.9.5 | 1.12.0 | 1.13.0 | 1.14.0 | |
Bokeh | 2.4.3 | 3.4.2 | 3.5.2 | 3.7.2 | 3.7.3 |
Rasterio | 1.2.10 | 1.3.10 | 1.4.2 | 1.4.3 | |
GDAL | 3.3.3 | 3.9.2 | 3.10.0 | 3.10.3 |
/
- Feature not included- (x) - Feature test
- o - Issue or Bug
- Empty: no change
Note
The :r
and :mapnik
container tags have slightly different versions due to dependency pinnings. If
you want the latest Python packages, as shown in the Matrix above, don't use the :r
and :mapnik
container tags.
Generated with tests/get_versions.sh .
#!/bin/bash
# Purpose: Get all important versions from the build Carto-Lab Docker Container
# to be listed in the compatibility matrix
# https://cartolab.fdz.ioer.info/matrix/
# Utility function to get Python package version
get_python_version() {
local env=$1
local pkg=$2
# Special handling for jupyter-collaboration
if [[ "$pkg" == "jupyter-collaboration" ]]; then
docker compose run jupyterlab /opt/conda/envs/${env}/bin/python -c \
"from importlib.metadata import version; print(version('${pkg}'))" 2>/dev/null
else
docker compose run jupyterlab /opt/conda/envs/${env}/bin/python -c \
"import ${pkg}; print(${pkg}.__version__)" 2>/dev/null
fi
}
printf "\nJupyter env package versions: \n\n"
jupyter_packages=(
"notebook"
"IPython"
"jupyterlab_git"
"jupyterlab_lsp"
"pyright"
"jupytext"
"jupyterlab_widgets"
"nbconvert"
"nbclassic"
"papermill"
"jupyterlab_spellchecker"
"jupyter_contrib_nbextensions"
"jupyter-collaboration"
)
for pkg in "${jupyter_packages[@]}"; do
version=$(get_python_version jupyter_env $pkg)
echo "$pkg ${version:-Not Installed}"
done
printf "\nWorker env package versions: \n\n"
worker_packages=(
"geopandas"
"ipywidgets"
"matplotlib"
"shapely"
"pyproj"
"pandas"
"numpy"
"cartopy"
"geoviews"
"bokeh"
"rasterio"
)
for pkg in "${worker_packages[@]}"; do
version=$(get_python_version worker_env $pkg)
echo "$pkg ${version:-Not Installed}"
done
printf "\nGDAL: \n\n"
docker compose run jupyterlab /bin/bash -c "/opt/conda/envs/worker_env/bin/gdalinfo --version"
printf "\nOS: \n\n"
docker compose run jupyterlab /bin/bash -c "cat /etc/*release"
printf "\njupyterlab Python \n\n"
docker compose run -e JUPYTER_PLATFORM_DIRS=1 jupyterlab \
/opt/conda/envs/jupyter_env/bin/python -W ignore::DeprecationWarning -c "import jupyterlab; print(jupyterlab.__version__)"
printf "\njupyter_server \n\n"
docker compose run jupyterlab /opt/conda/envs/jupyter_env/bin/python -c "import jupyter_server; print(jupyter_server.__version__)"
printf "\nworker_env Python \n\n"
docker compose run jupyterlab /opt/conda/envs/worker_env/bin/python --version
printf "\njupyter_env Python \n\n"
docker compose run jupyterlab /opt/conda/envs/jupyter_env/bin/python --version
printf "\nMapnik (requires container tag :mapnik) \n\n"
docker compose run jupyterlab /usr/bin/python3 -c "import mapnik;print(mapnik.paths.__all__)"
# echo "\nR Version (requires container tag :r) \n\n"
# docker compose run jupyterlab ls /opt/conda/envs/r_env/bin/
printf "\nConda version: \n\n"
docker compose run jupyterlab conda --version
printf "\nR Version (requires container tag :r) \n\n"
docker compose run jupyterlab conda run -n r_env Rscript -e 'cat(R.version.string, "\n")'
printf "\nnodejs version \n\n"
# docker compose run jupyterlab bash -c "conda init;conda activate jupyter_env; nodejs"
docker compose run jupyterlab /opt/conda/envs/jupyter_env/bin/node --version
1. To extract versions during development, modify your `.env` and add:
COMPOSE_FILE=docker-compose.build.yml
2. Then use bash tests/get_versions.sh
.
This will output versions from your locally built Docker container.
3. Use an LLM to transpose output into the markdown table
Prompt example
I have a Matrix version table in my doc:
| ▼Feature or Package - Carto-Lab Docker Version ▶ | 0.26.0 | 0.27.1 | | |
| ------------------------------------------------ | --------- | --------- | ----------- | ------------ |
| Container OS | Debian 11 | | | |
| Conda | 23.3.1 | | | |
| Jupyter Lab | 3.6.3 | | | |
| Jupyter Server | 2.5.0 | | | |
| Python (Server) | 3.10.10 | | | |
| Python (worker_env) | 3.9.15 | | | |
| notebook | 6.5.3 | | | |
| IPython | 8.12.0 | | | |
| nodejs | / | | | |
| Language Server: jupyterlab-lsp | / | | | |
| Language Server: pyright | / | | | |
| Jupyter Real Time collaboration (RTC) | / | | | |
| jupyterlab_widgets | 3.0.7 | | | |
| Jupytext | 1.14.5 | | | |
| Jupyterlab-git | | | | |
| Spellchecker | 0.7.3 | | | |
| nbextensions | 0.7.0 | | | |
| R | / | | | |
| Mapnik | 3.1 | | | |
| nbconvert | 7.2.10 | | | |
| papermill | 2.3.4 | | | |
| geopandas | 0.12.2 | | | |
| ipywidgets | 8.0.6 | | | |
| matplotlib | 3.7.1 | | | |
| shapely | 1.7.1 | | | |
| pyproj | 3.2.1 | | | |
| pandas | 1.5.3 | | | |
| numpy | 1.22.4 | | | |
| cartopy | 0.20.1 | | | |
| geoviews | 1.9.5 | | | |
| Bokeh | 2.4.3 | | | |
| Rasterio | 1.2.10 | | | |
I extracted versions for 0.27.1, please use these versions to update the table above:
\```
# paste output from get_versions.sh here
\```